Expose playlists
- Dominant language
- JavaScript
- Stars
- 77
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
The queries used to generate playlists are often specific to the underlying audio library contents (since they likely depend on specific plugins that were used to import the audio data into the library). Correspondingly, it would make sense to maintain playlist generation logic also within the audio library along with the audio files.
Also, I think it would be beneficial to make playlist serving a core feature of the AURA API (as opposed to implementing that as an extension) so that clients can support playlist browsing consistently.
Thus, I propose to add two new GET endpoints to the AURA API that each return a JSON response:
* `/aura/playlists` to list the available playlists (only their IDs really).
* `/aura/playlists/{id}` to list the tracks contained within a particular playlist (specified by path param) using the same response format as the `/aura/tracks` endpoint.
Example response body of the `/aura/playlists` endpoint:
```json
{
"data": [
{
"id": "id1",
"name": "Jazz",
},
]
}
```
Example response body of the `/aura/playlists/{id}` endpoint:
```json
{
"data": [
{
"title": "Bag's Groove",
"artist": "Miles Davis",
...
},
...
]
}
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the existing /aura/tracks endpoint and its response format. Define how playlist data is exposed through /aura/playlists and /aura/playlists/{id}, then verify that both endpoints return the proposed JSON structures and that the latter lists tracks consistently with /aura/tracks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100