@negreanucalin8x8/n8n-nodes-8x8
Version:
This is a Work in progress
66 lines • 2.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCleanFormData = exports.buildRequest = void 0;
const replacePlaceholders = (template, data) => {
return template.replace(/{(\w+)}/g, (_, key) => {
if (key in data)
return data[key];
return `{${key}}`;
});
};
const operations = {
sms: {
base: 'https://sms.8x8.com/api/v1/subaccounts/{subAccountId}/messages',
operations: {
sendSMS: {
uri: '',
method: 'POST'
},
sendSMSBatch: {
uri: '/batch',
method: 'POST'
},
cancelBatchScheduledSMS: {
uri: '/batch/{batchId}',
method: 'DELETE'
},
sendSMSSuccessFeedback: {
uri: '/{umid}/feedback',
method: 'POST'
},
cancelTheScheduledSMS: {
uri: '/{umid}',
method: 'DELETE'
}
}
}
};
const buildRequest = (resource, operation, uriParams, formParams) => {
const baseReq = {
headers: {
Accept: "application/json",
},
json: true,
};
const baseOperationConfig = operations[resource];
const operationConfig = baseOperationConfig.operations[operation];
baseReq.uri = replacePlaceholders(baseOperationConfig.base + operationConfig.uri, uriParams);
baseReq.method = operationConfig.method;
if (["POST", "PUT"].includes(baseReq.method || '')) {
baseReq.body = formParams;
}
return baseReq;
};
exports.buildRequest = buildRequest;
const getCleanFormData = (formParams) => {
const formDataTemp = JSON.parse(JSON.stringify(formParams));
for (const key in formDataTemp) {
formDataTemp[key] = formDataTemp[key].trim();
if (formDataTemp[key] === '') {
delete formDataTemp[key];
}
}
return formDataTemp;
};
exports.getCleanFormData = getCleanFormData;
//# sourceMappingURL=executeOptions.js.map