]> git.mxchange.org Git - friendica.git/blobdiff - static/routes.config.php
API: Support new tag endpoints
[friendica.git] / static / routes.config.php
index 7a86d8d0344e79d381c56530a414bdafd57136ad..522e5ff168a32643f94c352fed0f2da2a0574b5a 100644 (file)
@@ -36,6 +36,7 @@ $profileRoutes = [
        '/contacts/common'                         => [Module\Profile\Common::class,            [R::GET]],
        '/contacts[/{type}]'                       => [Module\Profile\Contacts::class,          [R::GET]],
        '/media'                                   => [Module\Profile\Media::class,             [R::GET]],
+       '/photos'                                  => [Module\Profile\Photos\Index::class,      [R::GET         ]],
        '/photos/upload'                           => [Module\Profile\Photos\Upload::class,     [        R::POST]],
        '/profile'                                 => [Module\Profile\Profile::class,           [R::GET]],
        '/remote_follow'                           => [Module\Profile\RemoteFollow::class,      [R::GET, R::POST]],
@@ -234,10 +235,10 @@ return [
                        '/featured_tags'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST]], // not supported
                        '/featured_tags/{id:\d+}'            => [Module\Api\Mastodon\Unimplemented::class,            [R::DELETE      ]], // not supported
                        '/featured_tags/suggestions'         => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
-                       '/filters'                           => [Module\Api\Mastodon\Filters::class,                  [R::GET         ]], // Dummy, not supported
                        '/filters/{id:\d+}'                  => [Module\Api\Mastodon\Unimplemented::class,            [R::GET, R::POST, R::PUT, R::DELETE]], // not supported
                        '/follow_requests'                   => [Module\Api\Mastodon\FollowRequests::class,           [R::GET         ]],
                        '/follow_requests/{id:\d+}/{action}' => [Module\Api\Mastodon\FollowRequests::class,           [        R::POST]],
+                       '/followed_tags'                     => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // @todo
                        '/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         ]],
@@ -276,7 +277,7 @@ return [
                        '/statuses/{id:\d+}/pin'             => [Module\Api\Mastodon\Statuses\Pin::class,             [        R::POST]],
                        '/statuses/{id:\d+}/unpin'           => [Module\Api\Mastodon\Statuses\Unpin::class,           [        R::POST]],
                        '/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
+                       '/statuses/{id:\d+}/source'          => [Module\Api\Mastodon\Statuses\Source::class,          [R::GET         ]],
                        '/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
@@ -288,6 +289,9 @@ return [
                        '/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
+                       '/tags/{hashtag}'                    => [Module\Api\Mastodon\Tags::class,                     [R::GET         ]],
+                       '/tags/{hashtag}/follow'             => [Module\Api\Mastodon\Tags\Follow::class,              [        R::POST]],
+                       '/tags/{hashtag}/unfollow'           => [Module\Api\Mastodon\Tags\Unfollow::class,            [        R::POST]],
                        '/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         ]],
@@ -300,6 +304,7 @@ return [
                ],
                '/v{version:\d+}' => [
                        '/admin/accounts'                    => [Module\Api\Mastodon\Unimplemented::class,            [R::GET         ]], // not supported
+                       '/filters'                           => [Module\Api\Mastodon\Filters::class,                  [R::GET         ]], // Dummy, 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         ]],
@@ -342,6 +347,10 @@ return [
        '/acctlink'            => [Module\Acctlink::class,     [R::GET]],
        '/apps'                => [Module\Apps::class,         [R::GET]],
        '/attach/{item:\d+}'   => [Module\Attach::class,       [R::GET]],
+
+       // Mastodon route used by Fedifind to follow people who set their Webfinger address in their Twitter bio
+       '/authorize_interaction' => [Module\Contact\Follow::class, [R::GET, R::POST]],
+
        '/babel'               => [Module\Debug\Babel::class,  [R::GET, R::POST]],
        '/debug/ap'            => [Module\Debug\ActivityPubConversion::class,  [R::GET, R::POST]],
 
@@ -549,9 +558,14 @@ return [
                '/{type}/{customsize:\d+}/{nickname_ext}'                  => [Module\Photo::class, [R::GET]],
        ],
 
+       // Kept for backwards-compatibility
+       // @TODO remove by version 2023.12
+       '/photos/{nickname}' => [Module\Profile\Photos\Index::class, [R::GET]],
+
        '/ping'              => [Module\Notifications\Ping::class, [R::GET]],
 
        '/post' => [
+               '/{post_id}/edit'                                          => [Module\Post\Edit::class,       [R::GET         ]],
                '/{post_id}/share'                                         => [Module\Post\Share::class,      [R::GET         ]],
                '/{item_id}/tag/add'                                       => [Module\Post\Tag\Add::class,    [        R::POST]],
                '/{item_id}/tag/remove[/{tag_name}]'                       => [Module\Post\Tag\Remove::class, [R::GET, R::POST]],