# config.py — TDX BLACK HOST configuration
import os
import logging
from pathlib import Path

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s [%(levelname)s] %(name)s: %(message)s',
    datefmt='%Y-%m-%d %H:%M:%S'
)
logger = logging.getLogger('TDX')

BOT_TOKEN: str = os.environ.get("BOT_TOKEN", "")
OWNER_ID: int = int(os.environ.get("OWNER_ID", "0"))
PORT: int = int(os.environ.get("PORT", "8080"))
DATABASE_PATH: str = os.environ.get("DATABASE_PATH", "tdx_host.db")

BASE_DIR = Path(__file__).parent
PROJECTS_DIR = BASE_DIR / "projects"
LOGS_DIR = BASE_DIR / "logs"
LOCK_FILE = BASE_DIR / "bot_instance.lock"

PROJECTS_DIR.mkdir(exist_ok=True)
LOGS_DIR.mkdir(exist_ok=True)

MAX_FILE_SIZE_MB = 20
MAX_ZIP_EXTRACT_MB = 100
MAX_LOG_LINES = 50

SUBSCRIPTION_LIMITS = {
    "FREE":    {"projects": 3,  "label": "Free"},
    "PREMIUM": {"projects": 15, "label": "Premium"},
    "ADMIN":   {"projects": -1, "label": "Admin"},
    "OWNER":   {"projects": -1, "label": "Owner"},
}

BRAND = "TDX BLACK HOST"
VERSION = "2.0.0"

if not BOT_TOKEN:
    logger.critical("BOT_TOKEN is not set. Exiting.")
    raise SystemExit(1)

if OWNER_ID == 0:
    logger.critical("OWNER_ID is not set. Exiting.")
    raise SystemExit(1)