import os

basedir = os.path.abspath(os.path.dirname(__file__))


class Settings:
    SECRET_KEY: str = os.environ.get("SECRET_KEY", 'dabaywa@sudan')
    DATABASE_URL: str = os.environ.get(
        "DATABASE_URL",
        # "sqlite:///" + os.path.join(basedir, "dabaywa.db"),
        "mysql+pymysql://tezloans_dabaywa:Test%PASS123@148.113.4.193/tezloans_dabaywa"
    )
    UPLOAD_DIR: str = os.path.join(basedir, "static", "uploads")
    MAX_UPLOAD_MB: int = 50
    ALLOWED_IMAGE_EXT = {"png", "jpg", "jpeg", "gif", "webp", "svg"}
    ALLOWED_VIDEO_EXT = {"mp4", "webm", "ogg"}
    ALLOWED_AUDIO_EXT = {"mp3", "wav", "ogg", "m4a"}
    ARTICLES_PER_PAGE: int = 12
    # VAPID keys for push notifications (generate your own for production)
    VAPID_PUBLIC_KEY: str = os.environ.get("VAPID_PUBLIC_KEY", "")
    VAPID_PRIVATE_KEY: str = os.environ.get("VAPID_PRIVATE_KEY", "")
    VAPID_EMAIL: str = os.environ.get("VAPID_EMAIL", "mailto:admin@dabaywa.sd")
    # Social media links
    FACEBOOK_URL: str = os.environ.get("FACEBOOK_URL", "")
    TWITTER_URL: str = os.environ.get("TWITTER_URL", "")
    WHATSAPP_NUMBER: str = os.environ.get("WHATSAPP_NUMBER", "00251977090188")
    SITE_URL: str = os.environ.get("SITE_URL", "https://dabaywa.efficosoftwares.com/")


settings = Settings()

# Ensure upload dirs
for sub in ("images", "videos", "audio", "avatars", "logos", "ads"):
    os.makedirs(os.path.join(settings.UPLOAD_DIR, sub), exist_ok=True)
os.makedirs(os.path.join(basedir, "static", "images"), exist_ok=True)
