From 30093fd2ec388df10ee79a3b97404f69c2e0c95f Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 25 Jan 2023 20:35:10 +0000 Subject: [PATCH] Quote for notifications --- src/Factory/Api/Mastodon/Notification.php | 5 +++-- src/Factory/Api/Mastodon/Status.php | 2 +- src/Module/Api/Mastodon/Notifications.php | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Factory/Api/Mastodon/Notification.php b/src/Factory/Api/Mastodon/Notification.php index 7a134003bc..52241e1fc8 100644 --- a/src/Factory/Api/Mastodon/Notification.php +++ b/src/Factory/Api/Mastodon/Notification.php @@ -47,11 +47,12 @@ class Notification extends BaseFactory /** * @param Notifications\Entity\Notification $Notification + * @param bool $display_quote Display quoted posts * * @return MstdnNotification * @throws UnexpectedNotificationTypeException */ - public function createFromNotification(Notifications\Entity\Notification $Notification): MstdnNotification + public function createFromNotification(Notifications\Entity\Notification $Notification, bool $display_quotes): MstdnNotification { $type = self::getType($Notification); if (empty($type)) { @@ -62,7 +63,7 @@ class Notification extends BaseFactory if ($Notification->targetUriId) { try { - $status = $this->mstdnStatusFactory->createFromUriId($Notification->targetUriId, $Notification->uid); + $status = $this->mstdnStatusFactory->createFromUriId($Notification->targetUriId, $Notification->uid, $display_quotes); } catch (\Throwable $th) { $status = null; } diff --git a/src/Factory/Api/Mastodon/Status.php b/src/Factory/Api/Mastodon/Status.php index ad2d9bab35..1409a7ab2f 100644 --- a/src/Factory/Api/Mastodon/Status.php +++ b/src/Factory/Api/Mastodon/Status.php @@ -87,7 +87,7 @@ class Status extends BaseFactory * @throws HTTPException\InternalServerErrorException * @throws ImagickException|HTTPException\NotFoundException */ - public function createFromUriId(int $uriId, int $uid = 0, bool $display_quote = false, bool $reblog = true, bool $in_reply_status = true): \Friendica\Object\Api\Mastodon\Status + public function createFromUriId(int $uriId, int $uid = 0, bool $display_quote, bool $reblog = true, bool $in_reply_status = true): \Friendica\Object\Api\Mastodon\Status { $fields = ['uri-id', 'uid', 'author-id', 'causer-id', 'author-uri-id', 'author-link', 'causer-uri-id', 'post-reason', 'starred', 'app', 'title', 'body', 'raw-body', 'content-warning', 'question-id', 'created', 'network', 'thr-parent-id', 'parent-author-id', 'language', 'uri', 'plink', 'private', 'vid', 'gravity', 'featured', 'has-media', 'quote-uri-id']; diff --git a/src/Module/Api/Mastodon/Notifications.php b/src/Module/Api/Mastodon/Notifications.php index 39c111e925..c46cbe1e60 100644 --- a/src/Module/Api/Mastodon/Notifications.php +++ b/src/Module/Api/Mastodon/Notifications.php @@ -49,7 +49,7 @@ class Notifications extends BaseApi $id = $this->parameters['id']; try { $notification = DI::notification()->selectOneForUser($uid, ['id' => $id]); - System::jsonExit(DI::mstdnNotification()->createFromNotification($notification)); + System::jsonExit(DI::mstdnNotification()->createFromNotification($notification, self::appSupportsQuotes())); } catch (\Exception $e) { DI::mstdnError()->RecordNotFound(); } @@ -134,7 +134,7 @@ class Notifications extends BaseApi foreach($Notifications as $Notification) { try { - $mstdnNotifications[] = DI::mstdnNotification()->createFromNotification($Notification); + $mstdnNotifications[] = DI::mstdnNotification()->createFromNotification($Notification, self::appSupportsQuotes()); self::setBoundaries($Notification->id); } catch (\Exception $e) { // Skip this notification -- 2.39.5