feat: T03+T04 backend - FastAPI, DB models, Rentman integration, admin auth, APScheduler
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
"""Application configuration via Pydantic Settings."""
|
||||
from pydantic_settings import BaseSettings
|
||||
from functools import lru_cache
|
||||
|
||||
|
||||
class Settings(BaseSettings):
|
||||
"""Settings loaded from environment variables."""
|
||||
|
||||
# Database
|
||||
database_url: str = "sqlite+aiosqlite:///./test.db"
|
||||
|
||||
# Redis
|
||||
redis_url: str = "redis://localhost:6379/0"
|
||||
|
||||
# Rentman
|
||||
rentman_api_token: str = ""
|
||||
|
||||
# JWT
|
||||
jwt_secret: str = "change-me-in-production"
|
||||
jwt_algorithm: str = "HS256"
|
||||
jwt_expire_hours: int = 24
|
||||
|
||||
# SMTP
|
||||
smtp_host: str = ""
|
||||
smtp_port: int = 587
|
||||
smtp_user: str = ""
|
||||
smtp_password: str = ""
|
||||
smtp_from: str = "info@hms-licht-ton.de"
|
||||
|
||||
# CORS
|
||||
cors_origins: str = "https://hms.media-on.de,http://localhost:3000"
|
||||
|
||||
# Admin seed
|
||||
admin_username: str = "admin"
|
||||
admin_password: str = "change_me_in_production"
|
||||
|
||||
model_config = {"env_file": ".env", "extra": "ignore"}
|
||||
|
||||
|
||||
@lru_cache
|
||||
def get_settings() -> Settings:
|
||||
"""Return cached settings instance."""
|
||||
return Settings()
|
||||
Reference in New Issue
Block a user