From da510089e22feb7567b9c79fa0602e80329d1401 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 30 Oct 2023 21:16:28 -0600 Subject: [PATCH] Update LikePipeline, dispatch to feed queue. Fixes #4723 --- app/Http/Controllers/Api/ApiV1Controller.php | 4 ++-- app/Http/Controllers/LikeController.php | 7 +++---- app/Jobs/DeletePipeline/DeleteRemoteStatusPipeline.php | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index 635cba24e..9e8f7ef23 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -1271,7 +1271,7 @@ class ApiV1Controller extends Controller Status::findOrFail($status['id'])->update([ 'likes_count' => ($status['favourites_count'] ?? 0) + 1 ]); - LikePipeline::dispatch($like); + LikePipeline::dispatch($like)->onQueue('feed'); } $status['favourited'] = true; @@ -1308,7 +1308,7 @@ class ApiV1Controller extends Controller if($like) { $like->forceDelete(); - $status->likes_count = $status->likes()->count(); + $status->likes_count = $status->likes_count > 1 ? $status->likes_count - 1 : 0; $status->save(); } diff --git a/app/Http/Controllers/LikeController.php b/app/Http/Controllers/LikeController.php index 5e23e0d36..47d1b7428 100644 --- a/app/Http/Controllers/LikeController.php +++ b/app/Http/Controllers/LikeController.php @@ -25,8 +25,7 @@ class LikeController extends Controller 'item' => 'required|integer|min:1', ]); - // API deprecated - return; + abort(422, 'Deprecated API Endpoint'); $user = Auth::user(); $profile = $user->profile; @@ -34,7 +33,7 @@ class LikeController extends Controller if (Like::whereStatusId($status->id)->whereProfileId($profile->id)->exists()) { $like = Like::whereProfileId($profile->id)->whereStatusId($status->id)->firstOrFail(); - UnlikePipeline::dispatch($like); + UnlikePipeline::dispatch($like)->onQueue('feed'); } else { abort_if( Like::whereProfileId($user->profile_id) @@ -60,7 +59,7 @@ class LikeController extends Controller ]) == false; $like->save(); $status->save(); - LikePipeline::dispatch($like); + LikePipeline::dispatch($like)->onQueue('feed'); } } diff --git a/app/Jobs/DeletePipeline/DeleteRemoteStatusPipeline.php b/app/Jobs/DeletePipeline/DeleteRemoteStatusPipeline.php index d27249c2a..4969fca2f 100644 --- a/app/Jobs/DeletePipeline/DeleteRemoteStatusPipeline.php +++ b/app/Jobs/DeletePipeline/DeleteRemoteStatusPipeline.php @@ -57,7 +57,7 @@ class DeleteRemoteStatusPipeline implements ShouldQueue $status = $this->status; if(AccountService::get($status->profile_id, true)) { - DecrementPostCount::dispatch($status->profile_id)->onQueue('feed'); + DecrementPostCount::dispatch($status->profile_id)->onQueue('low'); } NetworkTimelineService::del($status->id);