'/.well-known' => [
'/host-meta' => [Module\WellKnown\HostMeta::class, [R::GET]],
- '/nodeinfo[/1.0]' => [Module\NodeInfo::class, [R::GET]],
+ '/nodeinfo' => [Module\WellKnown\NodeInfo::class, [R::GET]],
'/webfinger' => [Module\Xrd::class, [R::GET]],
'/x-social-relay' => [Module\WellKnown\XSocialRelay::class, [R::GET]],
],
'/2fa' => [
- '[/]' => [Module\TwoFactor\Verify::class, [R::GET, R::POST]],
- '/recovery' => [Module\TwoFactor\Recovery::class, [R::GET, R::POST]],
+ '[/]' => [Module\Security\TwoFactor\Verify::class, [R::GET, R::POST]],
+ '/recovery' => [Module\Security\TwoFactor\Recovery::class, [R::GET, R::POST]],
+ ],
+
+ '/api' => [
+ '/v1' => [
+ '/follow_requests' => [Module\Api\Mastodon\FollowRequests::class, [R::GET ]],
+ '/follow_requests/{id:\d+}/{action}' => [Module\Api\Mastodon\FollowRequests::class, [ R::POST]],
+ '/instance' => [Module\Api\Mastodon\Instance::class, [R::GET]],
+ '/instance/peers' => [Module\Api\Mastodon\Instance\Peers::class, [R::GET]],
+ ],
],
'/admin' => [
'/{group:\d+}/add/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]],
'/{group:\d+}/remove/{contact:\d+}' => [Module\Group::class, [R::GET, R::POST]],
],
- '/hashtag' => [Module\Hashtag::class, [R::GET]],
- '/home' => [Module\Home::class, [R::GET]],
- '/help[/{doc:.+}]' => [Module\Help::class, [R::GET]],
- '/inbox[/{nickname}]' => [Module\Inbox::class, [R::GET, R::POST]],
- '/invite' => [Module\Invite::class, [R::GET, R::POST]],
+ '/hashtag' => [Module\Hashtag::class, [R::GET]],
+ '/help[/{doc:.+}]' => [Module\Help::class, [R::GET]],
+ '/home' => [Module\Home::class, [R::GET]],
+ '/hcard/{profile}[/{action}]' => [Module\HoverCard::class, [R::GET]],
+ '/inbox[/{nickname}]' => [Module\Inbox::class, [R::GET, R::POST]],
+ '/invite' => [Module\Invite::class, [R::GET, R::POST]],
'/install' => [
'[/]' => [Module\Install::class, [R::GET, R::POST]],
'/ignore/{id}' => [Module\Item\Ignore::class, [R::GET]],
],
- '/like/{item:\d+}' => [Module\Like::class, [R::GET]],
- '/localtime' => [Module\Debug\Localtime::class, [R::GET, R::POST]],
- '/login' => [Module\Login::class, [R::GET, R::POST]],
- '/logout' => [Module\Logout::class, [R::GET, R::POST]],
- '/magic' => [Module\Magic::class, [R::GET]],
- '/maintenance' => [Module\Maintenance::class, [R::GET]],
- '/manifest' => [Module\Manifest::class, [R::GET]],
- '/modexp/{nick}' => [Module\PublicRSAKey::class, [R::GET]],
- '/newmember' => [Module\Welcome::class, [R::GET]],
- '/nodeinfo/1.0' => [Module\NodeInfo::class, [R::GET]],
- '/nogroup' => [Module\Group::class, [R::GET]],
+ '/like/{item:\d+}' => [Module\Like::class, [R::GET]],
+ '/localtime' => [Module\Debug\Localtime::class, [R::GET, R::POST]],
+ '/login' => [Module\Security\Login::class, [R::GET, R::POST]],
+ '/logout' => [Module\Security\Logout::class, [R::GET, R::POST]],
+ '/magic' => [Module\Magic::class, [R::GET]],
+ '/maintenance' => [Module\Maintenance::class, [R::GET]],
+ '/manifest' => [Module\Manifest::class, [R::GET]],
+ '/modexp/{nick}' => [Module\PublicRSAKey::class, [R::GET]],
+ '/newmember' => [Module\Welcome::class, [R::GET]],
+ '/nodeinfo/{version}' => [Module\NodeInfo::class, [R::GET]],
+ '/nogroup' => [Module\Group::class, [R::GET]],
'/notify' => [
'[/]' => [Module\Notifications\Notify::class, [R::GET]],
'/h2b' => [Module\Oembed::class, [R::GET]],
'/{hash}' => [Module\Oembed::class, [R::GET]],
],
- '/outbox/{owner}' => [Module\Outbox::class, [R::GET]],
- '/owa' => [Module\Owa::class, [R::GET]],
- '/opensearch' => [Module\OpenSearch::class, [R::GET]],
+ '/outbox/{owner}' => [Module\Outbox::class, [R::GET]],
+ '/owa' => [Module\Owa::class, [R::GET]],
+ '/openid' => [Module\Security\OpenID::class, [R::GET]],
+ '/opensearch' => [Module\OpenSearch::class, [R::GET]],
'/photo' => [
'/{name}' => [Module\Photo::class, [R::GET]],
'/verify' => [Module\Settings\TwoFactor\Verify::class, [R::GET, R::POST]],
],
'/delegation[/{action}/{user_id}]' => [Module\Settings\Delegation::class, [R::GET, R::POST]],
+ '/profile' => [
+ '/photo[/new]' => [Module\Settings\Profile\Photo\Index::class, [R::GET, R::POST]],
+ '/photo/crop/{guid}' => [Module\Settings\Profile\Photo\Crop::class, [R::GET, R::POST]],
+ ],
'/userexport[/{action}]' => [Module\Settings\UserExport::class, [R::GET, R::POST]],
],