UNPKG

n8n-nodes-apitable

Version:
68 lines 3.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fixOpenApi = fixOpenApi; function fixOpenApi(doc) { for (let _path in doc["paths"]) { let path = doc["paths"][_path]; for (let _method in path) { if (true) { if (path[_method]["parameters"] != undefined && path[_method]["parameters"].length > 0) { let consumes = path[_method]["consumes"]; let bodys = path[_method]["parameters"].filter((item) => item["in"] == "body"); let formDatas = path[_method]["parameters"].filter((item) => item["in"] == "formData"); path[_method]["parameters"] = path[_method]["parameters"].filter((item) => item["in"] != "body" && item["in"] != "formData"); let requestBody = { "content": {}, "required": true, "flag": true }; requestBody.required = bodys.find((item) => item["required"] == true) != undefined; requestBody.content["application/json"] = { "schema": { "type": "object", "properties": bodys.reduce((acc, item) => { acc[item["name"]] = item; return acc; }, {}), "required": formDatas.filter((item) => item["required"] == true).map((item) => item["name"]) } }; delete requestBody.flag; if (formDatas.length > 0) { requestBody.required = formDatas.find((item) => item["required"] == true) != undefined; if (consumes == undefined || consumes.includes("application/json") || true) { requestBody.content["application/json"] = { "schema": { "type": "object", "properties": formDatas.reduce((acc, item) => { acc[item["name"]] = item; return acc; }, {}), "required": formDatas.filter((item) => item["required"] == true).map((item) => item["name"]) } }; delete requestBody.flag; } if (consumes != undefined && consumes.includes("multipart/form-data")) { requestBody.content["multipart/form-data"] = { "schema": { "type": "object", "properties": formDatas.reduce((acc, item) => { acc[item["name"]] = item; return acc; }, {}), "required": formDatas.filter((item) => item["required"] == true).map((item) => item["name"]) } }; delete requestBody.flag; } } if (requestBody.flag == undefined) { path[_method]["requestBody"] = requestBody; } } } } } } //# sourceMappingURL=utils.js.map