Added task statuses to the API

This commit is contained in:
Hillel Coren 2018-12-30 12:08:26 +02:00
parent ce6d705d90
commit 1f393fc065
3 changed files with 47 additions and 0 deletions

View file

@ -368,6 +368,14 @@ class Account extends Eloquent
return $this->hasMany('App\Models\TaxRate');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function task_statuses()
{
return $this->hasMany('App\Models\TaskStatus')->orderBy('sort_order');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/

View file

@ -0,0 +1,26 @@
<?php
namespace App\Ninja\Transformers;
use App\Models\Account;
use App\Models\TaskStatus;
/**
* @SWG\Definition(definition="Task", @SWG\Xml(name="Task"))
*/
class TaskStatusTransformer extends EntityTransformer
{
public function __construct(Account $account)
{
parent::__construct($account);
}
public function transform(TaskStatus $taskStatus)
{
return array_merge($this->getDefaults($taskStatus), [
'id' => (int) $taskStatus->public_id,
'name' => $taskStatus->name ?: '',
'sort_order' => (int) $taskStatus->sort_order + 1,
]);
}
}

View file

@ -63,6 +63,7 @@ class UserAccountTransformer extends EntityTransformer
'expense_categories',
'account_email_settings',
'custom_payment_terms',
'task_statuses',
];
protected $tokenName;
@ -105,6 +106,18 @@ class UserAccountTransformer extends EntityTransformer
return $this->includeCollection($this->account->users, $transformer, 'users');
}
/**
* @param Account $account
*
* @return \League\Fractal\Resource\Collection
*/
public function includeTaskStatuses(User $user)
{
$transformer = new TaskStatusTransformer($this->account, $this->serializer);
return $this->includeCollection($this->account->task_statuses, $transformer, 'task_statuses');
}
/**
* @param Account $account
*