@@ -277,49 +277,52 @@ const applyMutations = (config) => {
277
277
const aliasObj = Object . fromEntries (
278
278
config . authentication . aliases . map ( ( alias ) => [ alias . name , alias . role ] ) ,
279
279
)
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 )
282
285
283
286
const replaceBothAliases = ( incomingObj ) => ( {
284
287
...incomingObj ,
285
288
discordRoles : Array . isArray ( incomingObj . discordRoles )
286
- ? incomingObj . discordRoles . map ( replaceAliases )
289
+ ? incomingObj . discordRoles . flatMap ( replaceAliases )
287
290
: undefined ,
288
291
telegramGroups : Array . isArray ( incomingObj . telegramGroups )
289
- ? incomingObj . telegramGroups . map ( replaceAliases )
292
+ ? incomingObj . telegramGroups . flatMap ( replaceAliases )
290
293
: undefined ,
291
294
} )
292
295
293
296
Object . keys ( config . authentication . perms ) . forEach ( ( perm ) => {
294
297
config . authentication . perms [ perm ] . roles =
295
- config . authentication . perms [ perm ] . roles . map ( replaceAliases )
298
+ config . authentication . perms [ perm ] . roles . flatMap ( replaceAliases )
296
299
} )
297
300
298
301
config . authentication . areaRestrictions =
299
302
config . authentication . areaRestrictions . map ( ( { roles, areas } ) => ( {
300
- roles : roles . map ( replaceAliases ) ,
303
+ roles : roles . flatMap ( replaceAliases ) ,
301
304
areas,
302
305
} ) )
303
306
304
307
config . authentication . strategies = config . authentication . strategies . map (
305
308
( strategy ) => ( {
306
309
...strategy ,
307
310
allowedGuilds : Array . isArray ( strategy . allowedGuilds )
308
- ? strategy . allowedGuilds . map ( replaceAliases )
311
+ ? strategy . allowedGuilds . flatMap ( replaceAliases )
309
312
: [ ] ,
310
313
blockedGuilds : Array . isArray ( strategy . blockedGuilds )
311
- ? strategy . blockedGuilds . map ( replaceAliases )
314
+ ? strategy . blockedGuilds . flatMap ( replaceAliases )
312
315
: [ ] ,
313
316
groups : Array . isArray ( strategy . groups )
314
- ? strategy . groups . map ( replaceAliases )
317
+ ? strategy . groups . flatMap ( replaceAliases )
315
318
: [ ] ,
316
319
allowedUsers : Array . isArray ( strategy . allowedUsers )
317
- ? strategy . allowedUsers . map ( replaceAliases )
320
+ ? strategy . allowedUsers . flatMap ( replaceAliases )
318
321
: [ ] ,
319
322
trialPeriod : {
320
323
...strategy . trialPeriod ,
321
324
roles : Array . isArray ( strategy ?. trialPeriod ?. roles )
322
- ? strategy . trialPeriod . roles . map ( replaceAliases )
325
+ ? strategy . trialPeriod . roles . flatMap ( replaceAliases )
323
326
: [ ] ,
324
327
} ,
325
328
} ) ,
0 commit comments