X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FApi%2FMastodon%2FConversations.php;h=c45144c98d31f2f66766befdd54c2b121c3dad53;hb=7f846f153d6abf8ed4c0f9a5b81bd45a6ac8e4a2;hp=3b4496a01234cee08696c393a59b0a469eecc321;hpb=93546ce93de4dc2df693ad049dfcc52fb6771c23;p=friendica.git diff --git a/src/Module/Api/Mastodon/Conversations.php b/src/Module/Api/Mastodon/Conversations.php index 3b4496a012..c45144c98d 100644 --- a/src/Module/Api/Mastodon/Conversations.php +++ b/src/Module/Api/Mastodon/Conversations.php @@ -1,6 +1,6 @@ checkAllowedScope(self::SCOPE_WRITE); $uid = self::getCurrentUserID(); - if (!empty($parameters['id'])) { + if (!empty($this->parameters['id'])) { DI::mstdnError()->UnprocessableEntity(); } - DBA::delete('conv', ['id' => $parameters['id'], 'uid' => $uid]); - DBA::delete('mail', ['convid' => $parameters['id'], 'uid' => $uid]); + DBA::delete('conv', ['id' => $this->parameters['id'], 'uid' => $uid]); + DBA::delete('mail', ['convid' => $this->parameters['id'], 'uid' => $uid]); - System::jsonExit([]); + $this->jsonExit([]); } /** - * @param array $parameters * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function rawContent(array $parameters = []) + protected function rawContent(array $request = []) { - self::login(self::SCOPE_READ); + $this->checkAllowedScope(self::SCOPE_READ); $uid = self::getCurrentUserID(); - $request = self::getRequest([ + $request = $this->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. - ]); + ], $request); $params = ['order' => ['id' => true], 'limit' => $request['limit']]; @@ -84,16 +84,22 @@ class Conversations extends BaseApi $conversations = []; - while ($conv = DBA::fetch($convs)) { - $conversations[] = DI::mstdnConversation()->CreateFromConvId($conv['id']); + try { + while ($conv = DBA::fetch($convs)) { + self::setBoundaries($conv['id']); + $conversations[] = DI::mstdnConversation()->createFromConvId($conv['id']); + } + } catch (NotFoundException $e) { + $this->logErrorAndJsonExit(404, $this->errorFactory->RecordNotFound()); } DBA::close($convs); if (!empty($request['min_id'])) { - array_reverse($conversations); + $conversations = array_reverse($conversations); } - System::jsonExit($conversations); + self::setLinkHeader(); + $this->jsonExit($conversations); } }