From de44058c76493eee18d02f61ea307c8928fdbc78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Beganovi=C4=87?= Date: Thu, 21 Jul 2022 16:50:34 +0200 Subject: [PATCH] `client` include for expenses --- app/Transformers/ExpenseTransformer.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/Transformers/ExpenseTransformer.php b/app/Transformers/ExpenseTransformer.php index aa191ab73a0e..839b2cd03325 100644 --- a/app/Transformers/ExpenseTransformer.php +++ b/app/Transformers/ExpenseTransformer.php @@ -15,6 +15,7 @@ use App\Models\Document; use App\Models\Expense; use App\Utils\Traits\MakesHash; use Illuminate\Database\Eloquent\SoftDeletes; +use League\Fractal\Resource\Item; /** * class ExpenseTransformer. @@ -31,7 +32,9 @@ class ExpenseTransformer extends EntityTransformer /** * @var array */ - protected $availableIncludes = []; + protected $availableIncludes = [ + 'client', + ]; public function includeDocuments(Expense $expense) { @@ -40,6 +43,17 @@ class ExpenseTransformer extends EntityTransformer return $this->includeCollection($expense->documents, $transformer, Document::class); } + public function includeClient(Expense $expense): ?Item + { + $transformer = new ClientTransformer($this->serializer); + + if (!$expense->client) { + return null; + } + + return $this->includeItem($expense->client, $transformer, Client::class); + } + /** * @param Expense $expense *