Files
guides/backend/main.py
2026-06-03 22:05:20 +02:00

27 lines
739 B
Python

from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from config import FRONTEND_DIST, STORAGE_DIR, PROJECTS_CACHE_DIR
from database import init_db, close_db
from routes import router
@asynccontextmanager
async def lifespan(app: FastAPI):
(STORAGE_DIR / "html").mkdir(parents=True, exist_ok=True)
(STORAGE_DIR / "pdf").mkdir(parents=True, exist_ok=True)
PROJECTS_CACHE_DIR.mkdir(parents=True, exist_ok=True)
await init_db()
yield
await close_db()
app = FastAPI(title="Guides Generator", lifespan=lifespan)
app.include_router(router)
if FRONTEND_DIST.exists():
app.mount("/", StaticFiles(directory=FRONTEND_DIST, html=True), name="frontend")