pub async fn get_my_tickets(
__arg0: State<AppState>,
__arg1: Extension<AuthUser>,
__arg2: Query<FilterReq>,
) -> impl IntoResponse
Expand description
Retrieves tickets for the currently authenticated user.
Endpoint: GET /my/tickets
Permissions:
- Students see only their own tickets
- Lecturers and assistants see tickets from other users in modules they are assigned to
§Query parameters
page
→ Page number (default: 1)per_page
→ Number of items per page (default: 20, max: 100)query
→ Search tickets by title, module code, assignment name, and username (staff only)role
→ Filter tickets by user roleyear
→ Filter tickets by module yearstatus
→ Filter tickets by ticket statussort
→ Sort tickets by fields (e.g.,created_at,-updated_at
)
§Responses
200 OK
→ Tickets retrieved successfully
{
"success": true,
"data": {
"tickets": [ /* Ticket objects */ ],
"page": 1,
"per_page": 20,
"total": 42
},
"message": "Tickets retrieved successfully"
}
400 Bad Request
→ Invalid status value
{
"success": false,
"data": null,
"message": "Invalid status value"
}
500 Internal Server Error
→ Failed to retrieve tickets
{
"success": false,
"data": null,
"message": "Failed to retrieve tickets"
}