n8n-nodes-base
Version:
Base nodes of n8n
86 lines • 3.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.description = void 0;
exports.execute = execute;
const descriptions_1 = require("../../../../../utils/descriptions");
const utilities_1 = require("../../../../../utils/utilities");
const utils_1 = require("../../helpers/utils");
const transport_1 = require("../../transport");
const common_description_1 = require("../common.description");
const properties = [
...descriptions_1.returnAllOrLimit,
{
displayName: 'After',
name: 'after',
type: 'string',
default: '',
placeholder: 'e.g. 786953432728469534',
description: 'The ID of the user after which to return the members',
},
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add option',
default: {},
options: [common_description_1.simplifyBoolean],
},
];
const displayOptions = {
show: {
resource: ['member'],
operation: ['getAll'],
},
hide: {
authentication: ['webhook'],
},
};
exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties);
async function execute(guildId) {
const returnData = [];
const returnAll = this.getNodeParameter('returnAll', 0, false);
const after = this.getNodeParameter('after', 0);
const qs = {};
if (!returnAll) {
const limit = this.getNodeParameter('limit', 0);
qs.limit = limit;
}
if (after) {
qs.after = after;
}
let response = [];
try {
if (!returnAll) {
const limit = this.getNodeParameter('limit', 0);
qs.limit = limit;
response = await transport_1.discordApiRequest.call(this, 'GET', `/guilds/${guildId}/members`, undefined, qs);
}
else {
let responseData;
qs.limit = 100;
do {
responseData = await transport_1.discordApiRequest.call(this, 'GET', `/guilds/${guildId}/members`, undefined, qs);
if (!responseData?.length)
break;
qs.after = responseData[responseData.length - 1].user.id;
response.push(...responseData);
} while (responseData.length);
}
const simplify = this.getNodeParameter('options.simplify', 0, false);
if (simplify) {
const simplifyResponse = (0, utils_1.createSimplifyFunction)(['user', 'roles', 'permissions']);
response = response.map(simplifyResponse);
}
const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(response), { itemData: { item: 0 } });
returnData.push(...executionData);
}
catch (error) {
const err = utils_1.parseDiscordError.call(this, error);
if (this.continueOnFail()) {
returnData.push(...utils_1.prepareErrorData.call(this, err, 0));
}
throw err;
}
return returnData;
}
//# sourceMappingURL=getAll.operation.js.map