From b5c55f95109975a2e67682a12435fa7e8caecd62 Mon Sep 17 00:00:00 2001 From: Dragory Date: Tue, 19 Feb 2019 00:22:37 +0200 Subject: [PATCH] SelfGrantableRoles: improve role name and alias parsing by accepting commas as delimiters as well --- src/plugins/SelfGrantableRoles.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/SelfGrantableRoles.ts b/src/plugins/SelfGrantableRoles.ts index 698ae73b..ecfea331 100644 --- a/src/plugins/SelfGrantableRoles.ts +++ b/src/plugins/SelfGrantableRoles.ts @@ -53,7 +53,8 @@ export class SelfGrantableRoles extends Plugin { const rolesToRemove: Set = new Set(); // Match given role names with actual grantable roles - for (const roleName of args.roleNames) { + const roleNames = args.roleNames.map(n => n.split(/[\s,]+/)).flat(); + for (const roleName of roleNames) { const normalized = roleName.toLowerCase(); let matched = false; @@ -126,7 +127,8 @@ export class SelfGrantableRoles extends Plugin { const rolesToGrant: Set = new Set(); // Match given role names with actual grantable roles - for (const roleName of args.roleNames) { + const roleNames = args.roleNames.map(n => n.split(/[\s,]+/)).flat(); + for (const roleName of roleNames) { const normalized = roleName.toLowerCase(); let matched = false; @@ -198,7 +200,8 @@ export class SelfGrantableRoles extends Plugin { return; } - const aliases = [role.name].concat(args.aliases || []); + const aliases = (args.aliases || []).map(n => n.split(/[\s,]+/)).flat(); + aliases.unshift(role.name); const normalizedAliases = aliases.map(a => a.toLowerCase()); const uniqueAliases = Array.from(new Set(normalizedAliases).values());