n8n-nodes-base
Version:
Base nodes of n8n
69 lines • 3.3 kB
JavaScript
;
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