UNPKG

@negreanucalin8x8/n8n-nodes-8x8

Version:
63 lines 2.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RequestHelper = void 0; const apiDef_helper_1 = require("./apiDef.helper"); class RequestHelper { replacePlaceholders(template, data) { return template.replace(/{(\w+)}/g, (_, key) => { if (key in data) return data[key]; return `{${key}}`; }); } buildRequest(resource, operation, uriParams, formParams) { const baseReq = { headers: { Accept: "application/json", }, json: true, }; const baseOperationConfig = apiDef_helper_1.ApiDefHelper.getResource(resource); const operationConfig = apiDef_helper_1.ApiDefHelper.getOperation(resource, operation); baseReq.uri = this.replacePlaceholders(baseOperationConfig.base + operationConfig.uri, uriParams); baseReq.method = operationConfig.method; if (["POST", "PUT"].includes(baseReq.method || '')) { baseReq.body = formParams; } return baseReq; } static getCleanFormData(formParams) { var _a; const cleanValue = (value) => { if (typeof value === 'string') { const trimmed = value.trim(); return trimmed === '' ? undefined : trimmed; } if (Array.isArray(value)) { const cleanedArray = value .map(cleanValue) .filter(v => v !== undefined); return cleanedArray.length > 0 ? cleanedArray : undefined; } if (typeof value === 'object' && value !== null) { const cleanedObject = {}; for (const key in value) { const cleaned = cleanValue(value[key]); if (cleaned !== undefined) { cleanedObject[key] = cleaned; } } return Object.keys(cleanedObject).length > 0 ? cleanedObject : undefined; } return value; }; return (_a = cleanValue(formParams)) !== null && _a !== void 0 ? _a : {}; } getAllUriParams(resource, operation) { const operationDef = apiDef_helper_1.ApiDefHelper.getOperation(resource, operation); const str = apiDef_helper_1.ApiDefHelper.getResource(resource).base + operationDef.uri; return [...str.matchAll(/{(.*?)}/g)].map(m => m[1]); } } exports.RequestHelper = RequestHelper; //# sourceMappingURL=request.helper.js.map