From 581e7af1fd6a4575353d2b01c23f391238bfabdb Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Sat, 16 May 2026 14:36:09 +0330 Subject: [PATCH] fix code --- .../app/Admin/Controllers/ExpertManagementController.php | 2 ++ .../Admin/Requests/PermissionManagement/UpdateRequest.php | 2 +- backend/app/Admin/Requests/RoleManagement/StoreRequest.php | 4 ++-- backend/app/Admin/Requests/RoleManagement/UpdateRequest.php | 6 +++--- backend/app/Admin/Resources/ExpertManagementResource.php | 4 ++-- backend/app/Models/Expert.php | 3 +++ 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/backend/app/Admin/Controllers/ExpertManagementController.php b/backend/app/Admin/Controllers/ExpertManagementController.php index 6591a8a8..bc49f18f 100644 --- a/backend/app/Admin/Controllers/ExpertManagementController.php +++ b/backend/app/Admin/Controllers/ExpertManagementController.php @@ -67,6 +67,8 @@ class ExpertManagementController extends Controller */ public function show(Expert $expert): JsonResponse { + $expert->load('roles', 'permissions'); + return $this->successResponse( new ExpertManagementResource($expert) ); diff --git a/backend/app/Admin/Requests/PermissionManagement/UpdateRequest.php b/backend/app/Admin/Requests/PermissionManagement/UpdateRequest.php index 529ec458..9bcdf8b3 100644 --- a/backend/app/Admin/Requests/PermissionManagement/UpdateRequest.php +++ b/backend/app/Admin/Requests/PermissionManagement/UpdateRequest.php @@ -27,7 +27,7 @@ class UpdateRequest extends FormRequest public function rules(): array { return [ - 'name' => ['required', 'string', 'max:255', Rule::unique('permission', 'name')->ignore($this->permission->id)], + 'name' => ['required', 'string', 'max:255', Rule::unique('permissions', 'name')->ignore($this->permission->id)], ]; } } diff --git a/backend/app/Admin/Requests/RoleManagement/StoreRequest.php b/backend/app/Admin/Requests/RoleManagement/StoreRequest.php index b30125a9..6318879c 100644 --- a/backend/app/Admin/Requests/RoleManagement/StoreRequest.php +++ b/backend/app/Admin/Requests/RoleManagement/StoreRequest.php @@ -24,8 +24,8 @@ class StoreRequest extends FormRequest { return [ 'name' => 'required|string|unique:roles,name', - 'permissions' => 'required|array', - 'permissions.*.name' => 'required|string|exists:permissions,name', + 'permissions' => 'array', + 'permissions.*' => 'integer|exists:permissions,id', ]; } } diff --git a/backend/app/Admin/Requests/RoleManagement/UpdateRequest.php b/backend/app/Admin/Requests/RoleManagement/UpdateRequest.php index 4dd1cbf0..5b0058c2 100644 --- a/backend/app/Admin/Requests/RoleManagement/UpdateRequest.php +++ b/backend/app/Admin/Requests/RoleManagement/UpdateRequest.php @@ -27,9 +27,9 @@ class UpdateRequest extends FormRequest public function rules(): array { return [ - 'name' => ['required', 'string', 'max:255', Rule::unique('roles', 'name')->ignore($this->role->id)], - 'permissions' => 'required|array', - 'permissions.*.name' => 'required|string|exists:permissions,name', + 'name' => ['string', 'max:255', Rule::unique('roles', 'name')->ignore($this->role->id)], + 'permissions' => 'array', + 'permissions.*' => 'integer|exists:permissions,id', ]; } } diff --git a/backend/app/Admin/Resources/ExpertManagementResource.php b/backend/app/Admin/Resources/ExpertManagementResource.php index 788c0c93..2de7efb1 100644 --- a/backend/app/Admin/Resources/ExpertManagementResource.php +++ b/backend/app/Admin/Resources/ExpertManagementResource.php @@ -28,11 +28,11 @@ class ExpertManagementResource extends JsonResource 'phone_number' => $this->phone_number, 'province_name' => $this->province_name, 'city_name' => $this->city_name, - 'roles' => $this->roles() + 'roles' => $this->resource->roles ->pluck('name') ->values(), - 'permissions' => $this->getAllPermissions() + 'permissions' => $this->resource->getAllPermissions() ->pluck('name') ->values(), ]; diff --git a/backend/app/Models/Expert.php b/backend/app/Models/Expert.php index b55f8f55..8003184b 100644 --- a/backend/app/Models/Expert.php +++ b/backend/app/Models/Expert.php @@ -5,6 +5,7 @@ namespace App\Models; use Database\Factories\ExpertFactory; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Spatie\Permission\Traits\HasRoles; /** * @method roles() @@ -14,6 +15,8 @@ class Expert extends Model { /** @use HasFactory */ use HasFactory; + use HasRoles; protected $guarded = ['id']; + protected string $guard_name = 'web'; }