TER/ter/main.py

36 lines
648 B
Python

import contextlib as ctx
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from ter.config import Settings
from ter.helpers import database
from ter.routes import router
settings = Settings()
@ctx.asynccontextmanager
async def lifespan(app: FastAPI):
await database.connect()
yield
await database.disconnect()
def get_app() -> FastAPI:
app = FastAPI(
**settings.FASTAPI_PROPERTIES,
lifespan=lifespan,
)
app.mount(
"/static",
StaticFiles(directory=settings.STATIC_DIR),
name="static",
)
app.include_router(router)
return app
app = get_app()