]> git.mxchange.org Git - friendica.git/blobdiff - static/routes.config.php
Improve formatting in routes definition file
[friendica.git] / static / routes.config.php
index f47051e321e3ffa12e135b9998cb5aa646a8f928..cc37a4eff84aef5b26ed8390c8fa03e722f2233d 100644 (file)
@@ -37,6 +37,119 @@ $profileRoutes = [
        '/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]],
+];
+
+$apiRoutes = [
+       '/account' => [
+               '/verify_credentials[.{extension:json|xml|rss|atom}]'      => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+               '/rate_limit_status[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+               '/update_profile[.{extension:json|xml|rss|atom}]'          => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/update_profile_image[.{extension:json|xml|rss|atom}]'    => [Module\Api\Friendica\Index::class,        [        R::POST]],
+       ],
+
+       '/blocks/list[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+       '/conversation/show[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+       '/direct_messages' => [
+               '/all[.{extension:json|xml|rss|atom}]'                     => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+               '/conversation[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+               '/destroy[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Friendica\Index::class,        [R::DELETE, R::POST]],
+               '/new[.{extension:json|xml|rss|atom}]'                     => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/sent[.{extension:json|xml|rss|atom}]'                    => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+       ],
+       '/direct_messages[.{extension:json|xml|rss|atom}]'             => [Module\Api\Friendica\Index::class,        [R::GET, R::POST]],
+
+       '/externalprofile/show[.{extension:json|xml|rss|atom}]'        => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+       '/favorites/create[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [        R::POST]],
+       '/favorites/destroy[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class,        [R::DELETE, R::POST]],
+       '/favorites[.{extension:json|xml|rss|atom}]'                   => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+       '/followers/ids[.{extension:json|xml|rss|atom}]'               => [Module\Api\Twitter\FollowersIds::class,   [R::GET         ]],
+       '/followers/list[.{extension:json|xml|rss|atom}]'              => [Module\Api\Twitter\FollowersList::class,  [R::GET         ]],
+       '/friends/ids[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Twitter\FriendsIds::class,     [R::GET         ]],
+       '/friends/list[.{extension:json|xml|rss|atom}]'                => [Module\Api\Twitter\FriendsList::class,    [R::GET         ]],
+       '/friendships/destroy[.{extension:json|xml|rss|atom}]'         => [Module\Api\Friendica\Index::class,        [        R::POST]],
+       '/friendships/incoming[.{extension:json|xml|rss|atom}]'        => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+
+       '/friendica' => [
+               '/activity/attendmaybe[.{extension:json|xml|rss|atom}]'    => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/attendno[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/attendyes[.{extension:json|xml|rss|atom}]'      => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/dislike[.{extension:json|xml|rss|atom}]'        => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/like[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/unattendmaybe[.{extension:json|xml|rss|atom}]'  => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/unattendno[.{extension:json|xml|rss|atom}]'     => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/unattendyes[.{extension:json|xml|rss|atom}]'    => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/undislike[.{extension:json|xml|rss|atom}]'      => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/activity/unlike[.{extension:json|xml|rss|atom}]'         => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/notification/seen[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/notification[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+               '/direct_messages_setseen[.{extension:json|xml|rss|atom}]' => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/direct_messages_search[.{extension:json|xml|rss|atom}]'  => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+               '/events[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Friendica\Events\Index::class, [R::GET         ]],
+               '/group_show[.{extension:json|xml|rss|atom}]'              => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+               '/group_create[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/group_delete[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [R::DELETE      ]],
+               '/group_update[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/profile/show[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Profile\Show::class, [R::GET         ]],
+               '/photoalbum/delete[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Index::class,        [R::DELETE      ]],
+               '/photoalbum/update[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/photos/list[.{extension:json|xml|rss|atom}]'             => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+               '/photo/create[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/photo/delete[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [R::DELETE      ]],
+               '/photo/update[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class,        [        R::POST]],
+               '/photo[.{extension:json|xml|rss|atom}]'                   => [Module\Api\Friendica\Index::class,        [R::GET         ]],
+       ],
+
+       '/gnusocial/config[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       '/gnusocial/version[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       '/help/test[.{extension:json|xml|rss|atom}]'                   => [Module\Api\Friendica\Index::class, [R::GET         ]],
+
+       '/lists' => [
+               '/create[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Friendica\Index::class, [        R::POST]],
+               '/destroy[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Friendica\Index::class, [R::DELETE, R::POST]],
+               '/list[.{extension:json|xml|rss|atom}]'                    => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/ownerships[.{extension:json|xml|rss|atom}]'              => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/statuses[.{extension:json|xml|rss|atom}]'                => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/subscriptions[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/update[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Friendica\Index::class, [        R::POST]],
+       ],
+
+       '/media/upload[.{extension:json|xml|rss|atom}]'                => [Module\Api\Friendica\Index::class, [        R::POST]],
+       '/media/metadata/create[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Index::class, [        R::POST]],
+       '/saved_searches/list[.{extension:json|xml|rss|atom}]'         => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       '/search/tweets[.{extension:json|xml|rss|atom}]'               => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       '/search[.{extension:json|xml|rss|atom}]'                      => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       '/statusnet/config[.{extension:json|xml|rss|atom}]'            => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       '/statusnet/conversation[.{extension:json|xml|rss|atom}]'      => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       '/statusnet/conversation/{id:\d+}[.{extension:json|xml|rss|atom}]' => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       '/statusnet/version[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class, [R::GET         ]],
+
+       '/statuses' => [
+               '/destroy[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Friendica\Index::class, [R::DELETE, R::POST]],
+               '/followers[.{extension:json|xml|rss|atom}]'               => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/friends[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/friends_timeline[.{extension:json|xml|rss|atom}]'        => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/home_timeline[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/mediap[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Friendica\Index::class, [        R::POST]],
+               '/mentions[.{extension:json|xml|rss|atom}]'                => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/mentions_timeline[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/networkpublic_timeline[.{extension:json|xml|rss|atom}]'  => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/public_timeline[.{extension:json|xml|rss|atom}]'         => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/replies[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/retweet[.{extension:json|xml|rss|atom}]'                 => [Module\Api\Friendica\Index::class, [        R::POST]],
+               '/show[.{extension:json|xml|rss|atom}]'                    => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/show/{id:\d+}[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/update[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Friendica\Index::class, [        R::POST]],
+               '/update_with_media[.{extension:json|xml|rss|atom}]'       => [Module\Api\Friendica\Index::class, [        R::POST]],
+               '/user_timeline[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       ],
+
+       '/users' => [
+               '/lookup[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/search[.{extension:json|xml|rss|atom}]'                  => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/show[.{extension:json|xml|rss|atom}]'                    => [Module\Api\Friendica\Index::class, [R::GET         ]],
+               '/show/{id:\d+}[.{extension:json|xml|rss|atom}]'           => [Module\Api\Friendica\Index::class, [R::GET         ]],
+       ],
 ];
 
 return [
@@ -57,6 +170,8 @@ return [
        ],
 
        '/api' => [
+               ''     => $apiRoutes,
+               '/1.1' => $apiRoutes,
                '/v1' => [
                        '/accounts'                          => [Module\Api\Mastodon\Unimplemented::class,            [        R::POST]], // not supported
                        '/accounts/{id:\d+}'                 => [Module\Api\Mastodon\Accounts::class,                 [R::GET         ]],
@@ -159,14 +274,6 @@ return [
                '/v{version:\d+}' => [
                        '/search'                            => [Module\Api\Mastodon\Search::class,                   [R::GET         ]],
                ],
-               '/friendica' => [
-                       '/profile/show'                      => [Module\Api\Friendica\Profile\Show::class, [R::GET         ]],
-                       '/events'                            => [Module\Api\Friendica\Events\Index::class, [R::GET         ]],
-               ],
-               '/followers/ids'                         => [Module\Api\Twitter\FollowersIds::class,   [R::GET         ]],
-               '/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
@@ -179,8 +286,9 @@ return [
                '/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::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]],
 
                '/dbsync[/{action}[/{update:\d+}]]' => [Module\Admin\DBSync::class, [R::GET]],
 
@@ -235,10 +343,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]],
@@ -257,6 +366,8 @@ return [
        '/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]],
                '/{nickname}/posts'    => [Module\Feed::class, [R::GET]],
@@ -369,9 +480,18 @@ return [
        '/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}/{customsize}/{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]],
@@ -396,8 +516,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' => [