diff --git a/app/Ninja/Transformers/AccountTokenTransformer.php b/app/Ninja/Transformers/AccountTokenTransformer.php index b2022a778286..e6ca7e8bfda7 100644 --- a/app/Ninja/Transformers/AccountTokenTransformer.php +++ b/app/Ninja/Transformers/AccountTokenTransformer.php @@ -10,10 +10,6 @@ class AccountTokenTransformer extends TransformerAbstract public function transform(AccountToken $account_token) { return [ - 'id' => (int) $account_token->id, - 'account_id' =>(int) $account_token->account_id, - 'user_id' => (int) $account_token->user_id, - 'public_id' => (int) $account_token->public_id, 'name' => $account_token->name, 'token' => $account_token->token ]; diff --git a/app/Ninja/Transformers/AccountTransformer.php b/app/Ninja/Transformers/AccountTransformer.php index f172356eb4d3..fcbf179ecb96 100644 --- a/app/Ninja/Transformers/AccountTransformer.php +++ b/app/Ninja/Transformers/AccountTransformer.php @@ -9,21 +9,17 @@ class AccountTransformer extends TransformerAbstract { protected $defaultIncludes = [ 'users', - 'account_tokens' + 'clients', ]; - public function includeAccountTokens($account) - { - $account_token = AccountToken::whereAccountId($account->id)->whereName('ios_api_token')->first(); - - return $this->Item($account_token, new AccountTokenTransformer); - - } public function includeUsers($account) { - $users = $account->users; + return $this->collection($account->users, new UserTransformer); + } - return $this->collection($users, new UserTransformer); + public function includeClients($account) + { + return $this->collection($account->clients, new ClientTransformer); } public function transform(Account $account) diff --git a/app/Ninja/Transformers/ClientTransformer.php b/app/Ninja/Transformers/ClientTransformer.php new file mode 100644 index 000000000000..dec83101be53 --- /dev/null +++ b/app/Ninja/Transformers/ClientTransformer.php @@ -0,0 +1,34 @@ +collection($client->contacts, new ContactTransformer); + } + + public function includeInvoices($client) + { + return $this->collection($client->invoices, new InvoiceTransformer); + } + + public function transform(Client $client) + { + return [ + 'id' => (int) $client->public_id, + 'name' => $client->name, + 'balance' => (float) $client->balance, + 'paid_to_date' => (float) $client->paid_to_date, + ]; + } +} \ No newline at end of file diff --git a/app/Ninja/Transformers/ContactTransformer.php b/app/Ninja/Transformers/ContactTransformer.php new file mode 100644 index 000000000000..fb63952567fe --- /dev/null +++ b/app/Ninja/Transformers/ContactTransformer.php @@ -0,0 +1,18 @@ + (int) $contact->public_id, + 'first_name' => $contact->first_name, + 'last_name' => $contact->last_name, + 'email' => $contact->email, + ]; + } +} \ No newline at end of file diff --git a/app/Ninja/Transformers/InvoiceItemTransformer.php b/app/Ninja/Transformers/InvoiceItemTransformer.php new file mode 100644 index 000000000000..b3186afcebb2 --- /dev/null +++ b/app/Ninja/Transformers/InvoiceItemTransformer.php @@ -0,0 +1,16 @@ + (int) $item->public_id, + 'product_key' => $item->product_key, + ]; + } +} \ No newline at end of file diff --git a/app/Ninja/Transformers/InvoiceTransformer.php b/app/Ninja/Transformers/InvoiceTransformer.php new file mode 100644 index 000000000000..5e1dff91db2c --- /dev/null +++ b/app/Ninja/Transformers/InvoiceTransformer.php @@ -0,0 +1,27 @@ +collection($invoice->invoice_items, new InvoiceItemTransformer); + } + + public function transform(Invoice $invoice) + { + return [ + 'id' => (int) $invoice->public_id, + 'invoice_number' => $invoice->invoice_number, + 'amount' => (float) $invoice->amount, + 'balance' => (float) $invoice->balance, + ]; + } +} \ No newline at end of file diff --git a/app/Ninja/Transformers/UserAccountTransformer.php b/app/Ninja/Transformers/UserAccountTransformer.php new file mode 100644 index 000000000000..d6970ea29722 --- /dev/null +++ b/app/Ninja/Transformers/UserAccountTransformer.php @@ -0,0 +1,34 @@ +account->account_tokens->filter(function($token) use ($user) { + return $token->user_id === $user->id; + }); + + return $this->collection($tokens, new AccountTokenTransformer); + } + + public function transform(User $user) + { + return [ + 'account_key' => $user->account->account_key, + 'name' => $user->account->name, + 'user' => [ + 'first_name' => $user->first_name, + 'last_name' => $user->last_name, + 'email' => $user->email, + ] + ]; + } +} \ No newline at end of file