<?php

declare(strict_types=1);

namespace CpCreation\VitiCore\Commerce\Catalog\Api\Resource;

use ApiPlatform\Metadata\ApiProperty;

final readonly class CatalogPublishability
{
    public const string PUBLISHABLE = 'publishable';
    public const string NOT_PUBLISHABLE = 'not_publishable';

    /**
     * @param list<CatalogPublishabilityReason> $reasons
     */
    public function __construct(
        #[ApiProperty(openapiContext: ['enum' => [self::PUBLISHABLE, self::NOT_PUBLISHABLE]])]
        public string $status,
        public array $reasons,
    ) {}
}
