@@ -277,49 +277,52 @@ const applyMutations = (config) => {
277277 const aliasObj = Object . fromEntries (
278278 config . authentication . aliases . map ( ( alias ) => [ alias . name , alias . role ] ) ,
279279 )
280- /** @param {string } role */
281- const replaceAliases = ( role ) => aliasObj [ role ] ?? role
280+ /** @param {string | string[] } role */
281+ const replaceAliases = ( role ) =>
282+ Array . isArray ( role )
283+ ? role . flatMap ( ( r ) => aliasObj [ r ] ?? r )
284+ : ( aliasObj [ role ] ?? role )
282285
283286 const replaceBothAliases = ( incomingObj ) => ( {
284287 ...incomingObj ,
285288 discordRoles : Array . isArray ( incomingObj . discordRoles )
286- ? incomingObj . discordRoles . map ( replaceAliases )
289+ ? incomingObj . discordRoles . flatMap ( replaceAliases )
287290 : undefined ,
288291 telegramGroups : Array . isArray ( incomingObj . telegramGroups )
289- ? incomingObj . telegramGroups . map ( replaceAliases )
292+ ? incomingObj . telegramGroups . flatMap ( replaceAliases )
290293 : undefined ,
291294 } )
292295
293296 Object . keys ( config . authentication . perms ) . forEach ( ( perm ) => {
294297 config . authentication . perms [ perm ] . roles =
295- config . authentication . perms [ perm ] . roles . map ( replaceAliases )
298+ config . authentication . perms [ perm ] . roles . flatMap ( replaceAliases )
296299 } )
297300
298301 config . authentication . areaRestrictions =
299302 config . authentication . areaRestrictions . map ( ( { roles, areas } ) => ( {
300- roles : roles . map ( replaceAliases ) ,
303+ roles : roles . flatMap ( replaceAliases ) ,
301304 areas,
302305 } ) )
303306
304307 config . authentication . strategies = config . authentication . strategies . map (
305308 ( strategy ) => ( {
306309 ...strategy ,
307310 allowedGuilds : Array . isArray ( strategy . allowedGuilds )
308- ? strategy . allowedGuilds . map ( replaceAliases )
311+ ? strategy . allowedGuilds . flatMap ( replaceAliases )
309312 : [ ] ,
310313 blockedGuilds : Array . isArray ( strategy . blockedGuilds )
311- ? strategy . blockedGuilds . map ( replaceAliases )
314+ ? strategy . blockedGuilds . flatMap ( replaceAliases )
312315 : [ ] ,
313316 groups : Array . isArray ( strategy . groups )
314- ? strategy . groups . map ( replaceAliases )
317+ ? strategy . groups . flatMap ( replaceAliases )
315318 : [ ] ,
316319 allowedUsers : Array . isArray ( strategy . allowedUsers )
317- ? strategy . allowedUsers . map ( replaceAliases )
320+ ? strategy . allowedUsers . flatMap ( replaceAliases )
318321 : [ ] ,
319322 trialPeriod : {
320323 ...strategy . trialPeriod ,
321324 roles : Array . isArray ( strategy ?. trialPeriod ?. roles )
322- ? strategy . trialPeriod . roles . map ( replaceAliases )
325+ ? strategy . trialPeriod . roles . flatMap ( replaceAliases )
323326 : [ ] ,
324327 } ,
325328 } ) ,
0 commit comments