Merge pull request #831 from bigcapitalhq/fix-tenant-build

fix: organization build db connection error
This commit is contained in:
Ahmed Bouhuolia
2025-10-25 14:59:28 +02:00
committed by GitHub
2 changed files with 9 additions and 7 deletions

View File

@@ -26,6 +26,7 @@ import { GetCurrentOrganizationService } from './queries/GetCurrentOrganization.
import { UpdateOrganizationService } from './commands/UpdateOrganization.service'; import { UpdateOrganizationService } from './commands/UpdateOrganization.service';
import { IgnoreTenantInitializedRoute } from '../Tenancy/EnsureTenantIsInitialized.guard'; import { IgnoreTenantInitializedRoute } from '../Tenancy/EnsureTenantIsInitialized.guard';
import { IgnoreTenantSeededRoute } from '../Tenancy/EnsureTenantIsSeeded.guards'; import { IgnoreTenantSeededRoute } from '../Tenancy/EnsureTenantIsSeeded.guards';
import { IgnoreTenantModelsInitialize } from '../Tenancy/TenancyInitializeModels.guard';
import { GetBuildOrganizationBuildJob } from './commands/GetBuildOrganizationJob.service'; import { GetBuildOrganizationBuildJob } from './commands/GetBuildOrganizationJob.service';
import { OrganizationBaseCurrencyLocking } from './Organization/OrganizationBaseCurrencyLocking.service'; import { OrganizationBaseCurrencyLocking } from './Organization/OrganizationBaseCurrencyLocking.service';
import { import {
@@ -39,6 +40,7 @@ import { ApiCommonHeaders } from '@/common/decorators/ApiCommonHeaders';
@Controller('organization') @Controller('organization')
@IgnoreTenantInitializedRoute() @IgnoreTenantInitializedRoute()
@IgnoreTenantSeededRoute() @IgnoreTenantSeededRoute()
@IgnoreTenantModelsInitialize()
@ApiExtraModels(GetCurrentOrganizationResponseDto) @ApiExtraModels(GetCurrentOrganizationResponseDto)
@ApiCommonHeaders() @ApiCommonHeaders()
export class OrganizationController { export class OrganizationController {
@@ -48,7 +50,7 @@ export class OrganizationController {
private readonly updateOrganizationService: UpdateOrganizationService, private readonly updateOrganizationService: UpdateOrganizationService,
private readonly getBuildOrganizationJobService: GetBuildOrganizationBuildJob, private readonly getBuildOrganizationJobService: GetBuildOrganizationBuildJob,
private readonly orgBaseCurrencyLockingService: OrganizationBaseCurrencyLocking, private readonly orgBaseCurrencyLockingService: OrganizationBaseCurrencyLocking,
) {} ) { }
@Post('build') @Post('build')
@HttpCode(200) @HttpCode(200)

View File

@@ -23,7 +23,7 @@ export class TenantDBManager {
@Inject(SystemKnexConnection) @Inject(SystemKnexConnection)
private readonly systemKnex: Knex, private readonly systemKnex: Knex,
) {} ) { }
/** /**
* Retrieves the tenant database name. * Retrieves the tenant database name.
@@ -45,8 +45,8 @@ export class TenantDBManager {
const results = await this.systemKnex.raw( const results = await this.systemKnex.raw(
'SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = "' + 'SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = "' +
databaseName + databaseName +
'"', '"',
); );
return results[0].length > 0; return results[0].length > 0;
} }
@@ -73,12 +73,12 @@ export class TenantDBManager {
*/ */
public async dropDatabaseIfExists() { public async dropDatabaseIfExists() {
const tenant = await this.tenancyContext.getTenant(); const tenant = await this.tenancyContext.getTenant();
const isExists = await this.databaseExists(tenant); const isExists = await this.databaseExists();
if (!isExists) { if (!isExists) {
return; return;
} }
await this.dropDatabase(tenant); await this.dropDatabase();
} }
/** /**
@@ -115,7 +115,7 @@ export class TenantDBManager {
* @return {Promise<void>} * @return {Promise<void>}
*/ */
async throwErrorIfTenantDBExists(tenant: TenantModel) { async throwErrorIfTenantDBExists(tenant: TenantModel) {
const isExists = await this.databaseExists(tenant); const isExists = await this.databaseExists();
if (isExists) { if (isExists) {
throw new TenantDBAlreadyExists(); throw new TenantDBAlreadyExists();
} }