Modifying JSON structure for API

This commit is contained in:
David Bomba 2015-11-15 21:43:32 +11:00
parent 3ce55d22ef
commit e3c7fa572b
7 changed files with 16 additions and 13 deletions

View File

@ -10,6 +10,7 @@ class AccountTransformer extends TransformerAbstract
protected $defaultIncludes = [ protected $defaultIncludes = [
'users', 'users',
'clients', 'clients',
'invoices'
]; ];
public function includeUsers(Account $account) public function includeUsers(Account $account)
@ -22,6 +23,11 @@ class AccountTransformer extends TransformerAbstract
return $this->collection($account->clients, new ClientTransformer($account)); return $this->collection($account->clients, new ClientTransformer($account));
} }
public function includeInvoices(Account $account)
{
return $this->collection($account->invoices, new InvoiceTransformer($account));
}
public function transform(Account $account) public function transform(Account $account)
{ {
return [ return [

View File

@ -41,9 +41,9 @@ class ClientTransformer extends EntityTransformer
*/ */
protected $defaultIncludes = [ protected $defaultIncludes = [
'contacts', // 'contacts',
'invoices', // 'invoices',
'quotes', // 'quotes',
]; ];
public function includeContacts(Client $client) public function includeContacts(Client $client)
@ -64,7 +64,7 @@ class ClientTransformer extends EntityTransformer
public function transform(Client $client) public function transform(Client $client)
{ {
return [ return [
'public_id' => (int) $client->public_id, 'id' => (int) $client->public_id,
'name' => $client->name, 'name' => $client->name,
'balance' => (float) $client->balance, 'balance' => (float) $client->balance,
'paid_to_date' => (float) $client->paid_to_date, 'paid_to_date' => (float) $client->paid_to_date,

View File

@ -9,7 +9,7 @@ class ContactTransformer extends EntityTransformer
public function transform(Contact $contact) public function transform(Contact $contact)
{ {
return [ return [
'public_id' => (int) $contact->public_id, 'id' => (int) $contact->public_id,
'first_name' => $contact->first_name, 'first_name' => $contact->first_name,
'last_name' => $contact->last_name, 'last_name' => $contact->last_name,
'email' => $contact->email, 'email' => $contact->email,

View File

@ -9,7 +9,7 @@ class InvoiceItemTransformer extends EntityTransformer
public function transform(InvoiceItem $item) public function transform(InvoiceItem $item)
{ {
return [ return [
'public_id' => (int) $item->public_id, 'id' => (int) $item->public_id,
'product_key' => $item->product_key, 'product_key' => $item->product_key,
'account_key' => $this->account->account_key, 'account_key' => $this->account->account_key,
'user_id' => (int) $item->user_id, 'user_id' => (int) $item->user_id,

View File

@ -20,13 +20,11 @@ class InvoiceTransformer extends EntityTransformer
* @SWG\Property(property="invoice_status_id", type="integer", example=1) * @SWG\Property(property="invoice_status_id", type="integer", example=1)
*/ */
protected $client;
public function __construct(Account $account, Client $client) public function __construct(Account $account)
{ {
parent::__construct($account); parent::__construct($account);
$this->client = $client;
} }
protected $defaultIncludes = [ protected $defaultIncludes = [
@ -42,10 +40,9 @@ class InvoiceTransformer extends EntityTransformer
{ {
return [ return [
'id' => (int) $invoice->public_id, 'id' => (int) $invoice->public_id,
'invoice_number' => $invoice->invoice_number,
'amount' => (float) $invoice->amount, 'amount' => (float) $invoice->amount,
'balance' => (float) $invoice->balance, 'balance' => (float) $invoice->balance,
'client_id' => (int) $this->client->public_id, 'client_id' => (int) $invoice->client->public_id,
'invoice_status_id' => (int) $invoice->invoice_status_id, 'invoice_status_id' => (int) $invoice->invoice_status_id,
'updated_at' => $invoice->updated_at, 'updated_at' => $invoice->updated_at,
'deleted_at' => $invoice->deleted_at, 'deleted_at' => $invoice->deleted_at,

View File

@ -17,7 +17,7 @@ class QuoteTransformer extends EntityTransformer
public function transform(Invoice $invoice) public function transform(Invoice $invoice)
{ {
return [ return [
'public_id' => (int) $invoice->public_id, 'id' => (int) $invoice->public_id,
'quote_number' => $invoice->invoice_number, 'quote_number' => $invoice->invoice_number,
'amount' => (float) $invoice->amount, 'amount' => (float) $invoice->amount,
]; ];

View File

@ -9,7 +9,7 @@ class UserTransformer extends EntityTransformer
public function transform(User $user) public function transform(User $user)
{ {
return [ return [
'public_id' => (int) ($user->public_id + 1), 'id' => (int) ($user->public_id + 1),
'first_name' => $user->first_name, 'first_name' => $user->first_name,
'last_name' => $user->last_name, 'last_name' => $user->last_name,
'email' => $user->email, 'email' => $user->email,