fixed delete propagation

This commit is contained in:
hannathkadher
2025-02-26 15:43:27 +04:00
parent 5d962b3c6e
commit f98c3cd4ad
3 changed files with 14 additions and 3 deletions

View File

@ -1,9 +1,11 @@
import { SpaceModelEntity } from '@app/common/modules/space-model'; import { SpaceModelEntity } from '@app/common/modules/space-model';
import { QueryRunner } from 'typeorm';
export class PropogateDeleteSpaceModelCommand { export class PropogateDeleteSpaceModelCommand {
constructor( constructor(
public readonly param: { public readonly param: {
spaceModel: SpaceModelEntity; spaceModel: SpaceModelEntity;
queryRunner: QueryRunner;
}, },
) {} ) {}
} }

View File

@ -19,8 +19,7 @@ export class PropogateDeleteSpaceModelHandler
) {} ) {}
async execute(command: PropogateDeleteSpaceModelCommand): Promise<void> { async execute(command: PropogateDeleteSpaceModelCommand): Promise<void> {
const { spaceModel } = command.param; const { spaceModel, queryRunner } = command.param;
const queryRunner = this.dataSource.createQueryRunner();
try { try {
await queryRunner.connect(); await queryRunner.connect();

View File

@ -19,7 +19,10 @@ import { ProjectEntity } from '@app/common/modules/project/entities';
import { TagModelService } from './tag-model.service'; import { TagModelService } from './tag-model.service';
import { BaseResponseDto } from '@app/common/dto/base.response.dto'; import { BaseResponseDto } from '@app/common/dto/base.response.dto';
import { CommandBus } from '@nestjs/cqrs'; import { CommandBus } from '@nestjs/cqrs';
import { PropogateUpdateSpaceModelCommand } from '../commands'; import {
PropogateDeleteSpaceModelCommand,
PropogateUpdateSpaceModelCommand,
} from '../commands';
import { import {
ModifiedTagsModelPayload, ModifiedTagsModelPayload,
ModifySubspaceModelPayload, ModifySubspaceModelPayload,
@ -293,6 +296,13 @@ export class SpaceModelService {
{ disabled: true }, { disabled: true },
); );
await this.commandBus.execute(
new PropogateDeleteSpaceModelCommand({
spaceModel: spaceModel,
queryRunner,
}),
);
await queryRunner.commitTransaction(); await queryRunner.commitTransaction();
return new SuccessResponseDto({ return new SuccessResponseDto({