diff --git a/app/Models/Account.php b/app/Models/Account.php index 958f395ab7a3..a936c0227b1f 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -60,6 +60,11 @@ class Account extends Eloquent return $this->hasMany('App\Models\Client'); } + public function contacts() + { + return $this->hasMany('App\Models\Contact'); + } + public function invoices() { return $this->hasMany('App\Models\Invoice'); diff --git a/app/Ninja/Transformers/AccountTransformer.php b/app/Ninja/Transformers/AccountTransformer.php index ef075967d13d..bbc4f4df9da9 100644 --- a/app/Ninja/Transformers/AccountTransformer.php +++ b/app/Ninja/Transformers/AccountTransformer.php @@ -2,6 +2,7 @@ use App\Models\Account; use App\Models\AccountToken; +use App\Models\Contact; use League\Fractal; use League\Fractal\TransformerAbstract; @@ -10,6 +11,8 @@ class AccountTransformer extends TransformerAbstract protected $defaultIncludes = [ 'users', 'clients', + 'invoices', + 'contacts' ]; public function includeUsers(Account $account) @@ -22,6 +25,16 @@ class AccountTransformer extends TransformerAbstract return $this->collection($account->clients, new ClientTransformer($account)); } + public function includeInvoices(Account $account) + { + return $this->collection($account->invoices, new InvoiceTransformer($account)); + } + + public function includeContacts(Account $account) + { + return $this->collection($account->contacts, new ContactTransformer($account)); + } + public function transform(Account $account) { return [ diff --git a/app/Ninja/Transformers/ClientTransformer.php b/app/Ninja/Transformers/ClientTransformer.php index 3f03ed7e2bc2..fb6834538385 100644 --- a/app/Ninja/Transformers/ClientTransformer.php +++ b/app/Ninja/Transformers/ClientTransformer.php @@ -41,9 +41,9 @@ class ClientTransformer extends EntityTransformer */ protected $defaultIncludes = [ - 'contacts', - 'invoices', - 'quotes', + // 'contacts', + // 'invoices', + // 'quotes', ]; public function includeContacts(Client $client) @@ -64,7 +64,7 @@ class ClientTransformer extends EntityTransformer public function transform(Client $client) { return [ - 'public_id' => (int) $client->public_id, + 'id' => (int) $client->public_id, 'name' => $client->name, 'balance' => (float) $client->balance, 'paid_to_date' => (float) $client->paid_to_date, diff --git a/app/Ninja/Transformers/ContactTransformer.php b/app/Ninja/Transformers/ContactTransformer.php index 0752e504eaf4..b7047fe67e55 100644 --- a/app/Ninja/Transformers/ContactTransformer.php +++ b/app/Ninja/Transformers/ContactTransformer.php @@ -9,7 +9,7 @@ class ContactTransformer extends EntityTransformer public function transform(Contact $contact) { return [ - 'public_id' => (int) $contact->public_id, + 'id' => (int) $contact->public_id, 'first_name' => $contact->first_name, 'last_name' => $contact->last_name, 'email' => $contact->email, @@ -19,7 +19,8 @@ class ContactTransformer extends EntityTransformer 'is_primary' => (bool) $contact->is_primary, 'phone' => $contact->phone, 'last_login' => $contact->last_login, - 'account_key' => $this->account->account_key + 'account_key' => $this->account->account_key, + 'client_id' => $contact->client_id ]; } } \ No newline at end of file diff --git a/app/Ninja/Transformers/InvoiceItemTransformer.php b/app/Ninja/Transformers/InvoiceItemTransformer.php index 3f72de9c847f..ad3f8b7f7c1f 100644 --- a/app/Ninja/Transformers/InvoiceItemTransformer.php +++ b/app/Ninja/Transformers/InvoiceItemTransformer.php @@ -9,7 +9,7 @@ class InvoiceItemTransformer extends EntityTransformer public function transform(InvoiceItem $item) { return [ - 'public_id' => (int) $item->public_id, + 'id' => (int) $item->public_id, 'product_key' => $item->product_key, 'account_key' => $this->account->account_key, 'user_id' => (int) $item->user_id, diff --git a/app/Ninja/Transformers/InvoiceTransformer.php b/app/Ninja/Transformers/InvoiceTransformer.php index c5d47f14d3e3..6e0ef1da528b 100644 --- a/app/Ninja/Transformers/InvoiceTransformer.php +++ b/app/Ninja/Transformers/InvoiceTransformer.php @@ -20,13 +20,11 @@ class InvoiceTransformer extends EntityTransformer * @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); - $this->client = $client; } protected $defaultIncludes = [ @@ -42,10 +40,9 @@ class InvoiceTransformer extends EntityTransformer { return [ 'id' => (int) $invoice->public_id, - 'invoice_number' => $invoice->invoice_number, 'amount' => (float) $invoice->amount, '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, 'updated_at' => $invoice->updated_at, 'deleted_at' => $invoice->deleted_at, @@ -71,7 +68,8 @@ class InvoiceTransformer extends EntityTransformer 'invoice_footer' => $invoice->invoice_footer, 'partial' => (float) $invoice->partial, 'has_tasks' => (bool) $invoice->has_tasks, - 'auto_bill' => (bool) $invoice->auto_bill + 'auto_bill' => (bool) $invoice->auto_bill, + 'account_key' => $this->account->account_key ]; } } \ No newline at end of file diff --git a/app/Ninja/Transformers/QuoteTransformer.php b/app/Ninja/Transformers/QuoteTransformer.php index 6cbab0b3caac..716b29656a59 100644 --- a/app/Ninja/Transformers/QuoteTransformer.php +++ b/app/Ninja/Transformers/QuoteTransformer.php @@ -17,7 +17,7 @@ class QuoteTransformer extends EntityTransformer public function transform(Invoice $invoice) { return [ - 'public_id' => (int) $invoice->public_id, + 'id' => (int) $invoice->public_id, 'quote_number' => $invoice->invoice_number, 'amount' => (float) $invoice->amount, ]; diff --git a/app/Ninja/Transformers/UserTransformer.php b/app/Ninja/Transformers/UserTransformer.php index e73ad2bd0450..5c5b3ed0e154 100644 --- a/app/Ninja/Transformers/UserTransformer.php +++ b/app/Ninja/Transformers/UserTransformer.php @@ -9,7 +9,7 @@ class UserTransformer extends EntityTransformer public function transform(User $user) { return [ - 'public_id' => (int) ($user->public_id + 1), + 'id' => (int) ($user->public_id + 1), 'first_name' => $user->first_name, 'last_name' => $user->last_name, 'email' => $user->email,