"""
Configurações do serviço PX3Lab Follow-up Notifier.
"""
import os

# ---------------------------------------------------------------------------
# Servidor HTTP
# ---------------------------------------------------------------------------
HOST = "0.0.0.0"
PORT = 5051

# ---------------------------------------------------------------------------
# Banco de dados
# ---------------------------------------------------------------------------
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
DB_PATH = os.path.join(BASE_DIR, "followup.db")

# ---------------------------------------------------------------------------
# Logs
# ---------------------------------------------------------------------------
LOG_PATH = "/opt/mia/logs/px3_followup.log"

# ---------------------------------------------------------------------------
# Location ID PX3Lab (Linkia / GHL)
# ---------------------------------------------------------------------------
LOCATION_ID = "W7PGxpfbsFaEEUoQOtUb"

# ---------------------------------------------------------------------------
# DinastiAPI (envio de WhatsApp)
# ---------------------------------------------------------------------------
DINASTIA_URL = "https://dinastiapi.agentesclimb.us"
DINASTIA_TOKEN = os.environ.get("DINASTIA_TOKEN", "KSDFJKSFJSLFJSF")
DINASTIA_SEND_ENDPOINT = "/chat/send/text"

# ---------------------------------------------------------------------------
# Tags monitoradas e intervalos de follow-up (em horas)
# ---------------------------------------------------------------------------
TAGS_CONFIG = {
    "nutricao_cloud_photorf": {
        "label": "Nutrição Cloud PhotoRF",
        # 1h(teste), 24h, 36h, 48h, 5d, 10d, 15d, 25d, 40d, 60d
        "delays_hours": [1, 24, 36, 48, 120, 240, 360, 600, 960, 1440],
    },
    "iniciou_fluxo_compra_cloud": {
        "label": "Iniciou Fluxo de Compra Cloud",
        # 24h, 36h, 48h, 5d, 10d, 15d, 25d, 40d, 60d
        "delays_hours": [24, 36, 48, 120, 240, 360, 600, 960, 1440],
    },
}

# ---------------------------------------------------------------------------
# Mapeamento assignedTo (GHL user id) -> WhatsApp
# ---------------------------------------------------------------------------
USER_PHONE_MAP = {
    "FKCKhrtdwZjHS6ISgAFF": "5511934313883",  # Monique Miranda
    "n2TXqcFucc2mSfK5p0Do": "5511985318465",  # Mary Oliveira
    "3egsMwQ3G5rHFHVhp555": "5511992311361",  # Vinícius Amaral
    # Naiane (0ZFCVED2VANUkXjfB4tL): sem número cadastrado - skip
}

# ---------------------------------------------------------------------------
# Worker
# ---------------------------------------------------------------------------
WORKER_INTERVAL_SECONDS = 1800  # 30 min


# ---------------------------------------------------------------------------
# Utilidades
# ---------------------------------------------------------------------------
def delay_label(hours: int) -> str:
    """Formata o intervalo em horas para texto humano (ex: 24h -> '1 dia')."""
    if hours < 24:
        return f"{hours}h"
    days = hours // 24
    if days == 1:
        return "1 dia"
    return f"{days} dias"
