feat:complete admin permissions for admin side
This commit is contained in:
@@ -8,24 +8,15 @@ use Symfony\Component\HttpFoundation\Response;
|
|||||||
|
|
||||||
class AdminPermissionMiddleware
|
class AdminPermissionMiddleware
|
||||||
{
|
{
|
||||||
/**
|
public function handle(
|
||||||
* Handle an incoming request.
|
Request $request,
|
||||||
*
|
Closure $next,
|
||||||
* @param Closure(Request): (Response) $next
|
string $permission
|
||||||
*/
|
): Response {
|
||||||
public function handle(Request $request, Closure $next, string $permission): Response
|
|
||||||
{
|
|
||||||
$admin = auth('admin')->user();
|
$admin = auth('admin')->user();
|
||||||
|
|
||||||
if (!$admin) {
|
if (!$admin->permission?->{$permission}) {
|
||||||
abort(403);
|
|
||||||
}
|
|
||||||
|
|
||||||
$hasPermission = $admin->permissions()
|
|
||||||
->where('name', $permission)
|
|
||||||
->exists();
|
|
||||||
|
|
||||||
if (!$hasPermission) {
|
|
||||||
abort(403, 'شما اجازه دسترسی به این بخش را ندارید.');
|
abort(403, 'شما اجازه دسترسی به این بخش را ندارید.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,10 @@ class AdminStoreRequest extends FormRequest
|
|||||||
],
|
],
|
||||||
|
|
||||||
'status' => ['required'],
|
'status' => ['required'],
|
||||||
|
'admin_view' => ['nullable', 'boolean'],
|
||||||
|
'admin_create' => ['nullable', 'boolean'],
|
||||||
|
'admin_edit' => ['nullable', 'boolean'],
|
||||||
|
'admin_delete' => ['nullable', 'boolean'],
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,10 @@ class AdminUpdateRequest extends FormRequest
|
|||||||
|
|
||||||
'status' => ['required'],
|
'status' => ['required'],
|
||||||
|
|
||||||
'image' => ['nullable', 'image'],
|
'admin_view' => ['nullable', 'boolean'],
|
||||||
|
'admin_create' => ['nullable', 'boolean'],
|
||||||
|
'admin_edit' => ['nullable', 'boolean'],
|
||||||
|
'admin_delete' => ['nullable', 'boolean'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user