import os
from pathlib import Path
from dotenv import load_dotenv

load_dotenv()

BOT_TOKEN: str = os.environ["MAX_BOT_TOKEN"]

_project_root = Path(__file__).parent
_db_path_raw = os.environ.get("DB_PATH", "data/support.db")
DB_PATH: str = str(
    Path(_db_path_raw) if Path(_db_path_raw).is_absolute() else _project_root / _db_path_raw
)
ADMIN_USERNAME: str = os.environ.get("ADMIN_USERNAME", "admin")
ADMIN_PASSWORD: str = os.environ.get("ADMIN_PASSWORD", "changeme")
ADMIN_HOST: str = os.environ.get("ADMIN_HOST", "0.0.0.0")
ADMIN_PORT: int = int(os.environ.get("ADMIN_PORT", "8080"))

# ── Intradesk API ──────────────────────────────────────────────────────────────
INTRADESK_BASE_URL: str = os.environ.get("INTRADESK_BASE_URL", "https://apigw.intradesk.ru")
# Ключ для /settings/odata (клиенты, пользователи)
INTRADESK_API_KEY: str = os.environ.get("INTRADESK_API_KEY", "")
# Ключ для /tasklist/odata (заявки)
INTRADESK_TASKS_API_KEY: str = os.environ.get("INTRADESK_TASKS_API_KEY", "")
# ID группы исполнителей для фильтрации заявок
INTRADESK_EXECUTOR_GROUP: str = os.environ.get("INTRADESK_EXECUTOR_GROUP", "")
# Список ID исполнителей через запятую (доп. фильтр)
INTRADESK_EXECUTORS: list[str] = [
    e.strip()
    for e in os.environ.get("INTRADESK_EXECUTORS", "").split(",")
    if e.strip()
]
