added currency transformer to incomes/expenses api

This commit is contained in:
denisdulici
2018-02-09 16:18:56 +03:00
parent dc9b33a68f
commit e97731eed9
9 changed files with 144 additions and 64 deletions

View File

@ -7,6 +7,7 @@ use App\Transformers\Income\InvoiceHistories;
use App\Transformers\Income\InvoiceItems;
use App\Transformers\Income\InvoicePayments;
use App\Transformers\Income\InvoiceStatus;
use App\Transformers\Setting\Currency;
use App\Models\Income\Invoice as Model;
use League\Fractal\TransformerAbstract;
@ -15,7 +16,7 @@ class Invoice extends TransformerAbstract
/**
* @var array
*/
protected $defaultIncludes = ['customer', 'status', 'items', 'payments', 'histories'];
protected $defaultIncludes = ['currency', 'customer', 'histories', 'items', 'payments', 'status'];
/**
* @param Model $model
@ -47,6 +48,15 @@ class Invoice extends TransformerAbstract
];
}
/**
* @param Model $model
* @return mixed
*/
public function includeCurrency(Model $model)
{
return $this->item($model->currency, new Currency());
}
/**
* @param Model $model
* @return \League\Fractal\Resource\Item
@ -56,24 +66,6 @@ class Invoice extends TransformerAbstract
return $this->item($model->customer, new Customer());
}
/**
* @param Model $model
* @return \League\Fractal\Resource\Item
*/
public function includeStatus(Model $model)
{
return $this->item($model->status, new InvoiceStatus());
}
/**
* @param Model $model
* @return \League\Fractal\Resource\Collection
*/
public function includeItems(Model $model)
{
return $this->collection($model->items, new InvoiceItems());
}
/**
* @param Model $model
* @return \League\Fractal\Resource\Collection
@ -83,6 +75,15 @@ class Invoice extends TransformerAbstract
return $this->collection($model->histories, new InvoiceHistories());
}
/**
* @param Model $model
* @return \League\Fractal\Resource\Collection
*/
public function includeItems(Model $model)
{
return $this->collection($model->items, new InvoiceItems());
}
/**
* @param Model $model
* @return \League\Fractal\Resource\Collection
@ -91,4 +92,13 @@ class Invoice extends TransformerAbstract
{
return $this->collection($model->payments, new InvoicePayments());
}
/**
* @param Model $model
* @return \League\Fractal\Resource\Item
*/
public function includeStatus(Model $model)
{
return $this->item($model->status, new InvoiceStatus());
}
}