Function assignment_routes

Source
pub fn assignment_routes(app_state: AppState) -> Router<AppState>
Expand description

Expects a module ID. If an assignment ID is included it will be modified or deleted.

Builds and returns the /assignments route group.

Routes:

  • POST /assignments → Create a new assignment (requires lecturer)
  • GET /assignments → List assignments
  • DELETE /assignments/bulk → Bulk delete assignments (requires lecturer)
  • PUT /assignments/bulk → Bulk edit assignments (requires lecturer, cannot edit status)
  • GET /assignments/:assignment_id → Get assignment details
  • PUT /assignments/:assignment_id → Edit assignment (requires lecturer, cannot edit status)
  • PUT /assignments/:assignment_id/open → Open assignment (requires lecturer, only if currently Ready, Closed, or Archived)
  • PUT /assignments/:assignment_id/close → Close assignment (requires lecturer, only if currently Open)
  • DELETE /assignments/:assignment_id → Delete assignment (requires lecturer)
  • GET /assignments/:assignment_id/stats → Assignment statistics (lecturer only)
  • GET /assignments/:assignment_id/readiness → Assignment readiness (lecturer or admin only)

Nested routes:

  • Tasks routes → tasks_routes
  • Config routes → config_routes
  • Memo output routes → memo_output_routes
  • Mark allocator routes → mark_allocator_routes
  • Submissions routes → submission_routes
  • Files routes → files_routes
  • Tickets routes → ticket_routes
  • Plagiarism routes → plagiarism_routes