fix(api): F821-Regression (Extract-Service-Halb-Refactor) — 7 Route-Dateien #44
@@ -162,7 +162,7 @@ async def update_ai_system(
|
|||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""Update an AI system."""
|
"""Update an AI system."""
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
|
|
||||||
system = db.query(AISystemDB).filter(AISystemDB.id == system_id).first()
|
system = db.query(AISystemDB).filter(AISystemDB.id == system_id).first()
|
||||||
if not system:
|
if not system:
|
||||||
@@ -226,7 +226,7 @@ async def assess_ai_system(
|
|||||||
db: Session = Depends(get_db),
|
db: Session = Depends(get_db),
|
||||||
):
|
):
|
||||||
"""Run AI Act risk assessment for an AI system."""
|
"""Run AI Act risk assessment for an AI system."""
|
||||||
from datetime import datetime
|
from datetime import datetime, timezone
|
||||||
|
|
||||||
system = db.query(AISystemDB).filter(AISystemDB.id == system_id).first()
|
system = db.query(AISystemDB).filter(AISystemDB.id == system_id).first()
|
||||||
if not system:
|
if not system:
|
||||||
|
|||||||
@@ -47,6 +47,8 @@ from compliance.services.canonical_control_service import (
|
|||||||
_control_row, # re-exported for legacy test imports
|
_control_row, # re-exported for legacy test imports
|
||||||
)
|
)
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
router = APIRouter(prefix="/v1/canonical", tags=["canonical-controls"])
|
router = APIRouter(prefix="/v1/canonical", tags=["canonical-controls"])
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ Endpoints:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from datetime import datetime, date, timedelta
|
from datetime import datetime, date, timedelta, timezone
|
||||||
from calendar import month_abbr
|
from calendar import month_abbr
|
||||||
from typing import Optional, Dict, Any, List
|
from typing import Optional, Dict, Any, List
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|||||||
@@ -26,10 +26,11 @@ versions). Module-level helpers re-exported for legacy tests.
|
|||||||
import logging
|
import logging
|
||||||
from typing import Any, List, Optional
|
from typing import Any, List, Optional
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, Query
|
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from fastapi.responses import Response
|
from fastapi.responses import Response
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
from sqlalchemy import text
|
||||||
|
|
||||||
from classroom_engine.database import get_db
|
from classroom_engine.database import get_db
|
||||||
from compliance.api._http_errors import translate_domain_errors
|
from compliance.api._http_errors import translate_domain_errors
|
||||||
@@ -484,6 +485,7 @@ async def list_dsfas(
|
|||||||
async def create_dsfa(
|
async def create_dsfa(
|
||||||
request: DSFACreate,
|
request: DSFACreate,
|
||||||
tenant_id: Optional[str] = Query(None),
|
tenant_id: Optional[str] = Query(None),
|
||||||
|
db: Session = Depends(get_db),
|
||||||
service: DSFAService = Depends(get_dsfa_service),
|
service: DSFAService = Depends(get_dsfa_service),
|
||||||
) -> dict[str, Any]:
|
) -> dict[str, Any]:
|
||||||
"""Neue DSFA erstellen."""
|
"""Neue DSFA erstellen."""
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ from fastapi.responses import FileResponse
|
|||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
from classroom_engine.database import get_db
|
from classroom_engine.database import get_db
|
||||||
|
from ..db.models import EvidenceDB
|
||||||
|
|
||||||
from .audit_trail_utils import log_audit_trail
|
from .audit_trail_utils import log_audit_trail
|
||||||
from ..db import (
|
from ..db import (
|
||||||
@@ -310,6 +311,7 @@ async def list_controls_paginated(
|
|||||||
)
|
)
|
||||||
async def get_control(
|
async def get_control(
|
||||||
control_id: str,
|
control_id: str,
|
||||||
|
db: Session = Depends(get_db),
|
||||||
svc: ControlExportService = Depends(get_ctrl_export_service),
|
svc: ControlExportService = Depends(get_ctrl_export_service),
|
||||||
) -> ControlResponse:
|
) -> ControlResponse:
|
||||||
"""Get a specific control by control_id."""
|
"""Get a specific control by control_id."""
|
||||||
@@ -354,6 +356,7 @@ async def get_control(
|
|||||||
async def update_control(
|
async def update_control(
|
||||||
control_id: str,
|
control_id: str,
|
||||||
update: ControlUpdate,
|
update: ControlUpdate,
|
||||||
|
db: Session = Depends(get_db),
|
||||||
svc: ControlExportService = Depends(get_ctrl_export_service),
|
svc: ControlExportService = Depends(get_ctrl_export_service),
|
||||||
) -> ControlResponse:
|
) -> ControlResponse:
|
||||||
"""Update a control."""
|
"""Update a control."""
|
||||||
@@ -443,6 +446,7 @@ async def update_control(
|
|||||||
async def review_control(
|
async def review_control(
|
||||||
control_id: str,
|
control_id: str,
|
||||||
review: ControlReviewRequest,
|
review: ControlReviewRequest,
|
||||||
|
db: Session = Depends(get_db),
|
||||||
svc: ControlExportService = Depends(get_ctrl_export_service),
|
svc: ControlExportService = Depends(get_ctrl_export_service),
|
||||||
) -> ControlResponse:
|
) -> ControlResponse:
|
||||||
"""Mark a control as reviewed with new status."""
|
"""Mark a control as reviewed with new status."""
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Phase 1 Step 4 refactor: handlers delegate to VVTService.
|
|||||||
import logging
|
import logging
|
||||||
from typing import Any, List, Optional
|
from typing import Any, List, Optional
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends, Query, Request
|
from fastapi import APIRouter, Depends, HTTPException, Query, Request
|
||||||
from fastapi.responses import StreamingResponse
|
from fastapi.responses import StreamingResponse
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user