feat: implement admin management
This commit is contained in:
@@ -88,5 +88,37 @@ class AdminStoreRequest extends FormRequest
|
||||
Rule::enum(AdminPermission::class),
|
||||
],
|
||||
];
|
||||
|
||||
}
|
||||
public function withValidator($validator): void
|
||||
{
|
||||
$validator->after(function ($validator) {
|
||||
|
||||
$role = $this->input('role');
|
||||
|
||||
$permissions = $this->input('permissions', []);
|
||||
|
||||
|
||||
$isSuperAdmin =
|
||||
$role === \App\Enums\Admin\AdminRole::SUPERADMIN->value;
|
||||
|
||||
|
||||
$manageAdminsPermission =
|
||||
\App\Enums\Admin\AdminPermission::MANAGE_ADMINS->value;
|
||||
|
||||
|
||||
if (
|
||||
!$isSuperAdmin &&
|
||||
in_array($manageAdminsPermission, $permissions)
|
||||
) {
|
||||
|
||||
$validator->errors()->add(
|
||||
'permissions',
|
||||
'مدیر عادی نمیتواند دسترسی مدیریت مدیران را داشته باشد.'
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user