Working on the API

This commit is contained in:
Hillel Coren 2015-11-04 17:23:22 +02:00
parent 8abdc4a43f
commit ffab252436
3 changed files with 17 additions and 17 deletions

View File

@ -48,15 +48,9 @@ class AccountApiController extends BaseAPIController
{
// Create a new token only if one does not already exist
$this->accountRepo->createTokens(Auth::user(), $request->token_name);
return $this->index();
}
public function index()
{
$users = $this->accountRepo->findUsers(Auth::user(), 'account.account_tokens');
$resource = new Collection($users, new UserAccountTransformer);
$resource = new Collection($users, new UserAccountTransformer($request->token_name));
return $this->returnData($resource);
}

View File

@ -225,6 +225,17 @@ class Account extends Eloquent
return file_exists($fileName.'.png') ? $fileName.'.png' : $fileName.'.jpg';
}
public function getToken($name)
{
foreach ($this->account_tokens as $token) {
if ($token->name === $name) {
return $token->token;
}
}
return null;
}
public function getLogoWidth()
{
$path = $this->getLogoPath();

View File

@ -6,17 +6,11 @@ use League\Fractal\TransformerAbstract;
class UserAccountTransformer extends TransformerAbstract
{
protected $defaultIncludes = [
'account_tokens'
];
protected $tokenName;
public function includeAccountTokens($user)
public function __construct($tokenName)
{
$tokens = $user->account->account_tokens->filter(function($token) use ($user) {
return $token->user_id === $user->id;
});
return $this->collection($tokens, new AccountTokenTransformer);
$this->tokenName = $tokenName;
}
public function transform(User $user)
@ -24,6 +18,7 @@ class UserAccountTransformer extends TransformerAbstract
return [
'account_key' => $user->account->account_key,
'name' => $user->account->name,
'token' => $user->account->getToken($this->tokenName),
'user' => [
'first_name' => $user->first_name,
'last_name' => $user->last_name,