Abuse Reports
API fact source: Django backend generated docs
Why This Module Stays Lightweight
abuse is a lightweight violation-report module. It records and handles reports, but it does not implement complex approval or absorb repair and reservation workflows.
Code entry:
backend/apps/abuse/models/backend/apps/abuse/views/
Permission Semantics
- All endpoints require authentication.
superadmincan view and handle all reports.- Regular users can only view reports they submitted.
Workflow Before Expansion
If multi-role handling is introduced, first decide whether approval state should be modeled explicitly as in borrowings. If reports need auditing, reuse the logs operation-log pattern.
Classroom equipment problems belong to repairs. Putting repair semantics into this module mixes two workflows with different states and permissions.
This module is intentionally thin and has limited permission/logging logic. Add tests before expanding it to avoid accidental DRF-default access behavior.