From 581e7af1fd6a4575353d2b01c23f391238bfabdb Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Sat, 16 May 2026 14:36:09 +0330 Subject: [PATCH 1/3] 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'; } From 7c82556d93923acb19eded0575a5f2d632b66850 Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Sat, 16 May 2026 14:38:39 +0330 Subject: [PATCH 2/3] fix code2 --- backend/app/Admin/Controllers/ExpertManagementController.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/backend/app/Admin/Controllers/ExpertManagementController.php b/backend/app/Admin/Controllers/ExpertManagementController.php index bc49f18f..6591a8a8 100644 --- a/backend/app/Admin/Controllers/ExpertManagementController.php +++ b/backend/app/Admin/Controllers/ExpertManagementController.php @@ -67,8 +67,6 @@ class ExpertManagementController extends Controller */ public function show(Expert $expert): JsonResponse { - $expert->load('roles', 'permissions'); - return $this->successResponse( new ExpertManagementResource($expert) ); From 9fcd8045db6010d38b9c76a43e82cf8525f28895 Mon Sep 17 00:00:00 2001 From: faezehzafarbakhsh Date: Sat, 16 May 2026 14:57:34 +0330 Subject: [PATCH 3/3] fix code3 --- .../ExpertManagementController.php | 3 +- .../Resources/ExpertManagementResource.php | 41 ------------------- 2 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 backend/app/Admin/Resources/ExpertManagementResource.php diff --git a/backend/app/Admin/Controllers/ExpertManagementController.php b/backend/app/Admin/Controllers/ExpertManagementController.php index 6591a8a8..a3e0c989 100644 --- a/backend/app/Admin/Controllers/ExpertManagementController.php +++ b/backend/app/Admin/Controllers/ExpertManagementController.php @@ -67,8 +67,7 @@ class ExpertManagementController extends Controller */ public function show(Expert $expert): JsonResponse { - return $this->successResponse( - new ExpertManagementResource($expert) + return $this->successResponse($expert->load(['roles','permissions']) ); } diff --git a/backend/app/Admin/Resources/ExpertManagementResource.php b/backend/app/Admin/Resources/ExpertManagementResource.php deleted file mode 100644 index 2de7efb1..00000000 --- a/backend/app/Admin/Resources/ExpertManagementResource.php +++ /dev/null @@ -1,41 +0,0 @@ - - */ - public function toArray(Request $request): array - { - return [ - 'id' => $this->id, - 'username' => $this->username, - 'first_name' => $this->first_name, - 'last_name' => $this->last_name, - 'national_id' => $this->national_id, - 'email' => $this->email, - 'phone_number' => $this->phone_number, - 'province_name' => $this->province_name, - 'city_name' => $this->city_name, - 'roles' => $this->resource->roles - ->pluck('name') - ->values(), - - 'permissions' => $this->resource->getAllPermissions() - ->pluck('name') - ->values(), - ]; - } -} -