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

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

View File

@ -225,6 +225,17 @@ class Account extends Eloquent
return file_exists($fileName.'.png') ? $fileName.'.png' : $fileName.'.jpg'; 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() public function getLogoWidth()
{ {
$path = $this->getLogoPath(); $path = $this->getLogoPath();

View File

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