22 lines
658 B
Python
Raw Permalink Normal View History

2025-12-04 10:04:21 +08:00
from functools import lru_cache
from typing import Dict, Type
from app.core.settings.app import AppSettings
from app.core.settings.base import AppEnvTypes, BaseAppSettings
from app.core.settings.development import DevAppSettings
from app.core.settings.production import ProdAppSettings
from app.core.settings.test import TestAppSettings
environments: Dict[AppEnvTypes, Type[AppSettings]] = {
AppEnvTypes.dev: DevAppSettings,
AppEnvTypes.prod: ProdAppSettings,
AppEnvTypes.test: TestAppSettings,
}
@lru_cache
def get_app_settings() -> AppSettings:
app_env = BaseAppSettings().app_env
config = environments[app_env]
return config()