29 lines
944 B
Python

from typing import Annotated
from fastapi import APIRouter, Depends
from app.api.dependencies import DatabaseSession, require_permission
from app.models.entities import OperationAudit, UserAccount
from app.schemas.common import ApiResponse
router = APIRouter(prefix="/monitoring", tags=["monitoring"])
@router.post("/risk")
async def monitor_risk(
payload: dict,
session: DatabaseSession,
current_user: Annotated[UserAccount, Depends(require_permission("risk.assess", operate=True))],
) -> ApiResponse[dict]:
session.add(
OperationAudit(
actor_user_id=current_user.id,
actor_emp_no=current_user.emp_no,
action="risk.monitor.add",
resource_type="risk_assessment",
resource_id=str(payload.get("subject_id") or ""),
audit_metadata=payload,
)
)
return ApiResponse(data={"monitored": True, "subject_id": payload.get("subject_id")})