<?php

namespace App\Libs\Transformers\BackendAuth;

use App\Models\BackendAuth\BackendUser;
use League\Fractal;

class BackendUserTransformer extends Fractal\TransformerAbstract {
    
    protected $availableIncludes = array(
        'permissions'
    );
    
    public function transform(BackendUser $user){
        return array(
            'id' => (int) $user->id,
            'first_name' => $user->first_name,
            'last_name' => $user->last_name,
            'email' => $user->email,
            'role' => $user->role,
        ); 
    }

    public function includePermissions(BackendUser $user)
    {
        $permissions = $user->permissions;

        return $this->collection($permissions, new BackendPermissionTransformer);
    } 
}

  

