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/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 deleted file mode 100644 index 788c0c93..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->roles() - ->pluck('name') - ->values(), - - 'permissions' => $this->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'; }