UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

69 lines 3.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAll = getAll; const change_case_1 = require("change-case"); const n8n_workflow_1 = require("n8n-workflow"); const transport_1 = require("../../../transport"); async function getAll(index) { const returnAll = this.getNodeParameter('returnAll', index); const additionalFields = this.getNodeParameter('additionalFields', index); const qs = {}; const requestMethod = 'GET'; const endpoint = '/users'; const body = {}; if (additionalFields.inTeam) { qs.in_team = additionalFields.inTeam; } if (additionalFields.notInTeam) { qs.not_in_team = additionalFields.notInTeam; } if (additionalFields.inChannel) { qs.in_channel = additionalFields.inChannel; } if (additionalFields.notInChannel) { qs.not_in_channel = additionalFields.notInChannel; } if (additionalFields.sort) { qs.sort = (0, change_case_1.snakeCase)(additionalFields.sort); } const validRules = { inTeam: ['last_activity_at', 'created_at', 'username'], inChannel: ['status', 'username'], }; if (additionalFields.sort) { if (additionalFields.inTeam !== undefined || additionalFields.inChannel !== undefined) { if (additionalFields.inTeam !== undefined && !validRules.inTeam.includes((0, change_case_1.snakeCase)(additionalFields.sort))) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `When In Team is set the only valid values for sorting are ${validRules.inTeam.join(',')}`, { itemIndex: index }); } if (additionalFields.inChannel !== undefined && !validRules.inChannel.includes((0, change_case_1.snakeCase)(additionalFields.sort))) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), `When In Channel is set the only valid values for sorting are ${validRules.inChannel.join(',')}`, { itemIndex: index }); } if (additionalFields.inChannel === '' && additionalFields.sort !== 'username') { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'When sort is different than username In Channel must be set', { itemIndex: index }); } if (additionalFields.inTeam === '' && additionalFields.sort !== 'username') { throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'When sort is different than username In Team must be set', { itemIndex: index }); } } else { throw new n8n_workflow_1.NodeOperationError(this.getNode(), "When sort is defined either 'in team' or 'in channel' must be defined", { itemIndex: index }); } } if (additionalFields.sort === 'username') { qs.sort = ''; } if (!returnAll) { qs.per_page = this.getNodeParameter('limit', index); } let responseData; if (returnAll) { responseData = await transport_1.apiRequestAllItems.call(this, requestMethod, endpoint, body, qs); } else { responseData = await transport_1.apiRequest.call(this, requestMethod, endpoint, body, qs); } return this.helpers.returnJsonArray(responseData); } //# sourceMappingURL=execute.js.map