"""Teacher feedback API router. POST /ai/v2/teacher-feedback — stores teacher feedback on a prediction for future retraining. """ from fastapi import APIRouter, Depends from app.api.v2.dependencies import get_teacher_feedback_service from app.schemas.teacher_feedback import TeacherFeedbackRequest, TeacherFeedbackResponse from app.services.teacher_feedback_service import TeacherFeedbackService router = APIRouter(prefix="/ai/v2", tags=["feedback"]) @router.post( "/teacher-feedback", response_model=TeacherFeedbackResponse, summary="Submit Teacher Feedback", description=( "Store teacher feedback on a prediction for future retraining. " "Feedback types: accept, edit, reject. " "If feedback_type is 'edit', corrected_label is required." ), ) async def submit_teacher_feedback( request: TeacherFeedbackRequest, service: TeacherFeedbackService = Depends(get_teacher_feedback_service), ) -> TeacherFeedbackResponse: """Store teacher feedback referencing a prediction.""" return service.store_feedback( teacher_id=request.teacher_id, prediction_id=request.prediction_id, feedback_type=request.feedback_type, corrected_label=request.corrected_label, rating=request.rating, comment=request.comment, )