UNPKG

n8n-nodes-everest-tms

Version:

Everest TMS n8n integration

75 lines 3.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeContactOperations = executeContactOperations; const GenericFunctions_1 = require("../GenericFunctions"); async function executeContactOperations(itemIndex) { const operation = this.getNodeParameter('operation', itemIndex); if (operation === 'get') { const id = this.getNodeParameter('id', itemIndex); (0, GenericFunctions_1.validateRequiredFields)({ id }, ['id']); const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/contacts/get', { id }); return response.contact || response; } if (operation === 'getMany') { const options = this.getNodeParameter('options', itemIndex, {}); const body = (0, GenericFunctions_1.cleanObject)(options); // Handle pagination if (body.limit && body.limit > 0) { // Use custom limit_start if provided, otherwise default to 0 const limitStart = body.limit_start || 0; body.limit_start = limitStart; body.limit_end = limitStart + body.limit; delete body.limit; const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/contacts', body); return response.contacts || []; } else { return await GenericFunctions_1.everestApiRequestAllItems.call(this, 'contacts', 'POST', '/contacts', body); } } if (operation === 'create') { const email = this.getNodeParameter('email', itemIndex); const tel = this.getNodeParameter('tel', itemIndex); const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {}); (0, GenericFunctions_1.validateRequiredFields)({ email, tel }, ['email', 'tel']); const body = { email, tel, ...(0, GenericFunctions_1.cleanObject)(additionalFields), }; const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/contacts/create', body); return response.contact || response; } if (operation === 'update') { const id = this.getNodeParameter('id', itemIndex); const updateFields = this.getNodeParameter('updateFields', itemIndex, {}); (0, GenericFunctions_1.validateRequiredFields)({ id }, ['id']); const body = { id, ...(0, GenericFunctions_1.cleanObject)(updateFields), }; const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/contacts/update', body); return response.contact || response; } if (operation === 'delete') { const id = this.getNodeParameter('id', itemIndex); (0, GenericFunctions_1.validateRequiredFields)({ id }, ['id']); return await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/contacts/delete', { id }); } if (operation === 'createEvent') { const id = this.getNodeParameter('id', itemIndex); const type = this.getNodeParameter('type', itemIndex); const desc = this.getNodeParameter('desc', itemIndex, ''); (0, GenericFunctions_1.validateRequiredFields)({ id, type }, ['id', 'type']); const body = { id, type, }; if (desc) { body.desc = desc; } return await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/contacts/event', body); } throw new Error(`The operation "${operation}" is not known!`); } //# sourceMappingURL=ContactOperations.js.map