"""صف‌بندی صدور خودکار SSL برای دامنهٔ تازه‌ساخته‌شده tenant."""
from __future__ import annotations

from app.core.config import settings
from app.core.logging import get_logger

logger = get_logger(__name__)


def enqueue_domain_ssl(domain: str | None) -> None:
    """پس از ساخت دامنه، صدور/گسترش گواهی را به Celery می‌سپارد.

    اگر SSL_PROVISION_ENABLED=false باشد هیچ کاری نمی‌کند (مثلاً محیط local).
    """
    host = (domain or "").strip().lower()
    if not host:
        return
    if not settings.ssl_provision_enabled:
        logger.info("ssl_provision_skipped_disabled", extra={"domain": host})
        return
    try:
        from app.workers.tasks import provision_domain_ssl

        provision_domain_ssl.delay(host)
        logger.info("ssl_provision_enqueued", extra={"domain": host})
    except Exception as exc:  # pragma: no cover - نباید onboarding را بشکند
        logger.warning(
            "ssl_provision_enqueue_failed",
            extra={"domain": host, "error": str(exc)},
        )
