import os
from dotenv import load_dotenv

load_dotenv()


class Config:
    # Admin key — required for DELETE and prune endpoints. Never expose to clients.
    API_KEY = os.environ.get("API_KEY", "dev-admin-key")
    # Game key — required for POST /add. Safe to embed in the game client.
    GAME_KEY = os.environ.get("GAME_KEY", "dev-game-key")
    SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///leaderboard.db")
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    DEBUG = os.environ.get("FLASK_DEBUG", "false").lower() == "true"
    TESTING = False


class TestConfig(Config):
    TESTING = True
    # Use an in-memory DB so tests are isolated and leave no files on disk
    SQLALCHEMY_DATABASE_URI = "sqlite:///:memory:"
    API_KEY = "test-admin-key"
    GAME_KEY = "test-game-key"
