From cb243fec0a4f037ca6f678049de826a2ba75ed34 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Thu, 5 Nov 2015 10:44:48 +0200 Subject: [PATCH] Working on the API --- app/Http/Controllers/AccountApiController.php | 2 +- app/Http/Controllers/BaseAPIController.php | 7 ++++++- .../Transformers/UserAccountTransformer.php | 17 +++++++++++------ app/Ninja/Transformers/UserTransformer.php | 2 +- resources/views/accounts/template.blade.php | 9 +++++---- .../accounts/templates_and_reminders.blade.php | 5 +++++ .../views/partials/quill_toolbar.blade.php | 7 +++++++ 7 files changed, 36 insertions(+), 13 deletions(-) diff --git a/app/Http/Controllers/AccountApiController.php b/app/Http/Controllers/AccountApiController.php index bbed4e7a79b6..ed5d64468f61 100644 --- a/app/Http/Controllers/AccountApiController.php +++ b/app/Http/Controllers/AccountApiController.php @@ -52,7 +52,7 @@ class AccountApiController extends BaseAPIController $users = $this->accountRepo->findUsers(Auth::user(), 'account.account_tokens'); $resource = new Collection($users, new UserAccountTransformer($request->token_name)); - return $this->returnData($resource); + return $this->returnData($resource, 'user_accounts'); } public function show($accountKey) diff --git a/app/Http/Controllers/BaseAPIController.php b/app/Http/Controllers/BaseAPIController.php index b46213a7427a..0d11964b64ea 100644 --- a/app/Http/Controllers/BaseAPIController.php +++ b/app/Http/Controllers/BaseAPIController.php @@ -16,9 +16,14 @@ class BaseAPIController extends Controller $this->manager->setSerializer(new ArraySerializer()); } - protected function returnData($resource) + protected function returnData($resource, $class = false) { $response = $this->manager->createData($resource)->toArray(); + + if ($class) { + $response = [$class => $response]; + } + $response = json_encode($response, JSON_PRETTY_PRINT); $headers = Utils::getApiHeaders(); diff --git a/app/Ninja/Transformers/UserAccountTransformer.php b/app/Ninja/Transformers/UserAccountTransformer.php index 0ff393c48221..fee2c14816e8 100644 --- a/app/Ninja/Transformers/UserAccountTransformer.php +++ b/app/Ninja/Transformers/UserAccountTransformer.php @@ -3,27 +3,32 @@ use App\Models\User; use League\Fractal; use League\Fractal\TransformerAbstract; +use League\Fractal\Resource\Item; class UserAccountTransformer extends TransformerAbstract { - protected $tokenName; + protected $defaultIncludes = [ + 'user' + ]; + protected $tokenName; + public function __construct($tokenName) { $this->tokenName = $tokenName; } + public function includeUser(User $user) + { + return $this->item($user, new UserTransformer); + } + public function transform(User $user) { return [ 'account_key' => $user->account->account_key, 'name' => $user->account->name, 'token' => $user->account->getToken($this->tokenName), - 'user' => [ - 'first_name' => $user->first_name, - 'last_name' => $user->last_name, - 'email' => $user->email, - ] ]; } } \ No newline at end of file diff --git a/app/Ninja/Transformers/UserTransformer.php b/app/Ninja/Transformers/UserTransformer.php index 7dbd69dad4d5..f088bed87904 100644 --- a/app/Ninja/Transformers/UserTransformer.php +++ b/app/Ninja/Transformers/UserTransformer.php @@ -9,7 +9,7 @@ class UserTransformer extends TransformerAbstract public function transform(User $user) { return [ - 'id' => (int) $user->id, + 'id' => (int) ($user->public_id + 1), 'first_name' => $user->first_name, 'last_name' => $user->last_name, 'email' => $user->email, diff --git a/resources/views/accounts/template.blade.php b/resources/views/accounts/template.blade.php index 1e7fe16dd2a9..1d451529a5c5 100644 --- a/resources/views/accounts/template.blade.php +++ b/resources/views/accounts/template.blade.php @@ -50,21 +50,22 @@ \ No newline at end of file diff --git a/resources/views/accounts/templates_and_reminders.blade.php b/resources/views/accounts/templates_and_reminders.blade.php index bb6fb03fa21f..ad58acc119df 100644 --- a/resources/views/accounts/templates_and_reminders.blade.php +++ b/resources/views/accounts/templates_and_reminders.blade.php @@ -12,6 +12,10 @@ } + + @stop @section('content') @@ -185,6 +189,7 @@ var fieldName = 'email_' + section + '_' + field; var value = templates[field][section]; $('#' + fieldName).val(value); + editors[field].setHTML(value); refreshPreview(); } diff --git a/resources/views/partials/quill_toolbar.blade.php b/resources/views/partials/quill_toolbar.blade.php index 9e0b2e8669cd..20c39fe3c8cc 100644 --- a/resources/views/partials/quill_toolbar.blade.php +++ b/resources/views/partials/quill_toolbar.blade.php @@ -1,3 +1,5 @@ +
+
+ + +
+
+
\ No newline at end of file