File "UserShowPermissionsResource-20260128143259.php"
Full Path: /var/www/html/back/app/Http/Resources/User/UserShowPermissionsResource-20260128143259.php
File size: 1.19 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace App\Http\Resources\User;
use App\Enums\RoleEnum;
use App\Enums\RolePermissionsEnum;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class UserShowPermissionsResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'first_name' => $this->first_name,
'last_name' => $this->last_name,
'email' => $this->email,
'start_page' => $this->start_page,
'is_blocked' => $this->is_blocked,
'image' => !empty($this->getFirstMediaUrl('avatars')) ? $this->getFirstMediaUrl('avatars') : null,
'models' => $this->roles->map(function ($role) {
$roleEnum = RoleEnum::tryFrom($role->role);
if ($role->permissions) {
$enumPermissions = RolePermissionsEnum::fromCommaSeparated($role->permissions);
}
return [
'name' => $role->model->name ?? null,
'role' => $role->role ?? null,
'permissions' => $role->permissions ?? null,
];
}),
];
}
}