Add client include for quotes

This commit is contained in:
Benjamin Beganović 2022-06-06 13:38:14 +02:00
parent 7d86e0a357
commit 810a38f25d

View File

@ -18,6 +18,7 @@ use App\Models\Quote;
use App\Models\QuoteInvitation; use App\Models\QuoteInvitation;
use App\Transformers\ActivityTransformer; use App\Transformers\ActivityTransformer;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use League\Fractal\Resource\Item;
class QuoteTransformer extends EntityTransformer class QuoteTransformer extends EntityTransformer
{ {
@ -30,6 +31,7 @@ class QuoteTransformer extends EntityTransformer
protected $availableIncludes = [ protected $availableIncludes = [
'activities', 'activities',
'client',
]; ];
public function includeActivities(Quote $quote) public function includeActivities(Quote $quote)
@ -61,13 +63,6 @@ class QuoteTransformer extends EntityTransformer
return $this->includeCollection($quote->payments, $transformer, ENTITY_PAYMENT); return $this->includeCollection($quote->payments, $transformer, ENTITY_PAYMENT);
} }
public function includeClient(quote $quote)
{
$transformer = new ClientTransformer($this->account, $this->serializer);
return $this->includeItem($quote->client, $transformer, ENTITY_CLIENT);
}
public function includeExpenses(quote $quote) public function includeExpenses(quote $quote)
{ {
$transformer = new ExpenseTransformer($this->account, $this->serializer); $transformer = new ExpenseTransformer($this->account, $this->serializer);
@ -83,6 +78,13 @@ class QuoteTransformer extends EntityTransformer
return $this->includeCollection($quote->documents, $transformer, Document::class); return $this->includeCollection($quote->documents, $transformer, Document::class);
} }
public function includeClient(Quote $invoice): Item
{
$transformer = new ClientTransformer($this->serializer);
return $this->includeItem($invoice->client, $transformer, Client::class);
}
public function transform(Quote $quote) public function transform(Quote $quote)
{ {
return [ return [