Skip to content

[Feature]: Dispute Evidence Storage API #186

Description

@SudiptaPaul-31

🔍 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions