From 0b4d2cfaf3b541d92a9f038434be421e97234e09 Mon Sep 17 00:00:00 2001 From: Esa Kataja Date: Fri, 28 Feb 2025 12:33:59 +0200 Subject: [PATCH] Add startup initialization --- src/main.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main.py b/src/main.py index a20c226..453ecd1 100644 --- a/src/main.py +++ b/src/main.py @@ -1,15 +1,33 @@ +from contextlib import asynccontextmanager from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from routes import admin, auth, review, stats +import duckdb -app = FastAPI() +from settings import settings +from lib.logger import logger + + +@asynccontextmanager +async def lifespan(app: FastAPI): + from lib import startup + + startup.init_app() + global db + db = duckdb.connect(str(settings.database_file)) + yield + db.close() + + +logger.info("Starting app") +app = FastAPI(lifespan=lifespan) app.add_middleware( CORSMiddleware, - allow_origins=['*'], + allow_origins=["*"], allow_credentials=True, - allow_methods=['*'], - allow_headers=['*'], + allow_methods=["*"], + allow_headers=["*"], ) app.include_router(auth.router) @@ -17,6 +35,7 @@ app.include_router(admin.router) app.include_router(review.router) app.include_router(stats.router) + @app.get("/") def read_root(): - return {"Hello": "World"} \ No newline at end of file + return {"Hello": "World"}