import server from aiohttp import web from ..services.workflow_service import WorkflowService from ..utils.openapi_utils import OpenAPISpecGenerator class AppController: def __init__(self, manager: WorkflowService): self.manager = manager self.setup_routes() def setup_routes(self): """Setup API documentation and general routes""" @server.PromptServer.instance.routes.get("/connect") async def index(request): return web.Response(text=''' ''', content_type="text/html") @server.PromptServer.instance.routes.get("/connect/openapi.json") async def openapi_spec(request): workflows = [] names = await self.manager.list_workflows() for name in names: workflow = await self.manager.get_workflow(name) workflows.append(workflow) generator = OpenAPISpecGenerator(workflows) return web.json_response(generator.generate())