| 12345678910111213141516171819202122232425262728293031323334353637383940 | <?php
namespace App\DTO;
use App\Models\Setting\DocumentDefault;
readonly class DocumentColumnLabelDTO
{
    public function __construct(
        public string $items = 'Items',
        public string $units = 'Quantity',
        public string $price = 'Price',
        public string $amount = 'Amount',
    ) {}
    public function toArray(): array
    {
        return [
            'items' => $this->items,
            'units' => $this->units,
            'price' => $this->price,
            'amount' => $this->amount,
        ];
    }
    public static function fromModel(DocumentDefault $settings): self
    {
        return new self(
            items: $settings->resolveColumnLabel('item_name', 'Items'),
            units: $settings->resolveColumnLabel('unit_name', 'Quantity'),
            price: $settings->resolveColumnLabel('price_name', 'Price'),
            amount: $settings->resolveColumnLabel('amount_name', 'Amount'),
        );
    }
    public static function getDefaultLabels(): self
    {
        return new self;
    }
}
 |