feat: T03+T04 backend - FastAPI, DB models, Rentman integration, admin auth, APScheduler

This commit is contained in:
Implementation Engineer
2026-07-09 01:36:46 +02:00
parent 3bfa54b4b3
commit 88cff68f73
78 changed files with 2174 additions and 0 deletions
+43
View File
@@ -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()