invoiceninja/app/Ninja/Transformers/UserAccountTransformer.php

39 lines
1,008 B
PHP
Raw Normal View History

2015-11-03 16:21:17 +02:00
<?php namespace App\Ninja\Transformers;
use App\Models\User;
2015-11-09 04:10:01 +02:00
use App\Models\Account;
2015-11-03 16:21:17 +02:00
use League\Fractal;
use League\Fractal\TransformerAbstract;
2015-11-05 10:44:48 +02:00
use League\Fractal\Resource\Item;
2015-11-03 16:21:17 +02:00
2015-11-09 04:10:01 +02:00
class UserAccountTransformer extends EntityTransformer
2015-11-03 16:21:17 +02:00
{
2015-11-05 10:44:48 +02:00
protected $defaultIncludes = [
'user'
];
2015-11-03 16:21:17 +02:00
2015-11-05 10:44:48 +02:00
protected $tokenName;
2015-11-27 14:55:28 +02:00
public function __construct(Account $account, $serializer, $tokenName)
2015-11-03 16:21:17 +02:00
{
2015-11-27 14:55:28 +02:00
parent::__construct($account, $serializer);
2015-11-09 04:10:01 +02:00
2015-11-04 17:23:22 +02:00
$this->tokenName = $tokenName;
2015-11-03 16:21:17 +02:00
}
2015-11-05 10:44:48 +02:00
public function includeUser(User $user)
{
2015-11-27 14:55:28 +02:00
$transformer = new UserTransformer($this->account, $this->serializer);
return $this->includeItem($user, $transformer, 'user');
2015-11-05 10:44:48 +02:00
}
2015-11-03 16:21:17 +02:00
public function transform(User $user)
{
return [
'account_key' => $user->account->account_key,
2015-11-06 12:59:53 +02:00
'name' => $user->account->present()->name,
2015-11-04 17:23:22 +02:00
'token' => $user->account->getToken($this->tokenName),
'default_url' => SITE_URL
2015-11-03 16:21:17 +02:00
];
}
}