<?php

namespace App\DTOs;

readonly class CreativeBrief
{
    public function __construct(
        public string $productName,
        public array $benefits,
        public array $features,
        public array $images,
        public string $messaging,
        public string $cta,
    ) {}

    public static function fromArray(array $data): self
    {
        return new self(
            productName: $data['product_name'] ?? '',
            benefits: $data['benefits'] ?? [],
            features: $data['features'] ?? [],
            images: $data['images'] ?? [],
            messaging: $data['messaging'] ?? '',
            cta: $data['cta'] ?? '',
        );
    }

    public function toArray(): array
    {
        return [
            'product_name' => $this->productName,
            'benefits' => $this->benefits,
            'features' => $this->features,
            'images' => $this->images,
            'messaging' => $this->messaging,
            'cta' => $this->cta,
        ];
    }
}
