From 617a6fbc833e5373a5d78b8ab6d28438d418983e Mon Sep 17 00:00:00 2001 From: kriks7iitk Date: Tue, 16 Jul 2024 13:15:29 +0530 Subject: [PATCH] Admin archive isssue --- server/src/services/users.service.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server/src/services/users.service.ts b/server/src/services/users.service.ts index 02a7550b2e..c79cfef16f 100644 --- a/server/src/services/users.service.ts +++ b/server/src/services/users.service.ts @@ -7,7 +7,7 @@ import { EntityManager, Repository } from 'typeorm'; import { BadRequestException } from '@nestjs/common'; import { cleanObject, dbTransactionWrap } from 'src/helpers/utils.helper'; import { CreateFileDto } from '@dto/create-file.dto'; -import { WORKSPACE_USER_STATUS } from 'src/helpers/user_lifecycle'; +import { USER_STATUS, WORKSPACE_USER_STATUS } from 'src/helpers/user_lifecycle'; import { GROUP_PERMISSIONS_TYPE, USER_ROLE, @@ -221,9 +221,10 @@ export class UsersService { async throwErrorIfUserIsLastActiveAdmin(user: User, organizationId: string) { const result = await this.groupPermissionsUtilityService.getRoleUsersList(USER_ROLE.ADMIN, organizationId); - const isAdmin = result.find((userItem) => userItem.id === user.id); + const allActiveAdmin = result.filter((admin) => admin.organizationUsers[0].status === USER_STATUS.ACTIVE); + const isAdmin = allActiveAdmin.find((userItem) => userItem.id === user.id); - if (isAdmin && result.length < 2) throw new BadRequestException('Atleast one active admin is required'); + if (isAdmin && allActiveAdmin.length < 2) throw new BadRequestException('Atleast one active admin is required'); } async hasGroup(user: User, role: USER_ROLE, organizationId?: string, manager?: EntityManager): Promise {