feat: bootstrap FastAPI configuration

This commit is contained in:
Bastian Wagner
2026-08-15 09:14:33 +02:00
parent c7e834bf14
commit 91728cba86
6 changed files with 119 additions and 0 deletions

22
app/main.py Normal file
View File

@@ -0,0 +1,22 @@
from fastapi import FastAPI
from app.config import Settings, get_settings
def create_app(settings: Settings | None = None) -> FastAPI:
resolved = settings or get_settings()
resolved.data_dir.mkdir(parents=True, exist_ok=True)
resolved.tokens_dir.mkdir(parents=True, exist_ok=True)
resolved.activities_dir.mkdir(parents=True, exist_ok=True)
app = FastAPI(title="MyWhoosh Garmin Sync")
app.state.settings = resolved
@app.get("/healthz")
def healthz() -> dict[str, str]:
return {"status": "ok"}
return app
app = create_app()