openoperator / api /banners.py
OpenOperator Deployer
Deploy source revision ef73a4b421f2d1ececca20f99c9118f4621c5e28
6918275
Raw History Blame Contribute Delete
712 Bytes
from helpers.api import ApiHandler, Request, Response
from helpers.extension import call_extensions_async
class GetBanners(ApiHandler):
"""
API endpoint for Welcome Screen banners.
Add checks as extension scripts in python/extensions/banners/ or usr/extensions/banners/
"""
async def process(self, input: dict, request: Request) -> dict | Response:
banners = input.get("banners", [])
frontend_context = input.get("context", {})
# Banners array passed by reference - extensions append directly to it
await call_extensions_async("banners", agent=None, banners=banners, frontend_context=frontend_context)
return {"banners": banners}