* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ declare(strict_types=1); namespace PrestaShop\PrestaShop\Core\Domain\Title\Exception; use PrestaShop\PrestaShop\Core\Domain\Title\ValueObject\TitleId; use Throwable; /** * Is raised when title or titles cannot be deleted */ class DeleteTitleException extends TitleException { /** * When fails to delete single title */ public const FAILED_DELETE = 1; /** * When fails to delete titles in bulk actions */ public const FAILED_BULK_DELETE = 2; /** * @param TitleId $titleId * @param Throwable|null $previous * * @return static */ public static function createDeleteFailure(TitleId $titleId, Throwable $previous = null): self { return new static( sprintf('Cannot delete title with id "%d"', $titleId->getValue()), static::FAILED_DELETE, $previous ); } /** * @param TitleId $titleId * @param Throwable|null $previous * * @return static */ public static function createBulkDeleteFailure(TitleId $titleId, Throwable $previous = null): self { return new static( sprintf('Cannot delete title with id "%d"', $titleId->getValue()), static::FAILED_BULK_DELETE, $previous ); } }