Abuse report API

1. Submit a report (all authenticated users)

POST /api/v1/abuse

Body:

{
  "classroom_id": 121,
  "description": "The classroom appears to be occupied by unauthorized people.",
  "images": []
}

Response:

{
  "code": 0,
  "message": "success",
  "data": {
    "id": 1,
    "classroom_id": 121,
    "classroom": { "id": 121, "building": "5A", "room_number": "203" },
    "description": "The classroom appears to be occupied by unauthorized people.",
    "images": [],
    "status": "open",
    "remark": "",
    "created_at": "2026-04-05T10:00:00+08:00"
  }
}

2. Report List

GET /api/v1/abuse

Permissions:

  • superadmin: view all reports.

  • Other users: view only reports they submitted.

3. Handle a Report (superadmin Only)

PUT /api/v1/abuse/{id}

Body:

{
  "status": "resolved",
  "remark": "Resolved"
}