From 1f42f86b60e040137471a7c7786da13844d8984c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Goran=20Meki=C4=87?= Date: Tue, 12 Dec 2023 15:32:51 +0100 Subject: [PATCH] Switch to lifespan --- freenit/api/router.py | 15 --------------- freenit/app.py | 16 +++++++--------- freenit/version.py | 2 +- 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/freenit/api/router.py b/freenit/api/router.py index e10e4fa..7daf40f 100644 --- a/freenit/api/router.py +++ b/freenit/api/router.py @@ -1,21 +1,6 @@ from fastapi import FastAPI -from ..config import getConfig from ..decorators import FreenitAPI api = FastAPI() route = FreenitAPI(api) - - -@api.on_event("startup") -async def startup(): - config = getConfig() - if not config.database.is_connected: - await config.database.connect() - - -@api.on_event("shutdown") -async def shutdown(): - config = getConfig() - if config.database.is_connected: - await config.database.disconnect() diff --git a/freenit/app.py b/freenit/app.py index 0b11db6..232b307 100644 --- a/freenit/app.py +++ b/freenit/app.py @@ -1,3 +1,4 @@ +from contextlib import asynccontextmanager from fastapi import FastAPI import freenit.config @@ -5,19 +6,16 @@ from .api import api config = freenit.config.getConfig() -app = FastAPI() -@app.on_event("startup") -async def startup() -> None: - if not config.database.is_connected: - await config.database.connect() - - -@app.on_event("shutdown") -async def shutdown() -> None: +@asynccontextmanager +async def lifespan(app: FastAPI): if config.database.is_connected: await config.database.disconnect() + yield + if not config.database.is_connected: + await config.database.connect() +app = FastAPI(lifespan=lifespan) app.mount(config.api_root, api) diff --git a/freenit/version.py b/freenit/version.py index 2630fbe..84d8153 100644 --- a/freenit/version.py +++ b/freenit/version.py @@ -1 +1 @@ -version = "0.2.30" +version = "0.2.31"