Files
InvoiceShelf/app/Domains/Sales/Http/Resources/InvoiceItemResource.php
T
Darko Gjorgjijoski 5ef7804e60 refactor: adopt modular domain architecture (#747)
* refactor: stabilize model identities for domain migration

* refactor: extract module platform context

* refactor: assign models to domain contexts

* refactor: extract ai platform context

* refactor: extract storage platform context

* refactor: extract mail platform context

* refactor: extract pdf platform context

* refactor: extract operations platform context

* refactor: move installation into operations platform

* refactor: extract money domain context

* refactor: extract taxation domain context

* refactor: extract catalog domain context

* refactor: extract metadata domain context

* refactor: extract reporting domain context

* refactor: extract purchases domain context

* refactor: extract receivables domain context

* refactor: extract accounts domain context

* refactor: complete reporting statement boundary

* refactor: extract contacts domain context

* refactor: extract sales domain context

* refactor: remove legacy application layers

* fix: migrate legacy bouncer role identities
2026-08-05 17:40:03 +02:00

49 lines
1.7 KiB
PHP

<?php
namespace App\Domains\Sales\Http\Resources;
use App\Domains\Metadata\Http\Resources\CustomFieldValueResource;
use App\Domains\Taxation\Http\Resources\TaxResource;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class InvoiceItemResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param Request $request
*/
public function toArray($request): array
{
return [
'id' => $this->id,
'name' => $this->name,
'description' => $this->description,
'discount_type' => $this->discount_type,
'price' => $this->price,
'quantity' => $this->quantity,
'unit_name' => $this->unit_name,
'discount' => $this->discount,
'discount_val' => $this->discount_val,
'tax' => $this->tax,
'total' => $this->total,
'invoice_id' => $this->invoice_id,
'item_id' => $this->item_id,
'company_id' => $this->company_id,
'base_price' => $this->base_price,
'exchange_rate' => $this->exchange_rate,
'base_discount_val' => $this->base_discount_val,
'base_tax' => $this->base_tax,
'base_total' => $this->base_total,
'recurring_invoice_id' => $this->recurring_invoice_id,
'taxes' => $this->when($this->taxes()->exists(), function () {
return TaxResource::collection($this->taxes);
}),
'fields' => $this->when($this->fields()->exists(), function () {
return CustomFieldValueResource::collection($this->fields);
}),
];
}
}