aaa / app /api /v2 /teacher_feedback.py
work-sejal
Deploy AI service with FastAPI
70ea7be
Raw
History Blame Contribute Delete
1.32 kB
"""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,
)