feature/FixManagment #14
@@ -67,8 +67,7 @@ class ExpertManagementController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function show(Expert $expert): JsonResponse
|
public function show(Expert $expert): JsonResponse
|
||||||
{
|
{
|
||||||
return $this->successResponse(
|
return $this->successResponse($expert->load(['roles','permissions'])
|
||||||
new ExpertManagementResource($expert)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ class UpdateRequest extends FormRequest
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
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)],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ class StoreRequest extends FormRequest
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'name' => 'required|string|unique:roles,name',
|
'name' => 'required|string|unique:roles,name',
|
||||||
'permissions' => 'required|array',
|
'permissions' => 'array',
|
||||||
'permissions.*.name' => 'required|string|exists:permissions,name',
|
'permissions.*' => 'integer|exists:permissions,id',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ class UpdateRequest extends FormRequest
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'name' => ['required', 'string', 'max:255', Rule::unique('roles', 'name')->ignore($this->role->id)],
|
'name' => ['string', 'max:255', Rule::unique('roles', 'name')->ignore($this->role->id)],
|
||||||
'permissions' => 'required|array',
|
'permissions' => 'array',
|
||||||
'permissions.*.name' => 'required|string|exists:permissions,name',
|
'permissions.*' => 'integer|exists:permissions,id',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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(),
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -5,6 +5,7 @@ namespace App\Models;
|
|||||||
use Database\Factories\ExpertFactory;
|
use Database\Factories\ExpertFactory;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Spatie\Permission\Traits\HasRoles;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @method roles()
|
* @method roles()
|
||||||
@@ -14,6 +15,8 @@ class Expert extends Model
|
|||||||
{
|
{
|
||||||
/** @use HasFactory<ExpertFactory> */
|
/** @use HasFactory<ExpertFactory> */
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
use HasRoles;
|
||||||
|
|
||||||
protected $guarded = ['id'];
|
protected $guarded = ['id'];
|
||||||
|
protected string $guard_name = 'web';
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user