add temporary log to investigate on deletion logic (#10955)
related to [611](https://github.com/twentyhq/core-team-issues/issues/611)
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import { BadRequestException, Injectable } from '@nestjs/common';
|
||||
import { BadRequestException, Injectable, Logger } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
|
||||
import assert from 'assert';
|
||||
@ -49,6 +49,7 @@ import { extractVersionMajorMinorPatch } from 'src/utils/version/extract-version
|
||||
// eslint-disable-next-line @nx/workspace-inject-workspace-repository
|
||||
export class WorkspaceService extends TypeOrmQueryService<Workspace> {
|
||||
private readonly featureLookUpKey = BillingEntitlementKey.CUSTOM_DOMAIN;
|
||||
protected readonly logger = new Logger(WorkspaceService.name);
|
||||
|
||||
constructor(
|
||||
@InjectRepository(Workspace, 'core')
|
||||
@ -298,6 +299,12 @@ export class WorkspaceService extends TypeOrmQueryService<Workspace> {
|
||||
}
|
||||
|
||||
async deleteWorkspace(id: string, softDelete = false) {
|
||||
//TODO: delete all logs when #611 closed
|
||||
|
||||
this.logger.log(
|
||||
`${softDelete ? 'Soft' : 'Hard'} deleting workspace ${id} ...`,
|
||||
);
|
||||
|
||||
const workspace = await this.workspaceRepository.findOne({
|
||||
where: { id },
|
||||
withDeleted: true,
|
||||
@ -328,6 +335,8 @@ export class WorkspaceService extends TypeOrmQueryService<Workspace> {
|
||||
if (softDelete) {
|
||||
await this.workspaceRepository.softDelete({ id });
|
||||
|
||||
this.logger.log(`workspace ${id} soft deleted`);
|
||||
|
||||
return workspace;
|
||||
}
|
||||
|
||||
@ -339,6 +348,8 @@ export class WorkspaceService extends TypeOrmQueryService<Workspace> {
|
||||
);
|
||||
await this.workspaceRepository.delete(id);
|
||||
|
||||
this.logger.log(`workspace ${id} hard deleted`);
|
||||
|
||||
return workspace;
|
||||
}
|
||||
|
||||
|
||||
@ -254,25 +254,41 @@ export class WorkspaceManagerService {
|
||||
* @param workspaceId
|
||||
*/
|
||||
public async delete(workspaceId: string): Promise<void> {
|
||||
//TODO: delete all logs when #611 closed
|
||||
this.logger.log(`Deleting workspace ${workspaceId} ...`);
|
||||
|
||||
// Delete data from metadata tables
|
||||
await this.relationMetadataRepository.delete({
|
||||
workspaceId,
|
||||
});
|
||||
this.logger.log(`workspace ${workspaceId} relation metadata deleted`);
|
||||
|
||||
await this.fieldMetadataRepository.delete({
|
||||
workspaceId,
|
||||
});
|
||||
this.logger.log(`workspace ${workspaceId} field metadata deleted`);
|
||||
|
||||
await this.userWorkspaceRoleRepository.delete({
|
||||
workspaceId,
|
||||
});
|
||||
this.logger.log(`workspace ${workspaceId} user workspace role deleted`);
|
||||
|
||||
await this.roleRepository.delete({
|
||||
workspaceId,
|
||||
});
|
||||
this.logger.log(`workspace ${workspaceId} role deleted`);
|
||||
|
||||
await this.objectMetadataService.deleteObjectsMetadata(workspaceId);
|
||||
this.logger.log(`workspace ${workspaceId} object metadata deleted`);
|
||||
|
||||
await this.workspaceMigrationService.deleteAllWithinWorkspace(workspaceId);
|
||||
this.logger.log(`workspace ${workspaceId} migration deleted`);
|
||||
|
||||
await this.dataSourceService.delete(workspaceId);
|
||||
this.logger.log(`workspace ${workspaceId} data source deleted`);
|
||||
// Delete schema
|
||||
await this.workspaceDataSourceService.deleteWorkspaceDBSchema(workspaceId);
|
||||
this.logger.log(`workspace ${workspaceId} schema deleted`);
|
||||
}
|
||||
|
||||
private async initPermissions({
|
||||
|
||||
Reference in New Issue
Block a user