Skip to content

[Suggestion] Implement sounds routing (upload, list, detail, voting) #6

Description

@Wikijito7

Is your feature request related to a problem? Please describe.
The README marks "Sounds routing" as TODO. The web frontend (ecibot-web) already has an audio upload page (/app/audio-request) and audio detail/list pages planned, but there are no backend endpoints to support them.

Describe the solution you'd like
Implement the following API endpoints under the sounds routing:

  • GET /sounds — List all sounds (with pagination, filters for pending/approved)
  • GET /sound/{id} — Get sound details (name, file URL, uploader, votes)
  • POST /sound — Upload a new sound (multipart audio file + metadata)
  • PUT /sound/{id} — Update sound metadata (name, etc.)
  • DELETE /sound/{id} — Delete a sound
  • POST /sound/{id}/vote — Vote on a sound (thumbs up/down)
  • GET /user/sounds — List sounds uploaded by the authenticated user

Describe alternatives you've considered

  • Embedding audio file serving through a separate static file server
  • Using the Discord bot as a proxy for audio operations

Additional context
The web frontend needs at minimum:

  • Audio upload with drag & drop
  • Pending sounds list with voting
  • Sound detail page with audio player

Media
N/A

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions