diff --git a/api/validators/AdminControllerRequests.ts b/api/validators/AdminControllerRequests.ts index d04c5130..eea02edb 100644 --- a/api/validators/AdminControllerRequests.ts +++ b/api/validators/AdminControllerRequests.ts @@ -66,4 +66,6 @@ export class ModifyUserAccessLevelRequest implements IModifyUserAccessLevelReque @IsDefined() @ArrayNotEmpty() accessUpdates: UserAccessUpdates[]; + + } diff --git a/services/UserAccountService.ts b/services/UserAccountService.ts index a1816ac5..10e84da9 100644 --- a/services/UserAccountService.ts +++ b/services/UserAccountService.ts @@ -214,10 +214,11 @@ export default class UserAccountService { throw new BadRequestError(`Couldn't find accounts matching these emails: ${emailsNotFound}`); } + const updatedUsers = await Promise.all(accessUpdates.map(async (accessUpdate, index) => { const { user, newAccess } = accessUpdate; const { accessType } = newAccess; - const currUser = users[index]; + const currUser = await userRepository.findByEmail(user); // Prevent anyone from promoting user to admin if (accessType === UserAccessType.ADMIN) { throw new ForbiddenError('You cannot promote users to admin.');