'/blocks/ids[.{extension:json|xml|rss|atom}]' => [Module\Api\Twitter\Blocks\Ids::class, [R::GET ]],
'/blocks/list[.{extension:json|xml|rss|atom}]' => [Module\Api\Twitter\Blocks\Lists::class, [R::GET ]],
'/conversation/show[.{extension:json|xml|rss|atom}]' => [Module\Api\GNUSocial\Statusnet\Conversation::class, [R::GET ]],
+ '/conversation/show/{id:\d+}[.{extension:json|xml|rss|atom}]' => [Module\Api\GNUSocial\Statusnet\Conversation::class, [R::GET ]],
'/direct_messages' => [
'/all[.{extension:json|xml|rss|atom}]' => [Module\Api\Twitter\DirectMessages\All::class, [R::GET ]],
'/conversation[.{extension:json|xml|rss|atom}]' => [Module\Api\Twitter\DirectMessages\Conversation::class, [R::GET ]],
'/2fa' => [
'[/]' => [Module\Security\TwoFactor\Verify::class, [R::GET, R::POST]],
'/recovery' => [Module\Security\TwoFactor\Recovery::class, [R::GET, R::POST]],
+ '/trust' => [Module\Security\TwoFactor\Trust::class, [R::GET, R::POST]],
+ '/signout' => [Module\Security\TwoFactor\SignOut::class, [R::GET, R::POST]],
],
'/api' => [
'/accounts/{id:\d+}/pin' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
'/accounts/{id:\d+}/unpin' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
'/accounts/{id:\d+}/note' => [Module\Api\Mastodon\Accounts\Note::class, [ R::POST]],
+ '/accounts/{id:\d+}/remove_from_followers' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
+ '/accounts/familiar_followers' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
+ '/accounts/lookup' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
'/accounts/relationships' => [Module\Api\Mastodon\Accounts\Relationships::class, [R::GET ]],
'/accounts/search' => [Module\Api\Mastodon\Accounts\Search::class, [R::GET ]],
'/accounts/update_credentials' => [Module\Api\Mastodon\Accounts\UpdateCredentials::class, [R::PATCH ]],
'/accounts/verify_credentials' => [Module\Api\Mastodon\Accounts\VerifyCredentials::class, [R::GET ]],
'/accounts/{name}' => [Module\Api\Mastodon\Accounts::class, [R::GET ]],
- '/admin/accounts' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
'/admin/accounts/{id:\d+}' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
'/admin/accounts/{id:\d+}/{action}' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
+ '/admin/dimensions' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
+ '/admin/measures' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
+ '/admin/retention' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
+ '/admin/trends/links' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
+ '/admin/trends/statuses' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
+ '/admin/trends/tags' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
'/admin/reports' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
'/admin/reports/{id:\d+}' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
'/admin/reports/{id:\d+}/{action}' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
'/custom_emojis' => [Module\Api\Mastodon\CustomEmojis::class, [R::GET ]],
'/domain_blocks' => [Module\Api\Mastodon\Unimplemented::class, [R::GET, R::POST, R::DELETE]], // not supported
'/directory' => [Module\Api\Mastodon\Directory::class, [R::GET ]],
+ '/emails/confirmations' => [Module\Api\Mastodon\Unimplemented::class, [R::POST ]], // not supported
'/endorsements' => [Module\Api\Mastodon\Endorsements::class, [R::GET ]], // Dummy, not supported
'/favourites' => [Module\Api\Mastodon\Favourited::class, [R::GET ]],
'/featured_tags' => [Module\Api\Mastodon\Unimplemented::class, [R::GET, R::POST]], // not supported
'/instance' => [Module\Api\Mastodon\Instance::class, [R::GET ]],
'/instance/activity' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // @todo
'/instance/peers' => [Module\Api\Mastodon\Instance\Peers::class, [R::GET ]],
- '/instance/rules' => [Module\Api\Mastodon\Instance\Rules::class, [R::GET ]], // not supported
+ '/instance/rules' => [Module\Api\Mastodon\Instance\Rules::class, [R::GET ]],
'/lists' => [Module\Api\Mastodon\Lists::class, [R::GET, R::POST]],
'/lists/{id:\d+}' => [Module\Api\Mastodon\Lists::class, [R::GET, R::PUT, R::DELETE]],
'/lists/{id:\d+}/accounts' => [Module\Api\Mastodon\Lists\Accounts::class, [R::GET, R::POST, R::DELETE]],
- '/markers' => [Module\Api\Mastodon\Markers::class, [R::GET, R::POST]], // Dummy, not supported
- '/media' => [Module\Api\Mastodon\Media::class, [ R::POST]],
+ '/markers' => [Module\Api\Mastodon\Markers::class, [R::GET, R::POST]],
'/media/{id:\d+}' => [Module\Api\Mastodon\Media::class, [R::GET, R::PUT ]],
'/mutes' => [Module\Api\Mastodon\Mutes::class, [R::GET ]],
'/notifications' => [Module\Api\Mastodon\Notifications::class, [R::GET ]],
'/notifications/{id:\d+}' => [Module\Api\Mastodon\Notifications::class, [R::GET ]],
'/notifications/clear' => [Module\Api\Mastodon\Notifications\Clear::class, [ R::POST]],
'/notifications/{id:\d+}/dismiss' => [Module\Api\Mastodon\Notifications\Dismiss::class, [ R::POST]],
- '/polls/{id:\d+}' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
+ '/polls/{id:\d+}' => [Module\Api\Mastodon\Polls::class, [R::GET ]],
'/polls/{id:\d+}/votes' => [Module\Api\Mastodon\Unimplemented::class, [ R::POST]], // not supported
'/preferences' => [Module\Api\Mastodon\Preferences::class, [R::GET ]],
'/push/subscription' => [Module\Api\Mastodon\PushSubscription::class, [R::GET, R::POST, R::PUT, R::DELETE]],
'/scheduled_statuses' => [Module\Api\Mastodon\ScheduledStatuses::class, [R::GET ]],
'/scheduled_statuses/{id:\d+}' => [Module\Api\Mastodon\ScheduledStatuses::class, [R::GET, R::PUT, R::DELETE]],
'/statuses' => [Module\Api\Mastodon\Statuses::class, [ R::POST]],
- '/statuses/{id:\d+}' => [Module\Api\Mastodon\Statuses::class, [R::GET, R::DELETE]],
+ '/statuses/{id:\d+}' => [Module\Api\Mastodon\Statuses::class, [R::GET, R::PUT, R::DELETE]],
'/statuses/{id:\d+}/card' => [Module\Api\Mastodon\Statuses\Card::class, [R::GET ]],
'/statuses/{id:\d+}/context' => [Module\Api\Mastodon\Statuses\Context::class, [R::GET ]],
'/statuses/{id:\d+}/reblogged_by' => [Module\Api\Mastodon\Statuses\RebloggedBy::class, [R::GET ]],
'/statuses/{id:\d+}/unmute' => [Module\Api\Mastodon\Statuses\Unmute::class, [ R::POST]],
'/statuses/{id:\d+}/pin' => [Module\Api\Mastodon\Statuses\Pin::class, [ R::POST]],
'/statuses/{id:\d+}/unpin' => [Module\Api\Mastodon\Statuses\Unpin::class, [ R::POST]],
- '/streaming' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]],
- '/suggestions' => [Module\Api\Mastodon\Suggestions::class, [R::GET ]],
+ '/statuses/{id:\d+}/history' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/statuses/{id:\d+}/source' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/direct' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/hashtag' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/hashtag/local' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/health' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/list' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/public' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/public/local' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/public/remote' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/user' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/streaming/user/notification' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
'/suggestions/{id:\d+}' => [Module\Api\Mastodon\Unimplemented::class, [R::DELETE ]], // not implemented
'/timelines/direct' => [Module\Api\Mastodon\Timelines\Direct::class, [R::GET ]],
'/timelines/home' => [Module\Api\Mastodon\Timelines\Home::class, [R::GET ]],
'/timelines/public' => [Module\Api\Mastodon\Timelines\PublicTimeline::class, [R::GET ]],
'/timelines/tag/{hashtag}' => [Module\Api\Mastodon\Timelines\Tag::class, [R::GET ]],
'/trends' => [Module\Api\Mastodon\Trends::class, [R::GET ]],
+ '/trends/links' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/trends/statuses' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
+ '/trends/tags' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not implemented
],
'/v{version:\d+}' => [
+ '/admin/accounts' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]], // not supported
+ '/media' => [Module\Api\Mastodon\Media::class, [ R::POST]],
'/search' => [Module\Api\Mastodon\Search::class, [R::GET ]],
+ '/suggestions' => [Module\Api\Mastodon\Suggestions::class, [R::GET ]],
],
'/meta' => [Module\Api\Mastodon\Unimplemented::class, [R::POST ]], // not supported
'/oembed' => [Module\Api\Mastodon\Unimplemented::class, [R::GET ]],
'/addons/{addon}' => [Module\Admin\Addons\Details::class, [R::GET, R::POST]],
- '/blocklist/contact' => [Module\Admin\Blocklist\Contact::class, [R::GET, R::POST]],
- '/blocklist/server' => [Module\Admin\Blocklist\Server\Index::class, [R::GET, R::POST]],
- '/blocklist/server/add' => [Module\Admin\Blocklist\Server\Add::class, [R::GET, R::POST]],
+ '/blocklist/contact' => [Module\Admin\Blocklist\Contact::class, [R::GET, R::POST]],
+ '/blocklist/server' => [Module\Admin\Blocklist\Server\Index::class, [R::GET, R::POST]],
+ '/blocklist/server/add' => [Module\Admin\Blocklist\Server\Add::class, [R::GET, R::POST]],
+ '/blocklist/server/import' => [Module\Admin\Blocklist\Server\Import::class, [R::GET, R::POST]],
'/dbsync[/{action}[/{update:\d+}]]' => [Module\Admin\DBSync::class, [R::GET]],
'/attach/{item:\d+}' => [Module\Attach::class, [R::GET]],
'/babel' => [Module\Debug\Babel::class, [R::GET, R::POST]],
'/debug/ap' => [Module\Debug\ActivityPubConversion::class, [R::GET, R::POST]],
+
+ '/blocklist/domain/download' => [Module\Blocklist\Domain\Download::class, [R::GET]],
+
'/bookmarklet' => [Module\Bookmarklet::class, [R::GET]],
'/community[/{content}]' => [Module\Conversation\Community::class, [R::GET]],
'/{id:\d+}/conversations' => [Module\Contact\Conversations::class, [R::GET]],
'/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class, [R::GET]],
'/{id:\d+}/media' => [Module\Contact\Media::class, [R::GET]],
- '/{id:\d+}/poke' => [Module\Contact\Poke::class, [R::GET, R::POST]],
'/{id:\d+}/posts' => [Module\Contact\Posts::class, [R::GET]],
'/{id:\d+}/revoke' => [Module\Contact\Revoke::class, [R::GET, R::POST]],
'/archived' => [Module\Contact::class, [R::GET]],
'/dirfind' => [Module\Search\Directory::class, [R::GET]],
'/directory' => [Module\Directory::class, [R::GET]],
- '/events/json' => [Module\Events\Json::class, [R::GET]],
+ '/events/json' => [Module\Events\Json::class, [R::GET]],
+
+ '/featured/{nickname}' => [Module\ActivityPub\Featured::class, [R::GET]],
'/feed' => [
'/{nickname}' => [Module\Feed::class, [R::GET]],
'/{type:users}/{guid}' => [Module\Diaspora\Receive::class, [ R::POST]],
],
+ '/security' => [
+ '/password_too_long' => [Module\Security\PasswordTooLong::class, [R::GET, R::POST]],
+ ],
+
'/settings' => [
+ '[/]' => [Module\Settings\Account::class, [R::GET, R::POST]],
+ '/account' => [
+ '[/]' => [Module\Settings\Account::class, [R::GET, R::POST]],
+ '/{open}' => [Module\Settings\Account::class, [R::GET, R::POST]],
+ ],
'/2fa' => [
'[/]' => [Module\Settings\TwoFactor\Index::class, [R::GET, R::POST]],
'/recovery' => [Module\Settings\TwoFactor\Recovery::class, [R::GET, R::POST]],