From 588ca653a80e45ed79a38bb958b01292f3335a81 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Sat, 13 May 2023 05:44:46 -0600 Subject: [PATCH] Update admin autospam apis, remove autospam warning notifications when appropriate --- .../Controllers/Admin/AdminReportController.php | 17 +++++++++++++++++ app/Http/Controllers/Api/AdminApiController.php | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/app/Http/Controllers/Admin/AdminReportController.php b/app/Http/Controllers/Admin/AdminReportController.php index 2ee8e02c5..ba3acb040 100644 --- a/app/Http/Controllers/Admin/AdminReportController.php +++ b/app/Http/Controllers/Admin/AdminReportController.php @@ -14,6 +14,7 @@ use App\{ Contact, Hashtag, Newsroom, + Notification, OauthClient, Profile, Report, @@ -30,6 +31,7 @@ use App\Jobs\DeletePipeline\DeleteRemoteStatusPipeline; use App\Jobs\StatusPipeline\StatusDelete; use App\Http\Resources\AdminReport; use App\Http\Resources\AdminSpamReport; +use App\Services\NotificationService; use App\Services\PublicTimelineService; use App\Services\NetworkTimelineService; @@ -1126,6 +1128,14 @@ trait AdminReportController $appeal->appeal_handled_at = now(); $appeal->save(); + Notification::whereAction('autospam.warning') + ->whereProfileId($appeal->user->profile_id) + ->get() + ->each(function($n) use($appeal) { + NotificationService::del($appeal->user->profile_id, $n->id); + $n->forceDelete(); + }); + StatusService::del($status->id); } @@ -1157,6 +1167,13 @@ trait AdminReportController $status->save(); StatusService::del($status->id); } + Notification::whereAction('autospam.warning') + ->whereProfileId($report->user->profile_id) + ->get() + ->each(function($n) use($report) { + NotificationService::del($report->user->profile_id, $n->id); + $n->forceDelete(); + }); }); } diff --git a/app/Http/Controllers/Api/AdminApiController.php b/app/Http/Controllers/Api/AdminApiController.php index 52ab197ca..ed3773bbc 100644 --- a/app/Http/Controllers/Api/AdminApiController.php +++ b/app/Http/Controllers/Api/AdminApiController.php @@ -11,6 +11,7 @@ use App\{ AccountInterstitial, Instance, Like, + Notification, Media, Profile, Report, @@ -140,6 +141,14 @@ class AdminApiController extends Controller StatusService::del($status->id); + Notification::whereAction('autospam.warning') + ->whereProfileId($appeal->user->profile_id) + ->get() + ->each(function($n) use($appeal) { + NotificationService::del($appeal->user->profile_id, $n->id); + $n->forceDelete(); + }); + Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $appeal->user->profile_id); Cache::forget('pf:bouncer_v0:recent_by_pid:' . $appeal->user->profile_id); Cache::forget('admin-dash:reports:spam-count'); @@ -164,6 +173,14 @@ class AdminApiController extends Controller $status->save(); StatusService::del($status->id, true); } + + Notification::whereAction('autospam.warning') + ->whereProfileId($report->user->profile_id) + ->get() + ->each(function($n) use($report) { + NotificationService::del($report->user->profile_id, $n->id); + $n->forceDelete(); + }); }); Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $appeal->user->profile_id); Cache::forget('pf:bouncer_v0:recent_by_pid:' . $appeal->user->profile_id);