Function get_my_assignments

Source
pub async fn get_my_assignments(
    __arg0: State<AppState>,
    __arg1: Extension<AuthUser>,
    __arg2: Query<AssignmentFilterReq>,
) -> impl IntoResponse
Expand description

Retrieves assignments for the currently authenticated user.

Endpoint: GET /my/assignments
Permissions: User must be associated with at least one module (student, tutor, lecturer, assistant)

§Query parameters

  • page → Page number (default: 1)
  • per_page → Number of items per page (default: 20, max: 100)
  • query → Search query in assignment title or module code
  • role → Filter assignments by user role
  • year → Filter assignments by module year
  • status → Filter assignments by assignment status
  • sort → Sort assignments by fields (e.g., due_date,-available_from)

§Responses

  • 200 OK → Assignments retrieved successfully
{
  "success": true,
  "data": {
    "assignments": [ /* Assignment objects */ ],
    "page": 1,
    "per_page": 20,
    "total": 42
  },
  "message": "Assignments retrieved"
}
  • 500 Internal Server Error → Failed to retrieve assignments
{
  "success": false,
  "data": null,
  "message": "Failed to retrieve assignments"
}