]> git.mxchange.org Git - friendica.git/blobdiff - static/routes.config.php
Merge pull request #10918 from nupplaphil/feat/core_new_paradigm
[friendica.git] / static / routes.config.php
index 580905af9c11b8120fa67e41d110236ed3f60ad6..24fa016179fe45a269012c8037e377c85481c496 100644 (file)
@@ -33,9 +33,11 @@ use Friendica\Module;
 $profileRoutes = [
        ''                                         => [Module\Profile\Index::class,    [R::GET]],
        '/profile'                                 => [Module\Profile\Profile::class,  [R::GET]],
+       '/schedule'                                => [Module\Profile\Schedule::class, [R::GET, R::POST]],
        '/contacts/common'                         => [Module\Profile\Common::class,   [R::GET]],
        '/contacts[/{type}]'                       => [Module\Profile\Contacts::class, [R::GET]],
        '/status[/{category}[/{date1}[/{date2}]]]' => [Module\Profile\Status::class,   [R::GET]],
+       '/media'                                   => [Module\Profile\Media::class,    [R::GET]],
 ];
 
 return [
@@ -60,6 +62,7 @@ return [
                        '/accounts'                          => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
                        '/accounts/{id:\d+}'                 => [Module\Api\Mastodon\Accounts::class,                 [R::GET         ]],
                        '/accounts/{id:\d+}/statuses'        => [Module\Api\Mastodon\Accounts\Statuses::class,        [R::GET         ]],
+                       '/accounts/{id:\d+}/featured_tags'   => [Module\Api\Mastodon\Accounts\FeaturedTags::class,    [R::GET         ]], // Dummy, not supported
                        '/accounts/{id:\d+}/followers'       => [Module\Api\Mastodon\Accounts\Followers::class,       [R::GET         ]],
                        '/accounts/{id:\d+}/following'       => [Module\Api\Mastodon\Accounts\Following::class,       [R::GET         ]],
                        '/accounts/{id:\d+}/lists'           => [Module\Api\Mastodon\Accounts\Lists::class,           [R::GET         ]],
@@ -77,6 +80,7 @@ return [
                        '/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
@@ -87,12 +91,12 @@ return [
                        '/announcements/{id:\d+}/dismiss'    => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
                        '/announcements/{id:\d+}/reactions/{name}' => [Module\Api\Mastodon\Unimplemented::class,      [R::PUT, R::DELETE]], // not supported
                        '/apps'                              => [Module\Api\Mastodon\Apps::class,                     [        R::POST]],
-                       '/apps/verify_credentials'           => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // @todo
+                       '/apps/verify_credentials'           => [Module\Api\Mastodon\Apps\VerifyCredentials::class,   [R::GET         ]],
                        '/blocks'                            => [Module\Api\Mastodon\Blocks::class,                   [R::GET         ]],
                        '/bookmarks'                         => [Module\Api\Mastodon\Bookmarks::class,                [R::GET         ]],
-                       '/conversations'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // @todo
-                       '/conversations/{id:\d+}'            => [Module\Api\Mastodon\Unimplemented::class,            [R::DELETE      ]], // @todo
-                       '/conversations/{id:\d+}/read'       => [Module\Api\Mastodon\Unimplemented::class,            [R::POST        ]], // @todo
+                       '/conversations'                     => [Module\Api\Mastodon\Conversations::class,            [R::GET         ]],
+                       '/conversations/{id:\d+}'            => [Module\Api\Mastodon\Conversations::class,            [R::DELETE      ]],
+                       '/conversations/{id:\d+}/read'       => [Module\Api\Mastodon\Conversations\Read::class,       [R::POST        ]],
                        '/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         ]],
@@ -108,6 +112,7 @@ return [
                        '/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
                        '/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]],
@@ -122,11 +127,13 @@ return [
                        '/polls/{id:\d+}'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
                        '/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]],
                        '/reports'                           => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
-                       '/scheduled_statuses'                => [Module\Api\Mastodon\ScheduledStatuses::class,        [R::GET         ]], // Dummy, not supported
-                       '/scheduled_statuses/{id:\d+}'       => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::PUT, R::DELETE]], // not supported
+                       '/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+}/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+}/favourited_by'   => [Module\Api\Mastodon\Statuses\FavouritedBy::class,    [R::GET         ]],
@@ -140,17 +147,18 @@ return [
                        '/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         ]],
                        '/suggestions/{id:\d+}'              => [Module\Api\Mastodon\Unimplemented::class,            [R::DELETE      ]], // not implemented
-                       '/timelines/direct'                  => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // @todo
+                       '/timelines/direct'                  => [Module\Api\Mastodon\Timelines\Direct::class,         [R::GET         ]],
                        '/timelines/home'                    => [Module\Api\Mastodon\Timelines\Home::class,           [R::GET         ]],
                        '/timelines/list/{id:\d+}'           => [Module\Api\Mastodon\Timelines\ListTimeline::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         ]],
                ],
-               '/v2' => [
-                       '/search'                            => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // @todo
+               '/v{version:\d+}' => [
+                       '/search'                            => [Module\Api\Mastodon\Search::class,                   [R::GET         ]],
                ],
                '/friendica' => [
                        '/profile/show'                      => [Module\Api\Friendica\Profile\Show::class, [R::GET         ]],
@@ -160,6 +168,7 @@ return [
                '/followers/list'                        => [Module\Api\Twitter\FollowersList::class,  [R::GET         ]],
                '/friends/ids'                           => [Module\Api\Twitter\FriendsIds::class,     [R::GET         ]],
                '/friends/list'                          => [Module\Api\Twitter\FriendsList::class,    [R::GET         ]],
+               '/meta'                                  => [Module\Api\Mastodon\Unimplemented::class, [R::POST        ]], // not supported
                '/oembed'                                => [Module\Api\Mastodon\Unimplemented::class, [R::GET         ]],
                '/proofs'                                => [Module\Api\Mastodon\Proofs::class,        [R::GET         ]], // Dummy, not supported
        ],
@@ -191,6 +200,9 @@ return [
 
                '/site' => [Module\Admin\Site::class, [R::GET, R::POST]],
 
+               '/storage'        => [Module\Admin\Storage::class, [R::GET, R::POST]],
+               '/storage/{name}' => [Module\Admin\Storage::class, [        R::POST]],
+
                '/themes'               => [Module\Admin\Themes\Index::class,   [R::GET, R::POST]],
                '/themes/{theme}'       => [Module\Admin\Themes\Details::class, [R::GET, R::POST]],
                '/themes/{theme}/embed' => [Module\Admin\Themes\Embed::class,   [R::GET, R::POST]],
@@ -224,10 +236,11 @@ return [
                '/{id:\d+}/block'             => [Module\Contact::class,           [R::GET]],
                '/{id:\d+}/conversations'     => [Module\Contact::class,           [R::GET]],
                '/{id:\d+}/contacts[/{type}]' => [Module\Contact\Contacts::class,  [R::GET]],
-               '/{id:\d+}/drop'              => [Module\Contact::class,           [R::GET]],
                '/{id:\d+}/ignore'            => [Module\Contact::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::class,           [R::GET]],
+               '/{id:\d+}/revoke'            => [Module\Contact\Revoke::class,    [R::GET, R::POST]],
                '/{id:\d+}/update'            => [Module\Contact::class,           [R::GET]],
                '/{id:\d+}/updateprofile'     => [Module\Contact::class,           [R::GET]],
                '/archived'                   => [Module\Contact::class,           [R::GET]],
@@ -239,11 +252,14 @@ return [
                '/hovercard'                  => [Module\Contact\Hovercard::class, [R::GET]],
        ],
 
-       '/credits'               => [Module\Credits::class,        [R::GET]],
+       '/credits'                  => [Module\Credits::class,          [R::GET]],
+       '/delegation'               => [Module\Delegation::class,       [R::GET, R::POST]],
+       '/dfrn_notify[/{nickname}]' => [Module\DFRN\Notify::class,      [R::POST]],
+       '/dfrn_poll/{nickname}'     => [Module\DFRN\Poll::class,        [R::GET]],
+       '/dirfind'                  => [Module\Search\Directory::class, [R::GET]],
+       '/directory'                => [Module\Directory::class,        [R::GET]],
 
-       '/delegation'=> [Module\Delegation::class,       [R::GET, R::POST]],
-       '/dirfind'   => [Module\Search\Directory::class, [R::GET]],
-       '/directory' => [Module\Directory::class,        [R::GET]],
+       '/events/json'                => [Module\Events\Json::class,        [R::GET]],
 
        '/feed'     => [
                '/{nickname}'          => [Module\Feed::class, [R::GET]],
@@ -259,14 +275,14 @@ return [
                '/status_message/{guid}' => [Module\Diaspora\Fetch::class, [R::GET]],
                '/reshare/{guid}'        => [Module\Diaspora\Fetch::class, [R::GET]],
        ],
-       '/filed'             => [Module\Search\Filed::class,    [R::GET]],
-       '/filer[/{id:\d+}]'  => [Module\Filer\SaveTag::class,   [R::GET]],
-       '/filerm/{id:\d+}'   => [Module\Filer\RemoveTag::class, [R::GET]],
-       '/follow_confirm'    => [Module\FollowConfirm::class,   [R::GET, R::POST]],
-       '/followers/{owner}' => [Module\Followers::class,       [R::GET]],
-       '/following/{owner}' => [Module\Following::class,       [R::GET]],
-       '/friendica[/json]'  => [Module\Friendica::class,       [R::GET]],
-       '/friendica/inbox'   => [Module\Inbox::class,           [R::GET, R::POST]],
+       '/filed'                => [Module\Search\Filed::class,          [R::GET]],
+       '/filer[/{id:\d+}]'     => [Module\Filer\SaveTag::class,         [R::GET]],
+       '/filerm/{id:\d+}'      => [Module\Filer\RemoveTag::class,       [R::GET]],
+       '/follow_confirm'       => [Module\FollowConfirm::class,         [R::GET, R::POST]],
+       '/followers/{nickname}' => [Module\ActivityPub\Followers::class, [R::GET]],
+       '/following/{nickname}' => [Module\ActivityPub\Following::class, [R::GET]],
+       '/friendica[/json]'     => [Module\Friendica::class,             [R::GET]],
+       '/friendica/inbox'      => [Module\ActivityPub\Inbox::class,     [R::GET, R::POST]],
 
        '/fsuggest/{contact:\d+}' => [Module\FriendSuggest::class,  [R::GET, R::POST]],
 
@@ -281,12 +297,12 @@ return [
                '/{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]],
-       '/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]],
+       '/hashtag'                    => [Module\Hashtag::class,           [R::GET]],
+       '/help[/{doc:.+}]'            => [Module\Help::class,              [R::GET]],
+       '/home'                       => [Module\Home::class,              [R::GET]],
+       '/hcard/{profile}[/{action}]' => [Module\HCard::class,             [R::GET]],
+       '/inbox[/{nickname}]'         => [Module\ActivityPub\Inbox::class, [R::GET, R::POST]],
+       '/invite'                     => [Module\Invite::class,            [R::GET, R::POST]],
 
        '/install'         => [
                '[/]'                    => [Module\Install::class, [R::GET, R::POST]],
@@ -341,25 +357,34 @@ return [
                '/token'       => [Module\OAuth\Token::class,       [R::POST]],
        ],
 
-       '/objects/{guid}[/{activity}]' => [Module\Objects::class, [R::GET]],
+       '/objects/{guid}[/{activity}]' => [Module\ActivityPub\Objects::class, [R::GET]],
 
        '/oembed'         => [
                '/b2h'    => [Module\Oembed::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]],
-       '/openid'         => [Module\Security\OpenID::class, [R::GET]],
-       '/opensearch'     => [Module\OpenSearch::class,      [R::GET]],
+       '/outbox/{nickname}' => [Module\ActivityPub\Outbox::class, [R::GET]],
+       '/owa'               => [Module\Owa::class,                [R::GET]],
+       '/openid'            => [Module\Security\OpenID::class,    [R::GET]],
+       '/opensearch'        => [Module\OpenSearch::class,         [R::GET]],
 
        '/parseurl'                           => [Module\ParseUrl::class,          [R::GET]],
        '/permission/tooltip/{type}/{id:\d+}' => [Module\PermissionTooltip::class, [R::GET]],
 
        '/photo' => [
-               '/{name}'                    => [Module\Photo::class, [R::GET]],
-               '/{type}/{name}'             => [Module\Photo::class, [R::GET]],
-               '/{type}/{customize}/{name}' => [Module\Photo::class, [R::GET]],
+               '/{name}'                                                  => [Module\Photo::class, [R::GET]],
+               '/{type}/{id:\d+}'                                         => [Module\Photo::class, [R::GET]],
+               // User Id Fallback, to remove after version 2021.12
+               '/{type}/{uid_ext:\d+\..*}'                                => [Module\Photo::class, [R::GET]],
+               '/{type}/{nickname_ext}'                                   => [Module\Photo::class, [R::GET]],
+               // Contact Id Fallback, to remove after version 2021.12
+               '/{type:contact|header}/{customsize:\d+}/{contact_id:\d+}' => [Module\Photo::class, [R::GET]],
+               '/{type:contact|header}/{customsize:\d+}/{guid}'           => [Module\Photo::class, [R::GET]],
+               '/{type}/{customsize:\d+}/{id:\d+}'                        => [Module\Photo::class, [R::GET]],
+               // User Id Fallback, to remove after version 2021.12
+               '/{type}/{customsize:\d+}/{uid_ext:\d+\..*}'               => [Module\Photo::class, [R::GET]],
+               '/{type}/{customsize:\d+}/{nickname_ext}'                  => [Module\Photo::class, [R::GET]],
        ],
 
        '/pretheme'          => [Module\ThemeDetails::class, [R::GET]],
@@ -384,8 +409,8 @@ return [
        ],
 
        '/receive' => [
-               '/public'       => [Module\Diaspora\Receive::class, [R::POST]],
-               '/users/{guid}' => [Module\Diaspora\Receive::class, [R::POST]],
+               '/{type:public}'       => [Module\Diaspora\Receive::class, [        R::POST]],
+               '/{type:users}/{guid}' => [Module\Diaspora\Receive::class, [        R::POST]],
        ],
 
        '/settings' => [
@@ -424,7 +449,14 @@ return [
        '/tos'                           => [Module\Tos::class,                   [R::GET]],
 
        '/update_community[/{content}]'  => [Module\Update\Community::class,      [R::GET]],
-       '/update_network'                => [Module\Update\Network::class,        [R::GET]],
+
+       '/update_network' => [
+               '[/]'                        => [Module\Update\Network::class, [R::GET]],
+               '/archive/{from:\d\d\d\d-\d\d-\d\d}[/{to:\d\d\d\d-\d\d-\d\d}]' => [Module\Update\Network::class, [R::GET]],
+               '/forum/{contact_id:\d+}'    => [Module\Update\Network::class, [R::GET]],
+               '/group/{group_id:\d+}'      => [Module\Update\Network::class, [R::GET]],
+       ],
+
        '/update_profile'                => [Module\Update\Profile::class,        [R::GET]],
 
        '/view/theme/{theme}/style.pcss' => [Module\Theme::class,                 [R::GET]],