<?php

namespace Easymailing\App\Core\Provider\Woocommerce\Model;

/**
 * Motivos por los que un recurso se marca como "skipped" (no sincronizable)
 * al construir el batch, antes de enviarlo al API.
 *
 * Se guardan como valor en el meta MetadataHelper::getSkipReason() para que el
 * Dashboard pueda mostrar el detalle al usuario.
 */
class SkipReason
{
	const EMPTY_EMAIL = 'empty_email';
	const EMAIL_COLLISION = 'email_collision';
	const MISSING_CUSTOMER = 'missing_customer';

	public static function getLabel(string $reason): string
	{
		switch ($reason) {
			case self::EMPTY_EMAIL:
				return __('sin email', 'easymailing');
			case self::EMAIL_COLLISION:
				return __('email duplicado', 'easymailing');
			case self::MISSING_CUSTOMER:
				return __('sin cliente', 'easymailing');
			default:
				return $reason;
		}
	}

	public static function getHint(string $reason): string
	{
		switch ($reason) {
			case self::EMPTY_EMAIL:
				return __('Este usuario no tiene ningún email ni en la cuenta ni en la facturación.', 'easymailing');
			case self::EMAIL_COLLISION:
				return __('Este email está duplicado con otro usuario de WordPress; solo uno puede tener ese email en Easymailing.', 'easymailing');
			case self::MISSING_CUSTOMER:
				return __('El cliente asociado a este pedido no se pudo sincronizar en el API.', 'easymailing');
			default:
				return '';
		}
	}
}
