From 29202a8e40508b3aef0816cd1995158cf2de29f1 Mon Sep 17 00:00:00 2001 From: Rudra deep Biswas Date: Tue, 13 May 2025 18:10:29 +0530 Subject: [PATCH] pass ws admin --- server/src/modules/external-apis/module.ts | 2 ++ server/src/modules/licensing/configs/LicenseBase.ts | 1 - server/src/modules/users/repository.ts | 13 +++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/server/src/modules/external-apis/module.ts b/server/src/modules/external-apis/module.ts index 042dc93662..22621363e6 100644 --- a/server/src/modules/external-apis/module.ts +++ b/server/src/modules/external-apis/module.ts @@ -8,6 +8,7 @@ import { TooljetDbModule } from '@modules/tooljet-db/module'; import { AppsModule } from '@modules/apps/module'; import { OrganizationsModule } from '@modules/organizations/module'; import { VersionModule } from '@modules/versions/module'; +import { UsersModule } from '@modules/users/module'; export class ExternalApiModule { static async register(configs?: { IS_GET_CONTEXT: boolean }): Promise { const importPath = await getImportPath(configs?.IS_GET_CONTEXT); @@ -18,6 +19,7 @@ export class ExternalApiModule { return { module: ExternalApiModule, imports: [ + await UsersModule.register(configs), await RolesModule.register(configs), await GroupPermissionsModule.register(configs), await TooljetDbModule.register(configs), diff --git a/server/src/modules/licensing/configs/LicenseBase.ts b/server/src/modules/licensing/configs/LicenseBase.ts index f4aba87211..8153708a44 100644 --- a/server/src/modules/licensing/configs/LicenseBase.ts +++ b/server/src/modules/licensing/configs/LicenseBase.ts @@ -292,7 +292,6 @@ export default class LicenseBase { return this._isServerSideGlobal; } public get externalApis(): boolean { - return true; if (this.IsBasicPlan) { return !!this.BASIC_PLAN_TERMS.features?.externalApi; } diff --git a/server/src/modules/users/repository.ts b/server/src/modules/users/repository.ts index 236e8de8fa..e3417e5e50 100644 --- a/server/src/modules/users/repository.ts +++ b/server/src/modules/users/repository.ts @@ -18,6 +18,7 @@ import { Organization } from '@entities/organization.entity'; import { OrganizationUser } from '@entities/organization_user.entity'; import { isSuperAdmin } from '@helpers/utils.helper'; import * as uuid from 'uuid'; +import { USER_ROLE } from '@modules/group-permissions/constants'; type UserFilterOptions = { searchText?: string; status?: string; page?: number }; @@ -168,6 +169,18 @@ export class UserRepository extends Repository { await manager.upsert(UserDetails, updatableParams, conflictsPaths); } + async getUserWithAdminRole(organizationId: string, manager?: EntityManager): Promise { + return dbTransactionWrap((manager: EntityManager) => { + return manager + .createQueryBuilder(User, 'user') + .innerJoin('user.userGroups', 'groupUsers') + .innerJoin('groupUsers.group', 'group') + .where('group.name = :groupName', { groupName: USER_ROLE.ADMIN }) + .andWhere('group.organizationId = :organizationId', { organizationId }) + .getOne(); + }, manager || this.manager); + } + async findByEmail( email: string, organizationId?: string,