Merge pull request 'feature/FixManagment' (#14) from feature/FixManagment into develop

Reviewed-on: #14
This commit was merged in pull request #14.
This commit is contained in:
2026-05-16 11:31:59 +00:00
6 changed files with 10 additions and 49 deletions

View File

@@ -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'])
);
}

View File

@@ -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)],
];
}
}

View File

@@ -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',
];
}
}

View File

@@ -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',
];
}
}

View File

@@ -1,41 +0,0 @@
<?php
namespace App\Admin\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @method roles()
* @method getAllPermissions()
*/
class ExpertManagementResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @return array<string, mixed>
*/
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(),
];
}
}

View File

@@ -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<ExpertFactory> */
use HasFactory;
use HasRoles;
protected $guarded = ['id'];
protected string $guard_name = 'web';
}