%PDF- %PDF-
Mini Shell

Mini Shell

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

<?php

namespace App\Transformers;

use App\Models\User;

class UserDetailsTransformer extends BaseTransformer
{
    protected $availableIncludes = [
        'roles',
    ];
    /**
     * @var bool
     */
    private $showChannelId;

    /**
     * UserDetailsTransformer constructor.
     * @param bool $showChannelId
     */
    public function __construct($showChannelId = false)
    {
        $this->showChannelId = $showChannelId;
    }

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

    /**
     * @param User $user
     *
     * @return array
     */
    public function transform(User $user)
    {
        return [
            'id'                 => $user->id,
            'name'               => $user->name,
            'surname'            => $user->surname,
            'email'              => $user->email,
            'phone'              => $user->phone,
            'birthday'           => $user->formatDate($user->birthday),
            'is_enabled'         => $user->is_enabled,
            'is_confirmed'       => $user->is_confirmed,
            'avatar'             => $user->getAvatar(),
            'external_reference' => $user->external_reference,
            'channel_id'         => $this->showChannelId
                ? $user->channel_id
                : '',
        ];
    }
}

Zerion Mini Shell 1.0