import os
from pathlib import Path


class Settings:
    def __init__(
        self,
        database_path,
        portal_dir,
        admin_email,
        admin_password,
        token_secret,
        encryption_key,
        public_base_url,
        updates_dir,
    ):
        self.database_path = database_path
        self.portal_dir = portal_dir
        self.admin_email = admin_email
        self.admin_password = admin_password
        self.token_secret = token_secret
        self.encryption_key = encryption_key
        self.public_base_url = public_base_url
        self.updates_dir = updates_dir


def load_settings():
    root = Path(__file__).resolve().parents[2]
    return Settings(
        database_path=Path(os.getenv("TUTV_DATABASE", root / "data" / "tutv.db")),
        portal_dir=Path(os.getenv("TUTV_PORTAL_DIR", root / "activaciones")),
        admin_email=os.getenv("TUTV_ADMIN_EMAIL", "admin@panelespro.xyz"),
        admin_password=os.getenv("TUTV_ADMIN_PASSWORD", "cambiar-en-produccion"),
        token_secret=os.getenv("TUTV_TOKEN_SECRET", "dev-token-secret-change-me"),
        encryption_key=os.getenv("TUTV_ENCRYPTION_KEY", "dev-encryption-key-change-me"),
        public_base_url=os.getenv("TUTV_PUBLIC_BASE_URL", "https://panelespro.xyz"),
        updates_dir=Path(os.getenv("TUTV_UPDATES_DIR", root / "updates")),
    )
