From d5cf1279c7b8dd0eaab38b722e27a413b0127d68 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 15 Nov 2015 22:04:06 +1100 Subject: [PATCH] Modifying JSON structure for API --- app/Models/Account.php | 5 +++++ app/Ninja/Transformers/AccountTransformer.php | 9 ++++++++- app/Ninja/Transformers/ContactTransformer.php | 3 ++- 3 files changed, 15 insertions(+), 2 deletions(-) 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 e21a724a0d1a..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,7 +11,8 @@ class AccountTransformer extends TransformerAbstract protected $defaultIncludes = [ 'users', 'clients', - 'invoices' + 'invoices', + 'contacts' ]; public function includeUsers(Account $account) @@ -28,6 +30,11 @@ class AccountTransformer extends TransformerAbstract 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/ContactTransformer.php b/app/Ninja/Transformers/ContactTransformer.php index f77f9c23b074..b7047fe67e55 100644 --- a/app/Ninja/Transformers/ContactTransformer.php +++ b/app/Ninja/Transformers/ContactTransformer.php @@ -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