From af110cec9d46d6e2664032850fc0dfde0f34dfe8 Mon Sep 17 00:00:00 2001 From: Brian Wiborg Date: Thu, 2 Oct 2025 03:02:00 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20Fix=20FastAPI=20app=20initializa?= =?UTF-8?q?tion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ohmyapi/core/runtime.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/ohmyapi/core/runtime.py b/src/ohmyapi/core/runtime.py index b743d7f..ccf52af 100644 --- a/src/ohmyapi/core/runtime.py +++ b/src/ohmyapi/core/runtime.py @@ -81,8 +81,8 @@ class Project: # Attach routers from apps for app_name, app_def in self._apps.items(): - if app_def.router: - app.include_router(app_def.router) + for router in app_def.routers: + app.include_router(router) # Startup / shutdown events @app.on_event("startup") @@ -333,15 +333,22 @@ class App: module: out, } + @property + def routers(self): + out = [] + for routes_mod in self._routers: + for r in self._routers[routes_mod]: + out.append(r) + return out + @property def routes(self): """ Return an APIRouter with all loaded routes. """ router = APIRouter() - for routes_mod in self._routers: - for r in self._routers[routes_mod]: - router.include_router(r) + for r in self.routers: + router.include_router(r) return router.routes def dict(self) -> Dict[str, Any]: