package assignments import ( authmw "boostai-backend/internal/middleware" "github.com/gofiber/fiber/v2" ) func RegisterRoutes(app fiber.Router, auth *authmw.AuthMiddleware, h *Handler) { app.Get("/teachers/:teacherId/assignments", auth.RequireTeacherSelf("teacherId"), h.ListAssignmentsByTeacher) app.Get("/students/:studentId/assignments", auth.RequireStudentSelfOrTeacher("studentId"), h.ListAssignmentsForStudent) app.Get("/assignments/:assignmentId", h.GetAssignmentByID) app.Get("/assignments/:assignmentId/questions", h.ListQuestionsForAssignment) app.Get("/assignments/:assignmentId/students/:studentId/questions", auth.RequireStudentSelfOrTeacher("studentId"), h.ListQuestionDetailsForAssignmentStudent) app.Get("/assignments/:assignmentId/students/:studentId/redo-plan", auth.RequireTeacher(), h.GetAssignmentRedoPlan) app.Post("/assignments/:assignmentId/students/:studentId/generate-mixed-questions", auth.RequireTeacher(), h.GenerateMixedStudentQuestions) app.Patch("/assignments/:assignmentId", auth.RequireTeacher(), h.UpdateAssignmentDraft) app.Post("/assignments/:assignmentId/close", auth.RequireTeacher(), h.CloseAssignment) app.Patch("/assignments/:assignmentId/students/:studentId/feedback", auth.RequireTeacher(), h.UpdateAssignmentTeacherFeedback) app.Get("/assignments/:assignmentId/review-summary", auth.RequireTeacher(), h.GetAssignmentReviewSummary) app.Get("/assignments/:assignmentId/review", auth.RequireTeacher(), h.ListAssignmentReviewQueue) app.Post("/assignments", auth.RequireTeacher(), h.CreateAssignment) app.Post("/assignments/:assignmentId/students", auth.RequireTeacher(), h.AssignStudentToAssignment) app.Post("/assignments/:assignmentId/questions", auth.RequireTeacher(), h.AddQuestionToAssignment) }