fraud-detector-api / app /routers /feedback.py
chotam's picture
Deploy fraud detector API
a783939
raw
history blame contribute delete
982 Bytes
from uuid import UUID
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from ..db import crud
from ..deps import get_db, get_device_id
from ..schemas import FeedbackRequest, FeedbackResponse
router = APIRouter(tags=["feedback"])
@router.post("/feedback", response_model=FeedbackResponse)
async def submit_feedback(
payload: FeedbackRequest,
device_id: UUID = Depends(get_device_id),
db: Session = Depends(get_db),
) -> FeedbackResponse:
row = crud.get_analysis(db, analysis_id=payload.analysis_id, device_id=device_id)
if row is None:
raise HTTPException(
status_code=404,
detail={"error": "NOT_FOUND", "message": "Analysis not found"},
)
crud.save_feedback(
db,
analysis_id=payload.analysis_id,
device_id=device_id,
correct=payload.correct,
comment=payload.comment,
)
return FeedbackResponse(analysis_id=payload.analysis_id)