n8n-nodes-base
Version:
Base nodes of n8n
77 lines • 2.57 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 properties = [
...descriptions_1.returnAllOrLimit,
{
displayName: 'Options',
name: 'options',
type: 'collection',
placeholder: 'Add option',
default: {},
options: [
{
displayName: 'Filter by Type',
name: 'filter',
type: 'multiOptions',
default: [],
options: [
{
name: 'Guild Text',
value: 0,
},
{
name: 'Guild Voice',
value: 2,
},
{
name: 'Guild Category',
value: 4,
},
],
},
],
},
];
const displayOptions = {
show: {
resource: ['channel'],
operation: ['getAll'],
},
hide: {
authentication: ['webhook'],
},
};
exports.description = (0, utilities_1.updateDisplayOptions)(displayOptions, properties);
async function execute(guildId) {
const returnData = [];
try {
const returnAll = this.getNodeParameter('returnAll', 0, false);
let response = await transport_1.discordApiRequest.call(this, 'GET', `/guilds/${guildId}/channels`);
if (!returnAll) {
const limit = this.getNodeParameter('limit', 0);
response = response.slice(0, limit);
}
const options = this.getNodeParameter('options', 0, {});
if (options.filter) {
const filter = options.filter;
response = response.filter((item) => filter.includes(item.type));
}
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