From eb6cc28fbb7b5b9bc63273c5b6186ed2e2f7982c Mon Sep 17 00:00:00 2001 From: devanshu Date: Wed, 7 May 2025 13:07:55 +0530 Subject: [PATCH] fix: super admin issue --- ...1742369617678-EnforceNewBasicPlanLimits.ts | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/server/data-migrations/1742369617678-EnforceNewBasicPlanLimits.ts b/server/data-migrations/1742369617678-EnforceNewBasicPlanLimits.ts index 7bc644b4c4..1e784a20bf 100644 --- a/server/data-migrations/1742369617678-EnforceNewBasicPlanLimits.ts +++ b/server/data-migrations/1742369617678-EnforceNewBasicPlanLimits.ts @@ -16,7 +16,9 @@ export class EnforceNewBasicPlanLimits1742369617678 implements MigrationInterfac } const manager = queryRunner.manager; const nestApp = await NestFactory.createApplicationContext(await AppModule.register({ IS_GET_CONTEXT: true })); - const { LicenseCountsService } = await import(`${await getImportPath(true, edition)}/licensing/services/count.service`); + const { LicenseCountsService } = await import( + `${await getImportPath(true, edition)}/licensing/services/count.service` + ); const licenseInitService = nestApp.get(LicenseInitService); const { isValid } = await licenseInitService.initForMigration(manager); @@ -170,6 +172,32 @@ export class EnforceNewBasicPlanLimits1742369617678 implements MigrationInterfac await manager.query(archiveViewersInstanceQuery); } } + + const superAdminCountQuery = ` + SELECT COUNT(*) FROM users + WHERE status = '${USER_STATUS.ACTIVE}' AND user_type = '${USER_TYPE.INSTANCE}' + `; + const superAdminCount = await manager.query(superAdminCountQuery); + + if (superAdminCount === 0) { + const superAdminsQuery = ` + SELECT * FROM users + WHERE user_type = '${USER_TYPE.INSTANCE}' + ORDER BY id ASC + `; + const superAdmins = await manager.query(superAdminsQuery); + + if (superAdmins.length > 0) { + const oneInstanceUser = superAdmins[0]; + console.log('Activating one instance user:', oneInstanceUser.id, oneInstanceUser.email); + const activateUserQuery = ` + UPDATE users + SET status = '${USER_STATUS.ACTIVE}' + WHERE id = '${oneInstanceUser.id}' + `; + await manager.query(activateUserQuery); + } + } } await nestApp.close(); }