import psycopg2

from config import Config


def get_connection():
    return psycopg2.connect(
        host=Config.DB_HOST,
        port=Config.DB_PORT,
        dbname=Config.DB_NAME,
        user=Config.DB_USER,
        password=Config.DB_PASSWORD,
        sslmode=Config.DB_SSLMODE,
    )


def scope_clause(column: str = "nom_epci") -> tuple[str, list[str]]:
    """Fragment SQL + paramètres filtrant sur le périmètre AULA configuré.

    Remplace les listes d'EPCI recopiées en dur dans chaque requête par
    une unique source de vérité : Config.EPCI_SCOPE (voir config.py / .env).

    Exemple :
        clause, params = scope_clause()
        query = f"... WHERE {clause} ..."
        cur.execute(query, params + autres_params)
    """
    placeholders = ", ".join(["%s"] * len(Config.EPCI_SCOPE))
    return f"{column} IN ({placeholders})", list(Config.EPCI_SCOPE)
