from typing import Optional
from typing import Dict


def get_env_variables(
    edgedb_host: str,
    edgedb_password: str,
    edgedb_tls_ca: str,
    github_application_id: str,
    oauth_application_id: str,
    oauth_application_secret: str,
    server_url: str,
    application_secret: str,
    organization_name: str,
    organization_display_name: Optional[str],
) -> Dict[str, str]:
    """
    Returns a dictionary of all environmental variables
    handled by the web service.
    """
    return {
        "EDGEDB_HOST": edgedb_host or "127.0.0.1",
        "EDGEDB_USER": "edgedb",
        "EDGEDB_PASSWORD": edgedb_password,
        "EDGEDB_TLS_CA": edgedb_tls_ca,
        "GITHUB_RSA_PRIVATE_KEY": "private-key.pem",
        "GITHUB_APPLICATION_ID": github_application_id,
        "GITHUB_OAUTH_APPLICATION_ID": oauth_application_id,
        "GITHUB_OAUTH_APPLICATION_SECRET": oauth_application_secret,
        "SERVER_URL": server_url,
        "SECRET": application_secret,
        "ORGANIZATION_NAME": organization_name,
        "ORGANIZATION_DISPLAY_NAME": organization_display_name or "edgedb",
    }