| 
<?php
 namespace App\Transformers;
 
 use App\Models\User;
 use App\Models\Wallet;
 use League\Fractal\TransformerAbstract;
 
 class UserTransformer extends TransformerAbstract
 {
 
 private $_token;
 public function __construct(string $token = null)
 {
 $this->_token = $token;
 }
 
 /**
 * List of resources possible to include
 *
 * @var array
 */
 protected $availableIncludes = [
 'wallet'
 ];
 /**
 * A Fractal transformer.
 *
 * @return array
 */
 public function transform(User $user)
 {
 return [
 'name' => $user->name,
 'email' => $user->email,
 'blocked' => $user->isBlocked,
 'is_admin' => (bool)$user->is_admin,
 'token' => $this->_token
 ];
 }
 
 public function includeWallet(User $user)
 {
 return $this->item($user->wallet?? new Wallet(), new WalletTransformer());
 }
 }
 
 |