From e5387d6742d3d023f6875ce31faaca0da0cf78cb Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Fri, 3 Dec 2021 20:47:00 -0700 Subject: [PATCH] Add StatusMentionService, fixes #3026 --- app/Services/StatusMentionService.php | 23 +++++++++++++++++++ .../Api/StatusStatelessTransformer.php | 5 ++-- app/Transformer/Api/StatusTransformer.php | 5 ++-- 3 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 app/Services/StatusMentionService.php diff --git a/app/Services/StatusMentionService.php b/app/Services/StatusMentionService.php new file mode 100644 index 000000000..6b27149c9 --- /dev/null +++ b/app/Services/StatusMentionService.php @@ -0,0 +1,23 @@ +get() + ->map(function($mention) { + return AccountService::get($mention->profile_id); + })->filter(function($mention) { + return $mention; + }) + ->values() + ->toArray(); + } +} diff --git a/app/Transformer/Api/StatusStatelessTransformer.php b/app/Transformer/Api/StatusStatelessTransformer.php index 5dbca96b2..91ed1484b 100644 --- a/app/Transformer/Api/StatusStatelessTransformer.php +++ b/app/Transformer/Api/StatusStatelessTransformer.php @@ -11,6 +11,7 @@ use App\Services\MediaService; use App\Services\MediaTagService; use App\Services\StatusHashtagService; use App\Services\StatusLabelService; +use App\Services\StatusMentionService; use App\Services\ProfileService; use App\Services\PollService; @@ -35,7 +36,7 @@ class StatusStatelessTransformer extends Fractal\TransformerAbstract 'created_at' => $status->created_at->format('c'), 'emojis' => [], 'reblogs_count' => 0, - 'favourites_count' => 0, + 'favourites_count' => $status->likes_count ?? 0, 'reblogged' => null, 'favourited' => null, 'muted' => null, @@ -48,7 +49,7 @@ class StatusStatelessTransformer extends Fractal\TransformerAbstract ], 'language' => null, 'pinned' => null, - 'mentions' => [], + 'mentions' => StatusMentionService::get($status->id), 'tags' => [], 'pf_type' => $status->type ?? $status->setType(), 'reply_count' => (int) $status->reply_count, diff --git a/app/Transformer/Api/StatusTransformer.php b/app/Transformer/Api/StatusTransformer.php index 1aca5398d..1ac8a700b 100644 --- a/app/Transformer/Api/StatusTransformer.php +++ b/app/Transformer/Api/StatusTransformer.php @@ -12,6 +12,7 @@ use App\Services\MediaService; use App\Services\MediaTagService; use App\Services\StatusHashtagService; use App\Services\StatusLabelService; +use App\Services\StatusMentionService; use App\Services\ProfileService; use Illuminate\Support\Str; use App\Services\PollService; @@ -37,7 +38,7 @@ class StatusTransformer extends Fractal\TransformerAbstract 'created_at' => $status->created_at->format('c'), 'emojis' => [], 'reblogs_count' => 0, - 'favourites_count' => 0, + 'favourites_count' => $status->likes_count ?? 0, 'reblogged' => $status->shared(), 'favourited' => $status->liked(), 'muted' => null, @@ -50,7 +51,7 @@ class StatusTransformer extends Fractal\TransformerAbstract ], 'language' => null, 'pinned' => null, - 'mentions' => [], + 'mentions' => StatusMentionService::get($status->id), 'tags' => [], 'pf_type' => $status->type ?? $status->setType(), 'reply_count' => (int) $status->reply_count,