Add mark as spammer mod tool, unlists and applies content warning to existing and future posts

This commit is contained in:
Daniel Supernault 2021-06-29 02:14:22 -06:00
parent 7b9e0eefd3
commit 6d956a86f4
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7
3 changed files with 188 additions and 83 deletions

View file

@ -28,6 +28,7 @@ use App\Transformer\Api\{
};
use App\Util\Media\Filter;
use App\Jobs\StatusPipeline\NewStatusPipeline;
use App\Jobs\ModPipeline\HandleSpammerPipeline;
use League\Fractal\Serializer\ArraySerializer;
use League\Fractal\Pagination\IlluminatePaginatorAdapter;
use Illuminate\Validation\Rule;
@ -175,7 +176,8 @@ class InternalApiController extends Controller
Rule::in([
'addcw',
'remcw',
'unlist'
'unlist',
'spammer'
])
],
'item_id' => 'required|integer|min:1',
@ -310,6 +312,23 @@ class InternalApiController extends Controller
$u->save();
}
break;
case 'spammer':
$status = Status::findOrFail($item_id);
HandleSpammerPipeline::dispatch($status->profile);
ModLogService::boot()
->user(Auth::user())
->objectUid($status->profile->user_id)
->objectId($status->id)
->objectType('App\User::class')
->action('admin.status.moderate')
->metadata([
'action' => 'spammer',
'message' => 'Success!'
])
->accessLevel('admin')
->save();
break;
}
Cache::forget('_api:statuses:recent_9:' . $status->profile_id);