UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

77 lines 2.57 kB
"use strict"; 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