Add vendors and clients as available include for recurring expenses

This commit is contained in:
David Bomba 2022-12-19 12:57:21 +11:00
parent 66ba48bb49
commit 7fc794bfde

View File

@ -15,6 +15,7 @@ use App\Models\Document;
use App\Models\RecurringExpense;
use App\Utils\Traits\MakesHash;
use Illuminate\Database\Eloquent\SoftDeletes;
use League\Fractal\Resource\Item;
/**
* class RecurringExpenseTransformer.
@ -33,6 +34,8 @@ class RecurringExpenseTransformer extends EntityTransformer
*/
protected $availableIncludes = [
'documents',
'client',
'vendor',
];
public function includeDocuments(RecurringExpense $recurring_expense)
@ -42,6 +45,28 @@ class RecurringExpenseTransformer extends EntityTransformer
return $this->includeCollection($recurring_expense->documents, $transformer, Document::class);
}
public function includeClient(RecurringExpense $recurring_expense): ?Item
{
$transformer = new ClientTransformer($this->serializer);
if (!$recurring_expense->client) {
return null;
}
return $this->includeItem($recurring_expense->client, $transformer, Client::class);
}
public function includeVendor(RecurringExpense $recurring_expense): ?Item
{
$transformer = new VendorTransformer($this->serializer);
if (!$recurring_expense->vendor) {
return null;
}
return $this->includeItem($recurring_expense->vendor, $transformer, Vendor::class);
}
/**
* @param RecurringExpense $recurring_expense
*