%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/geotechnics/api/app/Transformers/
Upload File :
Create Path :
Current File : /var/www/html/geotechnics/api/app/Transformers/UserTransformer.php

<?php

namespace App\Transformers;

use App\Models\User;

class UserTransformer extends BaseTransformer
{
    protected $defaultIncludes = [
        'profile',
    ];

    protected $availableIncludes = [
        'roles',
    ];

    public function includeRoles(User $user)
    {
        return $this->collection($user->roles, new RoleTransformer(), 'roles');
    }

    public function includeProfile(User $user)
    {
        if (!$user->companyProfile) {
            return null;
        }
        return $this->item($user->companyProfile, new CompanyProfileTransformer(), 'profile');
    }

    /**
     * @param User $user
     *
     * @return array
     */
    public function transform(User $user)
    {
        return [
            'id'                    => $user->id,
            'name'                  => $user->name,
            'surname'               => $user->surname,
            'fullName'              => $user->getFullName(),
            'email'                 => $user->email,
            'role_id'               => $user->getRoleId(),
            'is_confirmed'          => $user->is_confirmed,
            'is_enabled'            => $user->is_enabled,
            'avatar'                => $user->getAvatar(),
            'has_completed_profile' => $user->hasCompletedProfile(),
            'can_use_account'       => $user->canUseAccount(),
            'available_includes'    => $this->availableIncludes,
        ];
    }
}

Zerion Mini Shell 1.0