ekart/backend/app/Data/Product/ProductImageDTO.php
2026-03-25 17:17:35 +05:30

37 lines
800 B
PHP

<?php
namespace App\Data\Product;
use App\Contracts\OutputDataTransferObject;
use App\Models\ProductImage;
final readonly class ProductImageDTO implements OutputDataTransferObject
{
public function __construct(
public ?int $id = null,
public ?string $path = null,
public ?int $productId = null,
) {}
public static function fromModel(ProductImage $productImage): self
{
return new self(
$productImage->id,
$productImage->path,
$productImage->product_id
);
}
/**
* @return array<string, mixed>
*/
public function toArray(): array
{
return [
'id' => $this->id,
'path' => $this->path,
'productId' => $this->productId,
];
}
}