fix: check for admin users when removing user as admin (HBE-180) (#52)

* fix: check if admin users are there in infra when removing user as an admin

* fix: corrected the logic for length check

* chore: update error message

* chore: add new error message
This commit is contained in:
Ankit Sridhar
2023-03-24 15:21:23 +05:30
committed by GitHub
parent 5164315243
commit b16e90c10d
2 changed files with 11 additions and 0 deletions

View File

@@ -9,6 +9,7 @@ import {
DUPLICATE_EMAIL,
EMAIL_FAILED,
INVALID_EMAIL,
ONLY_ONE_ADMIN_ACCOUNT,
TEAM_INVITE_ALREADY_MEMBER,
USER_ALREADY_INVITED,
USER_IS_ADMIN,
@@ -348,6 +349,9 @@ export class AdminService {
* @returns an Either of boolean or error
*/
async removeUserAsAdmin(userUID: string) {
const adminUsers = await this.userService.fetchAdminUsers();
if (adminUsers.length === 1) return E.left(ONLY_ONE_ADMIN_ACCOUNT);
const admin = await this.userService.removeUserAsAdmin(userUID);
if (E.isLeft(admin)) return E.left(admin.left);
return E.right(true);