From b853ceea65820d7a08dc79c2004a08c95ea160f7 Mon Sep 17 00:00:00 2001 From: Kyle Schouviller Date: Sun, 12 Mar 2023 20:03:26 -0700 Subject: [PATCH 1/2] [nodes-api] Fix API generation to correctly reference outputs --- invokeai/app/api_app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index 7bc38dc2dc..b480621093 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -113,9 +113,9 @@ def custom_openapi(): invoker_schema = openapi_schema["components"]["schemas"][invoker_name] outputs_ref = {"$ref": f"#/components/schemas/{output_type_title}"} if "additionalProperties" not in invoker_schema: - invoker_schema["additionalProperties"] = {} + invoker_schema["additionalProperties"] = { "outputs": { "additionalProperties": outputs_ref } } - invoker_schema["additionalProperties"]["outputs"] = outputs_ref + invoker_schema["additionalProperties"]["outputs"]["additionalProperties"] = outputs_ref app.openapi_schema = openapi_schema return app.openapi_schema From 24aca37538b26e4db68549a0fe12c3f75e7bea29 Mon Sep 17 00:00:00 2001 From: Kyle Schouviller Date: Sun, 12 Mar 2023 20:40:29 -0700 Subject: [PATCH 2/2] Just set output value in node schemas. Don't use additionalProperties, which would impact the schema. --- invokeai/app/api_app.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/invokeai/app/api_app.py b/invokeai/app/api_app.py index b480621093..0ce2386557 100644 --- a/invokeai/app/api_app.py +++ b/invokeai/app/api_app.py @@ -112,10 +112,8 @@ def custom_openapi(): output_type_title = output_type_titles[output_type.__name__] invoker_schema = openapi_schema["components"]["schemas"][invoker_name] outputs_ref = {"$ref": f"#/components/schemas/{output_type_title}"} - if "additionalProperties" not in invoker_schema: - invoker_schema["additionalProperties"] = { "outputs": { "additionalProperties": outputs_ref } } - invoker_schema["additionalProperties"]["outputs"]["additionalProperties"] = outputs_ref + invoker_schema["output"] = outputs_ref app.openapi_schema = openapi_schema return app.openapi_schema