26 lines
846 B
Python
26 lines
846 B
Python
|
|
"""
|
||
|
|
App configuration loaded from environment / .env file.
|
||
|
|
"""
|
||
|
|
|
||
|
|
import os
|
||
|
|
from functools import lru_cache
|
||
|
|
from dotenv import load_dotenv
|
||
|
|
|
||
|
|
load_dotenv()
|
||
|
|
|
||
|
|
|
||
|
|
class Settings:
|
||
|
|
tink_client_id: str = os.environ["TINK_CLIENT_ID"]
|
||
|
|
tink_client_secret: str = os.environ["TINK_CLIENT_SECRET"]
|
||
|
|
tink_redirect_uri: str = os.getenv("TINK_REDIRECT_URI", "http://localhost:8000/callback")
|
||
|
|
app_base_url: str = os.getenv("APP_BASE_URL", "http://localhost:8000")
|
||
|
|
session_secret: str = os.getenv("SESSION_SECRET", "dev-only-change-in-prod")
|
||
|
|
tink_api_base: str = os.getenv("TINK_API_BASE", "https://api.tink.com")
|
||
|
|
tink_link_base: str = os.getenv("TINK_LINK_BASE", "https://link.tink.com")
|
||
|
|
demo_mode: bool = os.getenv("DEMO_MODE", "false").lower() in ("true", "1", "yes")
|
||
|
|
|
||
|
|
|
||
|
|
@lru_cache
|
||
|
|
def get_settings() -> Settings:
|
||
|
|
return Settings()
|