cyperdark / osu-api-extended

Package for advanced work with "osu" api
MIT License
47 stars 16 forks source link

3.0.0 rewrite #24

Open cyperdark opened 4 months ago

cyperdark commented 4 months ago

Checklist of this PR

REDO: API Endpoints - [x] GET /beatmaps/packs - v2.beatmaps.packs.list()
- [x] GET /beatmaps/packs/{pack} - v2.beatmaps.packs.details()
- [x] GET /beatmaps/lookup (difficulty) - [x] GET /beatmapsets/lookup (set) - [x] POST /beatmaps/{beatmap}/attributes (attributes) - [x] GET /beatmaps (difficulties) - v2.beatmaps.lookup
- [x] GET /beatmaps/{beatmap} (difficulty) - [x] GET /beatmapsets/{beatmapset} (set) - v2.beatmaps.details
- [x] GET /beatmapsets/discussions/posts - v2.beatmaps.discussions.posts
- [x] GET /beatmapsets/discussions/votes - v2.beatmaps.discussions.votes
- [x] GET /beatmapsets/discussions - v2.beatmaps.discussions.list
- [x] GET /beatmapsets/events - v2.beatmaps.events.list
- [x] GET /beatmapsets/{beatmapset}/download (set) - [x] GET /osu/{beatmap} (difficulty) - v2.beatmaps.download
- [x] POST /beatmapsets/{beatmapset}/favourites - v2.beatmaps.actions
- [x] GET /changelog (all) - [x] GET /changelog/{changelog} (lookup) - v2.changelog.list
- [x] GET /changelog/{stream}/{build} - v2.changelog.details
- [x] GET /comments - v2.comments.list
- [x] POST /comments (create) - [x] PUT PATCH /comments/{comment} (edit) - [x] DELETE /comments/{comment} (delete) - [x] POST /comments/{comment}/vote (vote) - [x] DELETE /comments/{comment}/vote (unvote) - v2.comments.actions
- [x] GET /comments/{comment} - v2.comments.details
- [x] GET /forums/topics/{topic} - v2.forums.topics.details
- [x] POST /forums/topics (create) - [x] POST /forums/topics/{topic}/reply (reply) - [x] PUT PATCH /forums/topics/{topic} (edit) (title) - [x] PUT PATCH /forums/posts/{post} (edit) (body) - v2.forums.actions
- [x] GET /search (site) - [x] GET /beatmapsets/search (beatmaps) - v2.search
- [x] GET /seasonal-backgrounds - v2.assets.backgrounds
- [x] GET https://data.ppy.sh/ - v2.assets.dataFiles
- [x] GET /news - v2.news.list
- [x] GET /news/{news} - v2.news.details
- [x] GET /notifications - v2.notifications.list
- [x] POST /notifications/mark-read (readed) - v2.notifications.actions
- [x] GET /rankings/kudosu - [x] GET /rankings/{mode}/{type} - v2.rankings.list
- [x] GET /spotlights - v2.spotlights.list
- [x] GET /beatmaps/{beatmap}/scores - [x] GET /beatmaps/{beatmap}/scores/users/{user} - [x] GET /beatmaps/{beatmap}/scores/users/{user}/all - [x] GET /users/{user}/scores/{type} - [x] GET /beatmaps/{beatmap}/solo-scores - v2.scores.list - "beatmap_leaderboard" | "beatmap_user_all" | "beatmap_user_best" | "top_scores" | "first_places" | "recent"
- [x] GET /scores/{score}/download - [x] GET /scores/{rulesetOrScore}/{score}/download - v2.scores.download
- [x] GET /scores/{rulesetOrScore}/{score?} - [x] GET /scores/{rulesetOrScore} - v2.scores.details
- [x] GET /users/{user}/kudosu - v2.users.kudosu.history
- [x] GET /users/{user}/beatmapsets/{type} - v2.users.beatmaps.list
- [x] GET /users/{user}/recent_activity - v2.users.activity.list
- [x] GET /users/{user}/{mode?} - v2.users.details
- [x] GET /events - v2.users.events
- [x] GET /users - v2.users.list
- [x] GET /wiki/{locale}/{path} - v2.wiki.details
- [x] GET /me/{mode?} - v2.me.details
- [x] GET /friends - v2.me.friends
- [x] GET /me/download-quota-check - v2.me.download_quota
- [x] GET /matches - v2.matches.list
- [x] GET /matches/{match} - v2.matches.details
- [x] POST /chat/new (create_pm) - [ ] POST /chat/channels (create) the same? - [x] POST /chat/ack (keepalive) - [x] POST /chat/channels/{channel}/messages (send) - [x] PUT /chat/channels/{channel}/users/{user} (join) - [x] DELETE /chat/channels/{channel}/users/{user} (leave) - [x] PUT /chat/channels/{channel}/mark-as-read/{message} (readed) - v2.chat.actions
- [x] GET /chat/updates - v2.chat.updates
- [x] GET /chat/channels/{channel}/messages - v2.chat.messages
- [x] GET /chat/channels - v2.chat.channels.list
- [x] GET /chat/presence - v2.chat.list
- [x] GET /chat/channels/{channel} - v2.chat.details

- [x] POST /session/verify (verify) - [x] POST /session/verify/reissue (reissue) - [x] DELETE /oauth/tokens/current (delete) - v2.session.actions
- [x] GET /rooms - v2.rooms.list
- [x] GET /rooms/{room} - v2.rooms.details
- [x] GET /rooms/{room}/leaderboard - v2.rooms.leaderboard
- [ ] POST /rooms - [x] GET /rooms/{room}/playlist/{playlist}/scores/users/{user} - [x] GET /rooms/{room}/playlist/{playlist}/scores - [x] GET /rooms/{room}/playlist/{playlist}/scores/{score}

still underdevelopment - [x] PUT /rooms/{room}/users/{user} - [x] DELETE /rooms/{room}/users/{user}

dont want to add - [x] POST /rooms/{room}/playlist/{playlist}/scores - [x] PUT /rooms/{room}/playlist/{playlist}/scores/{score} | PATCH /rooms/{room}/playlist/{playlist}/scores/{score} - [x] POST /beatmaps/{beatmap}/solo/scores - [x] PUT /beatmaps/{beatmap}/solo/scores/{token} - [x] POST /reports
TODO: Document each function via JSDoc Checklist: - [ ] All documentation links are valid. - [ ] All type links are valid. - [ ] All functions have a usage example.
TODO: Things to do before merging - [ ] Add user auth requirement to all `v2.chat` endpoints. - [ ] Remove duplicates in `v2.chat` - [ ] `v2.chat.list` or `v2.chat.channels.list` - [ ] `v2.chat.actions` or `v2.chat.channels.actions` - [ ] Remove `v2.chat.list` as it has been deprecated since 2022.