🔍 Problem Statement
Description
Implement backend APIs for securely managing dispute evidence. This service will allow authorized parties to upload, view, and delete evidence files associated with disputes, while enforcing strict access control and metadata tracking.
Endpoints
-
POST /api/disputes/:id/evidence
Upload new evidence files with description and metadata.
-
GET /api/disputes/:id/evidence
Retrieve the list of evidence items for a given dispute.
-
DELETE /api/disputes/:id/evidence/:evidenceId
Remove a specific evidence item (restricted to authorized roles).
Requirements
- File validation — enforce type, size, and integrity checks before accepting uploads.
- Access control — only authorized parties (dispute participants, moderators) can upload/view/delete evidence.
- Metadata storage — store filename, uploader ID, timestamp, description, and dispute ID.
- Secure file references — evidence files stored securely with references instead of direct paths.
- Audit logging — record all evidence actions (upload, view, delete) for accountability.
- Pagination support — allow efficient retrieval of evidence lists for disputes with many files.
Acceptance Criteria
- ✅ File validation enforced — invalid or oversized files are rejected gracefully.
- ✅ Access control applied — unauthorized users cannot upload, view, or delete evidence.
- ✅ Metadata stored consistently — every evidence item includes uploader, timestamp, and description.
- ✅ Secure references used — direct file paths are never exposed to clients.
- ✅ Audit logs available — all evidence actions are traceable.
- ✅ Pagination works correctly — evidence lists load efficiently without duplication.
📈 Expected Impact
High — Would significantly improve user experience
🔍 Problem Statement
Description
Implement backend APIs for securely managing dispute evidence. This service will allow authorized parties to upload, view, and delete evidence files associated with disputes, while enforcing strict access control and metadata tracking.
Endpoints
POST
/api/disputes/:id/evidenceUpload new evidence files with description and metadata.
GET
/api/disputes/:id/evidenceRetrieve the list of evidence items for a given dispute.
DELETE
/api/disputes/:id/evidence/:evidenceIdRemove a specific evidence item (restricted to authorized roles).
Requirements
Acceptance Criteria
📈 Expected Impact
High — Would significantly improve user experience