Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
gilour
/
foundation
/
src
/
Auth
/
Controllers
:
BanUserController.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Common\Auth\Controllers; use App\Models\User; use Common\Core\BaseController; use Illuminate\Support\Facades\Auth; class BanUserController extends BaseController { public function store(int $userId) { $data = $this->validate(request(), [ 'ban_until' => 'nullable|date|after:now', 'comment' => 'nullable|string|max:255', 'permanent' => 'boolean', ]); $user = User::findOrFail($userId); $this->authorize('destroy', [$user::class, [$user->id]]); if ($user->hasPermission('admin')) { abort(403, 'Admin users can\'t be suspended'); } if ($user->id === Auth::id()) { abort(403, 'You can\'t suspend yourself'); } $user->createBan($data); return $this->success(['user' => $user]); } public function destroy(int $userId) { $user = User::findOrFail($userId); $this->authorize('destroy', [$user::class, [$user->id]]); $user->unban(); return $this->success(['user' => $user]); } }