Spaces:
Sleeping
Sleeping
| 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"]) | |
| 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) | |