n8n-nodes-apitable
Version:
Apitable integration for n8n
68 lines • 3.65 kB
JavaScript
;
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