n8n-nodes-base
Version:
Base nodes of n8n
33 lines • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRoles = getRoles;
const utils_1 = require("../helpers/utils");
const transport_1 = require("../transport");
async function getRoles() {
const guildId = this.getNodeParameter('guildId', undefined, {
extractValue: true,
});
const isOAuth2 = this.getNodeParameter('authentication', '') === 'oAuth2';
if (isOAuth2) {
const userGuilds = (await transport_1.discordApiRequest.call(this, 'GET', '/users/@me/guilds'));
(0, utils_1.checkAccessToGuild)(this.getNode(), guildId, userGuilds);
}
let response = await transport_1.discordApiRequest.call(this, 'GET', `/guilds/${guildId}/roles`);
const operations = this.getNodeParameter('operation');
if (operations === 'roleRemove') {
const userId = this.getNodeParameter('userId', undefined, {
extractValue: true,
});
const userRoles = ((await transport_1.discordApiRequest.call(this, 'GET', `/guilds/${guildId}/members/${userId}`)).roles || []);
response = response.filter((role) => {
return userRoles.includes(role.id);
});
}
return response
.filter((role) => role.name !== '@everyone' && !role.managed)
.map((role) => ({
name: role.name,
value: role.id,
}));
}
//# sourceMappingURL=loadOptions.js.map