summaryrefslogtreecommitdiffstats
path: root/openbb_platform/core/openbb_core/api/app_loader.py
diff options
context:
space:
mode:
Diffstat (limited to 'openbb_platform/core/openbb_core/api/app_loader.py')
-rw-r--r--openbb_platform/core/openbb_core/api/app_loader.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/openbb_platform/core/openbb_core/api/app_loader.py b/openbb_platform/core/openbb_core/api/app_loader.py
index 9c8330af10b..d6ff19878ca 100644
--- a/openbb_platform/core/openbb_core/api/app_loader.py
+++ b/openbb_platform/core/openbb_core/api/app_loader.py
@@ -1,12 +1,30 @@
+"""App loader module."""
+
from typing import List, Optional
from fastapi import APIRouter, FastAPI
+from openbb_core.app.router import RouterLoader
class AppLoader:
"""App loader."""
@staticmethod
+ def get_openapi_tags() -> List[dict]:
+ """Get openapi tags."""
+ main_router = RouterLoader.from_extensions()
+ openapi_tags = []
+ # Add tag data for each router in the main router
+ for r in main_router.routers:
+ openapi_tags.append(
+ {
+ "name": r,
+ "description": main_router.get_attr(r, "description"),
+ }
+ )
+ return openapi_tags
+
+ @staticmethod
def from_routers(
app: FastAPI, routers: List[Optional[APIRouter]], prefix: str
) -> FastAPI: