UNPKG

n8n-nodes-everest-tms

Version:

Everest TMS n8n integration

86 lines 4.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.executeAgentOperations = executeAgentOperations; const GenericFunctions_1 = require("../GenericFunctions"); async function executeAgentOperations(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', '/agents/get', { id }); return response.agent || 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', '/agents', body); return response.agents || []; } else { return await GenericFunctions_1.everestApiRequestAllItems.call(this, 'agents', 'POST', '/agents', 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 addressLine1 = this.getNodeParameter('address_line1', itemIndex); const password = this.getNodeParameter('password', itemIndex); const passwordRepeat = this.getNodeParameter('password_repeat', itemIndex); const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {}); (0, GenericFunctions_1.validateRequiredFields)({ email, first_name: firstName, last_name: lastName, address_line1: addressLine1, password, password_repeat: passwordRepeat }, ['email', 'first_name', 'last_name', 'address_line1', 'password', 'password_repeat']); const body = { email, first_name: firstName, last_name: lastName, address_line1: addressLine1, password, password_repeat: passwordRepeat, ...(0, GenericFunctions_1.cleanObject)(additionalFields), }; const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/agents/create', body); return response.agent || response; } if (operation === 'update') { const id = this.getNodeParameter('id', itemIndex); const updateFields = this.getNodeParameter('updateFields', itemIndex, {}); const additionalFields = this.getNodeParameter('additionalFields', itemIndex, {}); (0, GenericFunctions_1.validateRequiredFields)({ id }, ['id']); const body = { id, ...(0, GenericFunctions_1.cleanObject)(updateFields), ...(0, GenericFunctions_1.cleanObject)(additionalFields), }; const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/agents/update', body); return response.agent || response; } if (operation === 'delete') { const id = this.getNodeParameter('id', itemIndex); (0, GenericFunctions_1.validateRequiredFields)({ id }, ['id']); return await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/agents/delete', { id }); } if (operation === 'updateLocation') { const lat = this.getNodeParameter('lat', itemIndex); const lng = this.getNodeParameter('lng', itemIndex); const id = this.getNodeParameter('id', itemIndex, null); (0, GenericFunctions_1.validateRequiredFields)({ lat, lng }, ['lat', 'lng']); const body = { lat, lng, }; if (id !== null && id > 0) { body.id = id; } const response = await GenericFunctions_1.everestApiRequest.call(this, 'POST', '/agents/geoloc', body); return response.agent || response; } throw new Error(`The operation "${operation}" is not known!`); } //# sourceMappingURL=AgentOperations.js.map