OrderItemData.php 821 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. namespace App\Data\Pagarme\Request\OrderRequestData;
  3. use App\Data\Pagarme\PagarmeData;
  4. final readonly class OrderItemData extends PagarmeData
  5. {
  6. public function __construct(
  7. public string $code,
  8. public int $amount,
  9. public int $quantity,
  10. public ?string $description = null,
  11. ) {
  12. self::requireFilled($this->code, 'items.code');
  13. self::requirePositiveInt($this->amount, 'items.amount');
  14. self::requirePositiveInt($this->quantity, 'items.quantity');
  15. }
  16. public function toArray(): array
  17. {
  18. return $this->filterFilledRecursive([
  19. 'code' => $this->code,
  20. 'amount' => $this->amount,
  21. 'quantity' => $this->quantity,
  22. 'description' => $this->description,
  23. ]);
  24. }
  25. }