diff --git a/app/Http/Middleware/AdminPermissionMiddleware.php b/app/Http/Middleware/AdminPermissionMiddleware.php index 33558dd..b9f161a 100644 --- a/app/Http/Middleware/AdminPermissionMiddleware.php +++ b/app/Http/Middleware/AdminPermissionMiddleware.php @@ -8,24 +8,15 @@ use Symfony\Component\HttpFoundation\Response; class AdminPermissionMiddleware { - /** - * Handle an incoming request. - * - * @param Closure(Request): (Response) $next - */ - public function handle(Request $request, Closure $next, string $permission): Response - { + public function handle( + Request $request, + Closure $next, + string $permission + ): Response { + $admin = auth('admin')->user(); - if (!$admin) { - abort(403); - } - - $hasPermission = $admin->permissions() - ->where('name', $permission) - ->exists(); - - if (!$hasPermission) { + if (!$admin->permission?->{$permission}) { abort(403, 'شما اجازه دسترسی به این بخش را ندارید.'); } diff --git a/app/Http/Requests/Admin/AdminStoreRequest.php b/app/Http/Requests/Admin/AdminStoreRequest.php index 41baee8..7dae643 100644 --- a/app/Http/Requests/Admin/AdminStoreRequest.php +++ b/app/Http/Requests/Admin/AdminStoreRequest.php @@ -56,7 +56,10 @@ class AdminStoreRequest extends FormRequest ], 'status' => ['required'], - + 'admin_view' => ['nullable', 'boolean'], + 'admin_create' => ['nullable', 'boolean'], + 'admin_edit' => ['nullable', 'boolean'], + 'admin_delete' => ['nullable', 'boolean'], ]; } diff --git a/app/Http/Requests/Admin/AdminUpdateRequest.php b/app/Http/Requests/Admin/AdminUpdateRequest.php index 5ed1f06..81f229f 100644 --- a/app/Http/Requests/Admin/AdminUpdateRequest.php +++ b/app/Http/Requests/Admin/AdminUpdateRequest.php @@ -51,7 +51,10 @@ class AdminUpdateRequest extends FormRequest 'status' => ['required'], - 'image' => ['nullable', 'image'], + 'admin_view' => ['nullable', 'boolean'], + 'admin_create' => ['nullable', 'boolean'], + 'admin_edit' => ['nullable', 'boolean'], + 'admin_delete' => ['nullable', 'boolean'], ]; } }