Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
tipuloidea
/
back
/
app
/
Http
/
Controllers
:
UserResource.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?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 UserResource 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, 'image' => !empty($this->getFirstMediaUrl('avatars')) ? $this->getFirstMediaUrl('avatars') : null, 'models' => $this->roles->map(function ($role) { $roleEnum = RoleEnum::tryFrom($role->role); $enumPermissions = null; if ($role->permissions) { $permissionsValue = is_array($role->permissions) ? implode(',', $role->permissions) : $role->permissions; $enumPermissions = RolePermissionsEnum::fromCommaSeparated($permissionsValue); } return [ 'name' => $role->model->name ?? null, 'role' => $roleEnum ? RoleEnum::options()[$roleEnum->value] : null, 'permissions' => $enumPermissions ?? null, ]; }), ]; } }