From: Michael Date: Fri, 21 May 2021 18:00:03 +0000 (+0000) Subject: Wrong class path X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=081652e09a3613bc3545b93f0f5df3e7e107327e;p=friendica.git Wrong class path --- diff --git a/src/Module/Api/Mastodon/Conversation.php b/src/Module/Api/Mastodon/Conversation.php deleted file mode 100644 index e87818ac27..0000000000 --- a/src/Module/Api/Mastodon/Conversation.php +++ /dev/null @@ -1,99 +0,0 @@ -. - * - */ - -namespace Friendica\Module\Api\Mastodon; - -use Friendica\Core\System; -use Friendica\Database\DBA; -use Friendica\DI; -use Friendica\Module\BaseApi; - -/** - * @see https://docs.joinmastodon.org/methods/timelines/conversations/ - */ -class Conversation extends BaseApi -{ - public static function delete(array $parameters = []) - { - self::login(self::SCOPE_WRITE); - $uid = self::getCurrentUserID(); - - if (!empty($parameters['id'])) { - DI::mstdnError()->UnprocessableEntity(); - } - - DBA::delete('conv', ['id' => $parameters['id'], 'uid' => $uid]); - DBA::delete('mail', ['convid' => $parameters['id'], 'uid' => $uid]); - - System::jsonExit([]); - } - - /** - * @param array $parameters - * @throws \Friendica\Network\HTTPException\InternalServerErrorException - */ - public static function rawContent(array $parameters = []) - { - self::login(self::SCOPE_READ); - $uid = self::getCurrentUserID(); - - $request = self::getRequest([ - 'limit' => 20, // Maximum number of results. Defaults to 20. Max 40. - 'max_id' => 0, // Return results older than this ID. Use HTTP Link header to paginate. - 'since_id' => 0, // Return results newer than this ID. Use HTTP Link header to paginate. - 'min_id' => 0, // Return results immediately newer than this ID. Use HTTP Link header to paginate. - ]); - - $params = ['order' => ['id' => true], 'limit' => $request['limit']]; - - $condition = ['uid' => $uid]; - - if (!empty($request['max_id'])) { - $condition = DBA::mergeConditions($condition, ["`id` < ?", $request['max_id']]); - } - - if (!empty($request['since_id'])) { - $condition = DBA::mergeConditions($condition, ["`id` > ?", $request['since_id']]); - } - - if (!empty($request['min_id'])) { - $condition = DBA::mergeConditions($condition, ["`id` > ?", $request['min_id']]); - - $params['order'] = ['id']; - } - - $convs = DBA::select('conv', ['id'], $condition, $params); - - $conversations = []; - - while ($conv = DBA::fetch($convs)) { - $conversations[] = DI::mstdnConversation()->CreateFromConvId($conv['id']); - } - - DBA::close($convs); - - if (!empty($request['min_id'])) { - array_reverse($conversations); - } - - System::jsonExit($conversations); - } -} diff --git a/src/Module/Api/Mastodon/Conversations.php b/src/Module/Api/Mastodon/Conversations.php new file mode 100644 index 0000000000..3b4496a012 --- /dev/null +++ b/src/Module/Api/Mastodon/Conversations.php @@ -0,0 +1,99 @@ +. + * + */ + +namespace Friendica\Module\Api\Mastodon; + +use Friendica\Core\System; +use Friendica\Database\DBA; +use Friendica\DI; +use Friendica\Module\BaseApi; + +/** + * @see https://docs.joinmastodon.org/methods/timelines/conversations/ + */ +class Conversations extends BaseApi +{ + public static function delete(array $parameters = []) + { + self::login(self::SCOPE_WRITE); + $uid = self::getCurrentUserID(); + + if (!empty($parameters['id'])) { + DI::mstdnError()->UnprocessableEntity(); + } + + DBA::delete('conv', ['id' => $parameters['id'], 'uid' => $uid]); + DBA::delete('mail', ['convid' => $parameters['id'], 'uid' => $uid]); + + System::jsonExit([]); + } + + /** + * @param array $parameters + * @throws \Friendica\Network\HTTPException\InternalServerErrorException + */ + public static function rawContent(array $parameters = []) + { + self::login(self::SCOPE_READ); + $uid = self::getCurrentUserID(); + + $request = self::getRequest([ + 'limit' => 20, // Maximum number of results. Defaults to 20. Max 40. + 'max_id' => 0, // Return results older than this ID. Use HTTP Link header to paginate. + 'since_id' => 0, // Return results newer than this ID. Use HTTP Link header to paginate. + 'min_id' => 0, // Return results immediately newer than this ID. Use HTTP Link header to paginate. + ]); + + $params = ['order' => ['id' => true], 'limit' => $request['limit']]; + + $condition = ['uid' => $uid]; + + if (!empty($request['max_id'])) { + $condition = DBA::mergeConditions($condition, ["`id` < ?", $request['max_id']]); + } + + if (!empty($request['since_id'])) { + $condition = DBA::mergeConditions($condition, ["`id` > ?", $request['since_id']]); + } + + if (!empty($request['min_id'])) { + $condition = DBA::mergeConditions($condition, ["`id` > ?", $request['min_id']]); + + $params['order'] = ['id']; + } + + $convs = DBA::select('conv', ['id'], $condition, $params); + + $conversations = []; + + while ($conv = DBA::fetch($convs)) { + $conversations[] = DI::mstdnConversation()->CreateFromConvId($conv['id']); + } + + DBA::close($convs); + + if (!empty($request['min_id'])) { + array_reverse($conversations); + } + + System::jsonExit($conversations); + } +} diff --git a/src/Module/Api/Mastodon/Conversations/Read.php b/src/Module/Api/Mastodon/Conversations/Read.php index d1c349eaac..955ca5c96f 100644 --- a/src/Module/Api/Mastodon/Conversations/Read.php +++ b/src/Module/Api/Mastodon/Conversations/Read.php @@ -19,7 +19,7 @@ * */ -namespace Friendica\Module\Api\Mastodon\Conversation; +namespace Friendica\Module\Api\Mastodon\Conversations; use Friendica\Core\System; use Friendica\Database\DBA; diff --git a/static/routes.config.php b/static/routes.config.php index 80b1aadeb8..4569038a41 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -90,9 +90,9 @@ return [ '/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\Conversation::class, [R::GET ]], - '/conversations/{id:\d+}' => [Module\Api\Mastodon\Conversation::class, [R::DELETE ]], - '/conversations/{id:\d+}/read' => [Module\Api\Mastodon\Conversation\Read::class, [R::POST ]], + '/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 ]],