feat(scoring): composite recency decay and severity weights persisted in DB [FASE-5.1]
This commit is contained in:
@@ -113,6 +113,8 @@ class ScoringConfigUpdate(BaseModel):
|
||||
tests: Optional[float] = None
|
||||
detection_rules: Optional[float] = None
|
||||
d3fend: Optional[float] = None
|
||||
recency: Optional[float] = None
|
||||
severity: Optional[float] = None
|
||||
freshness: Optional[float] = None
|
||||
platform_diversity: Optional[float] = None
|
||||
|
||||
@@ -134,8 +136,11 @@ def update_scoring_config(
|
||||
tests=payload.tests,
|
||||
detection_rules=payload.detection_rules,
|
||||
d3fend=payload.d3fend,
|
||||
recency=payload.recency,
|
||||
severity=payload.severity,
|
||||
freshness=payload.freshness,
|
||||
platform_diversity=payload.platform_diversity,
|
||||
updated_by=current_user.id,
|
||||
)
|
||||
uow.commit()
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ from app.services.snapshot_service import (
|
||||
create_snapshot,
|
||||
compare_snapshots,
|
||||
cleanup_old_snapshots,
|
||||
get_coverage_evolution,
|
||||
serialize_snapshot_summary,
|
||||
list_snapshots as list_snapshots_svc,
|
||||
get_snapshot_or_raise,
|
||||
@@ -82,6 +83,21 @@ def create_snapshot_endpoint(
|
||||
return serialize_snapshot_summary(snapshot)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# GET /snapshots/evolution — Coverage trend over time
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
@router.get("/evolution")
|
||||
def coverage_evolution(
|
||||
months: int = Query(12, ge=1, le=36),
|
||||
db: Session = Depends(get_db),
|
||||
current_user: User = Depends(get_current_user),
|
||||
):
|
||||
"""Return coverage snapshots for trend charts (last *months* months)."""
|
||||
return get_coverage_evolution(db, months=months)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# GET /snapshots/compare — Compare two snapshots
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user