fix(detection-lifecycle): fix timezone naive/aware mismatch and duplicate technique mapping
Some checks failed
Aegis CI / lint-and-test (push) Has been cancelled

- Replace datetime.now(timezone.utc) with datetime.utcnow() in _now() across
  all three Phase 8 files to match DB DateTime column type (naive UTC)
- Guard POST /assets/{id}/techniques/{tid} against duplicate mappings:
  if mapping already exists, update coverage_type/confidence_level instead
  of inserting a duplicate row

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
kitos
2026-05-19 16:29:04 +02:00
parent 1fe150963c
commit 9a020f97ef
3 changed files with 23 additions and 6 deletions

View File

@@ -2,7 +2,7 @@
import hashlib
import logging
from datetime import datetime, timezone
from datetime import datetime
from typing import Optional
from uuid import UUID
@@ -25,7 +25,7 @@ def _compute_rule_hash(content: str) -> str:
def _now() -> datetime:
return datetime.now(timezone.utc)
return datetime.utcnow()
def create_detection_asset(db: Session, data: dict, user_id: UUID) -> DetectionAsset: