n8n-nodes-everest-tms
Version:
Everest TMS n8n integration
61 lines • 2.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.executeNotificationOperations = executeNotificationOperations;
const GenericFunctions_1 = require("../GenericFunctions");
async function executeNotificationOperations(itemIndex) {
const operation = this.getNodeParameter('operation', itemIndex);
if (operation === 'sendSms') {
const telsString = this.getNodeParameter('tels', itemIndex);
const text = this.getNodeParameter('text', itemIndex);
const missionRef = this.getNodeParameter('mission_ref', itemIndex, '');
(0, GenericFunctions_1.validateRequiredFields)({ tels: telsString, text }, ['tels', 'text']);
// Convert comma-separated string to array
const tels = telsString.split(',').map(tel => tel.trim()).filter(tel => tel.length > 0);
if (tels.length === 0) {
throw new Error('At least one phone number is required');
}
const body = {
tels,
text,
};
if (missionRef) {
body.mission_ref = missionRef;
}
return await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/notifications/send-sms', body);
}
if (operation === 'sendEmail') {
const emailsString = this.getNodeParameter('emails', itemIndex);
const text = this.getNodeParameter('text', itemIndex);
const missionRef = this.getNodeParameter('mission_ref', itemIndex, '');
(0, GenericFunctions_1.validateRequiredFields)({ emails: emailsString, text }, ['emails', 'text']);
// Convert comma-separated string to array
const emails = emailsString.split(',').map(email => email.trim()).filter(email => email.length > 0);
if (emails.length === 0) {
throw new Error('At least one email address is required');
}
const body = {
emails,
text,
};
if (missionRef) {
body.mission_ref = missionRef;
}
return await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/notifications/send-email', body);
}
if (operation === 'sendPushNotification') {
const agentId = this.getNodeParameter('agent_id', itemIndex);
const text = this.getNodeParameter('text', itemIndex);
const missionRef = this.getNodeParameter('mission_ref', itemIndex, '');
(0, GenericFunctions_1.validateRequiredFields)({ agent_id: agentId, text }, ['agent_id', 'text']);
const body = {
agent_id: agentId,
text,
};
if (missionRef) {
body.mission_ref = missionRef;
}
return await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/notifications/send-push-notification', body);
}
throw new Error(`The operation "${operation}" is not known!`);
}
//# sourceMappingURL=NotificationOperations.js.map