From 2a32a1a4a80827f5e1ea34cda25a92d50149e6d8 Mon Sep 17 00:00:00 2001 From: Jin Yi Date: Thu, 31 Jul 2025 07:43:49 +0900 Subject: [PATCH] Add bulk API endpoint for import fail info (#2039) * feat(api): Implement endpoint for bulk import failure info Adds the `/v2/customnode/import_fail_info_bulk` endpoint to allow fetching multiple import error statuses in a single request. * chore(api): Update OpenAPI spec for new bulk endpoint Adds the `import_fail_info_bulk` route and its corresponding request/response schemas to `openapi.yaml`. --- openapi.yaml | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/openapi.yaml b/openapi.yaml index d79b79ec..0446259e 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -104,6 +104,38 @@ components: type: boolean description: Whether the queue is currently processing + ImportFailInfoBulkRequest: + type: object + properties: + cnr_ids: + type: array + items: + type: string + description: A list of CNR IDs to check. + urls: + type: array + items: + type: string + description: A list of repository URLs to check. + + ImportFailInfoBulkResponse: + type: object + additionalProperties: + $ref: '#/components/schemas/ImportFailInfoItem' + description: >- + A dictionary where each key is a cnr_id or url from the request, + and the value is the corresponding error info. + + ImportFailInfoItem: + oneOf: + - type: object + properties: + error: + type: string + traceback: + type: string + - type: "null" + securitySchemes: securityLevel: type: apiKey @@ -306,6 +338,31 @@ paths: '400': description: No information available + /v2/customnode/import_fail_info_bulk: + post: + summary: Get import failure info for multiple nodes + description: Retrieves recorded import failure information for a list of custom nodes. + tags: + - customnode + requestBody: + description: A list of CNR IDs or repository URLs to check. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ImportFailInfoBulkRequest' + responses: + '200': + description: A dictionary containing the import failure information. + content: + application/json: + schema: + $ref: '#/components/schemas/ImportFailInfoBulkResponse' + '400': + description: Bad Request. The request body is invalid. + '500': + description: Internal Server Error. + /customnode/install/git_url: post: summary: Install custom node via Git URL