From 4b453fdcff573fb85d416c61e0223d4c0f75fe94 Mon Sep 17 00:00:00 2001 From: Bahar Date: Wed, 19 Aug 2026 13:29:48 +0330 Subject: [PATCH] feat:implement permissions for admin side --- .../Middleware/AdminPermissionMiddleware.php | 34 ++++++++++++++ app/Models/Permission.php | 45 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 app/Http/Middleware/AdminPermissionMiddleware.php create mode 100644 app/Models/Permission.php diff --git a/app/Http/Middleware/AdminPermissionMiddleware.php b/app/Http/Middleware/AdminPermissionMiddleware.php new file mode 100644 index 0000000..33558dd --- /dev/null +++ b/app/Http/Middleware/AdminPermissionMiddleware.php @@ -0,0 +1,34 @@ +user(); + + if (!$admin) { + abort(403); + } + + $hasPermission = $admin->permissions() + ->where('name', $permission) + ->exists(); + + if (!$hasPermission) { + abort(403, 'شما اجازه دسترسی به این بخش را ندارید.'); + } + + return $next($request); + } +} diff --git a/app/Models/Permission.php b/app/Models/Permission.php new file mode 100644 index 0000000..0457e98 --- /dev/null +++ b/app/Models/Permission.php @@ -0,0 +1,45 @@ +belongsToMany( + Admin::class, + 'admin_permission', + 'permission_id', + 'admin_id' + ); + } +}