Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As noted in #49, I made a list of the endpoints that (at the time) I believed were missing.
After finding some time to sit down and go through the document, I think I've made the relevant adjustments to cover a large number of missing endpoints.
I apologise for the massive wall of text that's about to follow, but it documents where I've got to with filling in the gaps.
Unfortunately, this only covers the REST endpoints, not streaming endpoints. Additionally, these changes lack tests, which is also my fault. However, I didn't feel justified in spamming mastodon.social with test runs. Where possible, I have tested the endpoints manually using botsin.space as a test instance, and using
binding.irb
calls.If there is anything that you would like me to do to aid the closure of #49, I will make it a priority from my perspective so that the gem can get a new release.
I don't typically use GitHub for development, so I also apologise if this is not correct behaviour.
Endpoints I falsely stated were missing
GET
/api/v1/accounts/#{id}/statuses
POST
/api/v1/accounts/#{id}/pin
POST
/api/v1/accounts/#{id}/unpin
GET
/api/v1/suggestions
DELETE
/api/v1/suggestions/#{account_id}
POST
/api/v1/reports
POST
/api/v1/notifications/#{id}/dismiss
Endpoints that I've implemented in the Gem
GET
/api/v1/accounts/#{id}/lists
GET
/api/v1/accounts/#{id}/identity_proofs
GET
/api/v1/favourites
GET
/api/v1/featured_tags
POST
/api/v1/featured_tags
DELETE
/api/v1/featured_tags/#{id}
GET
/api/v1/featured_tags/suggestions
POST
/api/v1/oauth/token
POST
/api/v1/oauth/revoke
GET
/api/v1/polls/#{id}
POST
/api/v1/polls/#{id}/votes
GET
/api/v1/notifications/#{id}
POST
/api/v1/push/subscription
GET
/api/v1/push/subscription
PUT
/api/v1/push/subscription
DELETE
/api/v1/push/subscription
GET
/api/v1/directory
GET
/api/v1/trends
GET
/api/v1/announcements
POST
/api/v1/announcements/#{id}/dismiss
PUT
/api/v1/announcements/#{id}/reactions/#{name}
DELETE
/api/v1/announcements/#{id}/reactions/#{name}
Endpoints I'm not sure about
GET
/api/v1/bookmarks
GET
/api/v1/reports
<string>:<string>:<string>
))GET
/api/v1/preferences
GET
/api/v1/oauth/authorize
File
passed through to request)GET
/api/v1/media/#{id}
Mastodon::MarkerCollection
or similar), with sub-objects ofMastodon::Marker
?)GET
/api/v1/markers
POST
/api/v1/markers
GET
/api/proofs
GET
/api/oembed