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)