Spaces:
Sleeping
Sleeping
| from fastapi import APIRouter, HTTPException | |
| from app.contracts.dtos import AssessmentRequest, Submission, EvaluationResult | |
| from app.container import container | |
| router = APIRouter() | |
| async def generate_assessment(request: AssessmentRequest): | |
| if request.type == "exam": | |
| service = container.get("exam_service") | |
| if not service: | |
| raise HTTPException(status_code=500, detail="Service not ready") | |
| return service.generate_exam(request.learner_id, request.context) | |
| elif request.type == "assignment": | |
| service = container.get("assignment_service") | |
| if not service: | |
| raise HTTPException(status_code=500, detail="Service not ready") | |
| return service.generate_assignment(request.learner_id, request.context) | |
| else: | |
| raise HTTPException(status_code=400, detail="Unsupported assessment type") | |
| async def submit_assessment(submission: Submission): | |
| service = container.get("evaluation_service") | |
| if not service: | |
| raise HTTPException(status_code=500, detail="Service not ready") | |
| return service.evaluate_submission(submission) | |