UNPKG

n8n-nodes-everest-tms

Version:

Everest TMS n8n integration

84 lines 4.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeClientOperations = executeClientOperations; const GenericFunctions_1 = require("../GenericFunctions"); async function executeClientOperations(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', '/clients/get', { id }); return response.client || response; } if (operation === 'getMany') { const options = this.getNodeParameter('options', itemIndex, {}); let body = (0, GenericFunctions_1.cleanObject)(options); // Handle date conversion for Europe/Paris timezone body = (0, GenericFunctions_1.convertDateFieldsToParisTimezone)(body, ['date_between_start', 'date_between_end']); // 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', '/clients', body); return response.clients || []; } else { return await GenericFunctions_1.everestApiRequestAllItems.call(this, 'clients', 'POST', '/clients', body); } } if (operation === 'create') { const email = this.getNodeParameter('email', itemIndex); const firstName = this.getNodeParameter('first_name', itemIndex); const lastName = this.getNodeParameter('last_name', itemIndex); const tel = this.getNodeParameter('tel', itemIndex); const password = this.getNodeParameter('password', itemIndex); const passwordRepeat = this.getNodeParameter('password_repeat', itemIndex); const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {}); const customInfos = this.getNodeParameter('custom_infos', itemIndex, {}); (0, GenericFunctions_1.validateRequiredFields)({ email, first_name: firstName, last_name: lastName, tel, password, password_repeat: passwordRepeat }, ['email', 'first_name', 'last_name', 'tel', 'password', 'password_repeat']); const body = { email, first_name: firstName, last_name: lastName, tel, password, password_repeat: passwordRepeat, ...(0, GenericFunctions_1.cleanObject)(additionalFields), }; // Handle custom infos if (customInfos.info) { body.custom_infos = (0, GenericFunctions_1.formatCustomInfos)(customInfos.info); } const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/clients/create', body); return response.client || response; } if (operation === 'update') { const id = this.getNodeParameter('id', itemIndex); const updateFields = this.getNodeParameter('updateFields', itemIndex, {}); const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {}); const customInfos = this.getNodeParameter('custom_infos', itemIndex, {}); (0, GenericFunctions_1.validateRequiredFields)({ id }, ['id']); const body = { id, ...(0, GenericFunctions_1.cleanObject)(updateFields), ...(0, GenericFunctions_1.cleanObject)(additionalFields), }; // Handle custom infos if (customInfos.info) { body.custom_infos = (0, GenericFunctions_1.formatCustomInfos)(customInfos.info); } const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/clients/update', body); return response.client || response; } if (operation === 'delete') { const id = this.getNodeParameter('id', itemIndex); (0, GenericFunctions_1.validateRequiredFields)({ id }, ['id']); const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/clients/delete', { id }); return response.client || response; } throw new Error(`The operation "${operation}" is not known!`); } //# sourceMappingURL=ClientOperations.js.map