<?php

declare(strict_types=1);

namespace App\Administration\Domain\Exception;

use App\Administration\Domain\Model\Import\ImportBatchId;
use App\Administration\Domain\Model\Import\ImportStatus;
use DomainException;

use function sprintf;

final class ImportNonDemarrableException extends DomainException
{
    public static function pourStatut(ImportBatchId $batchId, ImportStatus $status): self
    {
        return new self(sprintf(
            'L\'import "%s" ne peut pas être démarré depuis le statut "%s".',
            $batchId,
            $status->value,
        ));
    }

    public static function mappingManquant(ImportBatchId $batchId): self
    {
        return new self(sprintf(
            'L\'import "%s" ne peut pas être démarré sans mapping de colonnes.',
            $batchId,
        ));
    }
}
