Open InputUsername opened 3 years ago
Alright, good list - time to get crackin! Targeting to for v0.4.0, right?
Sure, although #2 and #3 are of higher priority (in my opinion).
2 closed now, #4 next priority. I'd say that #4 is a blocker for this issue.
Do you mean #3? Working on that right now, it might take a while because attohttpc doesn't match ureq's API/behavior completely
Oh, derp yeah - #3. GitHub selected the wrong one with the menu...edited.
I've started implementing a few endpoints on the feature/new-endpoints
branch - the "core" endpoints are done.
ListenBrainz and MusicBrainz use the JSPF format to represent playlists (specifically, their own variant which has some extensions), which I've implemented in the raw::jspf
module, so we can use those types for the other playlist endpoints as well.
Pushing this back to a future version so v0.4.0
can be included in the next release of rescrobbled.
I believe GET /1/playlist/(playlist_mbid)
is missing from that list - simple download of a playlist through its mbid.
There is also GET /1/stats/release-group/(release_group_mbid)/listeners
missing.
I have already started implementing it in my own branch
, but I didn't see I needed to be on feature/new-endpoints
so should I move it there or just do the pull request like that?
I'm also waiting on confirmation for the JSON format, so it's not 100% ready yet
@RustyNova016 feature/new-endpoints
is really old at the moment but we're going to rebase it to main, so you should be able to create a PR from your own branch against that branch whenever you are ready :smile:
I'm going to make a it a draft so it can be reviewed, apart from the schema that may need some Option<>
s.
Sadly, other libraries didn't bother implementing it either, so I can't copy from there
No objection for a draft from me.
A large number of new endpoints have been added to the ListenBrainz API since the release of listenbrainz-rs v0.3.0:
Core API Endpoints
GET /1/user/(playlist_user_name)/playlists/collaborator
GET /1/user/(playlist_user_name)/playlists/createdfor
GET /1/user/(user_name)/similar-users
GET /1/user/(user_name)/similar-to/(other_user_name)
GET /1/user/(playlist_user_name)/playlists
Playlists API Endpoints
POST /1/playlist/create
POST /1/playlist/(playlist_mbid)/item/delete
POST /1/playlist/(playlist_mbid)/item/move
POST /1/playlist/(playlist_mbid)/item/add
POST /1/playlist/(playlist_mbid)/item/add/(int: offset)
POST /1/playlist/edit/(playlist_mbid)
POST /1/playlist/(playlist_mbid)/delete
POST /1/playlist/(playlist_mbid)/copy
GET /1/playlist/(playlist_mbid)
Feedback API Endpoints
POST /1/feedback/recording-feedback
GET /1/feedback/recording/(recording_msid)/get-feedback
GET /1/feedback/user/(user_name)/get-feedback-for-recordings
GET /1/feedback/user/(user_name)/get-feedback
Recording Recommendation API Endpoints
GET /1/cf/recommendation/user/(user_name)/recording
Recording Recommendation Feedback API Endpoints
POST /1/recommendation/feedback/submit
POST /1/recommendation/feedback/delete
GET /1/recommendation/feedback/user/(user_name)/recordings
GET /1/recommendation/feedback/user/(user_name)
User Timeline API Endpoints
POST /1/user/(user_name)/timeline-event/create/notification
POST /1/user/(user_name)/timeline-event/create/recording
GET /1/user/(user_name)/feed/events
Social API Endpoints
GET /1/user/(user_name)/followers
GET /1/user/(user_name)/following
POST /1/user/(user_name)/unfollow
POST /1/user/(user_name)/follow
Pinned Recording API Endpoints
POST /1/pin/unpin
POST /1/pin
POST /1/pin/delete/(row_id)
GET /1/(user_name)/pins/following
GET /1/(user_name)/pins
Stats API Endpoints
GET /1/stats/release-group/(release_group_mbid)/listeners