<?php

declare(strict_types=1);

/*
 * This file is part of the VITICORE2 package.
 *
 * (c) CP Creation <web@cpcreation.fr>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace CpCreation\VitiCore\Bridge\Symfony\Bundle\Mailer\Command;

use CpCreation\VitiCore\Bridge\Symfony\Bundle\Messenger\Messaging\CommandInterface;
use Symfony\Component\Messenger\Attribute\AsMessage;

#[AsMessage('async')]
final class OrderMailCommand implements CommandInterface
{
    public const string TYPE_OFFLINE_ORDER = 'offline_order';
    public const string TYPE_PAID_ORDER = 'paid_order';
    public const string TYPE_ORDER_CUSTOMER = 'order_customer';
    public const string TYPE_ORDER_RESEND_CUSTOMER = 'order_resend_customer';
    public const string TYPE_DELIVERY = 'delivery';
    public const string TYPE_CREDIT_CUSTOMER = 'credit_customer';

    public function __construct(
        public string $cartId,
        public string $type,
    ) {
    }
}
