31 lines
942 B
Python
31 lines
942 B
Python
from functools import lru_cache
|
|
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
database_url: str = "postgresql+psycopg://train_watcher:train_watcher@localhost:5432/train_watcher"
|
|
logic_base_url: str = "http://localhost:8002"
|
|
service_token: str = "dev-service-token-change-me"
|
|
jwt_secret: str = "dev-jwt-secret-change-me"
|
|
jwt_algorithm: str = "HS256"
|
|
access_token_ttl_minutes: int = 60 * 24
|
|
|
|
s3_endpoint_url: str = "http://localhost:9000"
|
|
s3_public_base_url: str = "http://localhost:9000"
|
|
s3_access_key_id: str = "minioadmin"
|
|
s3_secret_access_key: str = "minioadmin"
|
|
s3_bucket: str = "train-watcher-media"
|
|
s3_region: str = "us-east-1"
|
|
max_upload_bytes: int = 5 * 1024 * 1024
|
|
|
|
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
|
|
|
|
|
|
@lru_cache
|
|
def get_settings() -> Settings:
|
|
return Settings()
|
|
|
|
|
|
settings = get_settings()
|