From 894ae6794dd8ed093c02e32af5a2257c88ac2e82 Mon Sep 17 00:00:00 2001 From: Bahar Date: Wed, 19 Aug 2026 19:20:32 +0330 Subject: [PATCH] feat:complete admin permissions for admin side --- .../Middleware/AdminPermissionMiddleware.php | 23 ++++++------------- app/Http/Requests/Admin/AdminStoreRequest.php | 5 +++- .../Requests/Admin/AdminUpdateRequest.php | 5 +++- 3 files changed, 15 insertions(+), 18 deletions(-) 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'], ]; } }