vendor include for expenses

This commit is contained in:
Benjamin Beganović 2022-07-21 16:54:47 +02:00
parent de44058c76
commit 3c313848d8

View File

@ -13,6 +13,7 @@ namespace App\Transformers;
use App\Models\Document; use App\Models\Document;
use App\Models\Expense; use App\Models\Expense;
use App\Models\Vendor;
use App\Utils\Traits\MakesHash; use App\Utils\Traits\MakesHash;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use League\Fractal\Resource\Item; use League\Fractal\Resource\Item;
@ -34,6 +35,7 @@ class ExpenseTransformer extends EntityTransformer
*/ */
protected $availableIncludes = [ protected $availableIncludes = [
'client', 'client',
'vendor',
]; ];
public function includeDocuments(Expense $expense) public function includeDocuments(Expense $expense)
@ -54,6 +56,17 @@ class ExpenseTransformer extends EntityTransformer
return $this->includeItem($expense->client, $transformer, Client::class); return $this->includeItem($expense->client, $transformer, Client::class);
} }
public function includeVendor(Expense $expense): ?Item
{
$transformer = new VendorTransformer($this->serializer);
if (!$expense->vendor) {
return null;
}
return $this->includeItem($expense->vendor, $transformer, Vendor::class);
}
/** /**
* @param Expense $expense * @param Expense $expense
* *