From 4b6effb9c8dcb2e9024f0811b9161373248ab837 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 24 Jan 2022 22:46:31 -0700 Subject: [PATCH] Update ApiV1Controller, improve follow count cache invalidation --- app/Http/Controllers/Api/ApiV1Controller.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index bd8ca8c45..987878970 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -662,6 +662,8 @@ class ApiV1Controller extends Controller Cache::forget('profile:follower_count:'.$user->profile_id); Cache::forget('profile:following_count:'.$target->id); Cache::forget('profile:following_count:'.$user->profile_id); + AccountService::del($user->profile_id); + AccountService::del($target->id); $res = RelationshipService::get($user->profile_id, $target->id); @@ -685,7 +687,6 @@ class ApiV1Controller extends Controller ->whereNull('status') ->findOrFail($id); - $private = (bool) $target->is_private; $remote = (bool) $target->domain; @@ -705,6 +706,8 @@ class ApiV1Controller extends Controller abort(400, 'You can only follow or unfollow ' . Follower::FOLLOW_PER_HOUR . ' users per hour'); } + $user->profile->decrement('following_count'); + FollowRequest::whereFollowerId($user->profile_id) ->whereFollowingId($target->id) ->delete(); @@ -725,6 +728,12 @@ class ApiV1Controller extends Controller Cache::forget('api:local:exp:rec:'.$user->profile_id); Cache::forget('user:account:id:'.$target->user_id); Cache::forget('user:account:id:'.$user->id); + Cache::forget('profile:follower_count:'.$target->id); + Cache::forget('profile:follower_count:'.$user->profile_id); + Cache::forget('profile:following_count:'.$target->id); + Cache::forget('profile:following_count:'.$user->profile_id); + AccountService::del($user->profile_id); + AccountService::del($target->id); $res = RelationshipService::get($user->profile_id, $target->id);