From ffab2524362ad119bffbe683a46d4e757c51993a Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Wed, 4 Nov 2015 17:23:22 +0200 Subject: [PATCH] Working on the API --- app/Http/Controllers/AccountApiController.php | 10 ++-------- app/Models/Account.php | 11 +++++++++++ app/Ninja/Transformers/UserAccountTransformer.php | 13 ++++--------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/Http/Controllers/AccountApiController.php b/app/Http/Controllers/AccountApiController.php index ee3611d37459..bbed4e7a79b6 100644 --- a/app/Http/Controllers/AccountApiController.php +++ b/app/Http/Controllers/AccountApiController.php @@ -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); } diff --git a/app/Models/Account.php b/app/Models/Account.php index 7b1aa5224bba..9a867bffb1c9 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -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(); diff --git a/app/Ninja/Transformers/UserAccountTransformer.php b/app/Ninja/Transformers/UserAccountTransformer.php index d6970ea29722..0ff393c48221 100644 --- a/app/Ninja/Transformers/UserAccountTransformer.php +++ b/app/Ninja/Transformers/UserAccountTransformer.php @@ -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,