Merge pull request #306 from SyncrowIOT/bugifx/fix-delete-propagation

Bugifx/fix-delete-propagation
This commit is contained in:
hannathkadher
2025-03-11 22:31:33 +04:00
committed by GitHub
2 changed files with 29 additions and 8 deletions

View File

@ -40,16 +40,21 @@ export class PropogateUpdateSpaceModelHandler
async execute(command: PropogateUpdateSpaceModelCommand): Promise<void> {
const { subspaceModels, spaces } = command.param;
try {
if (!subspaceModels || subspaceModels.length === 0) return;
if (!spaces || spaces.length === 0) return;
if (!subspaceModels || subspaceModels.length === 0) return;
if (!spaces || spaces.length === 0) return;
for (const subspaceModel of subspaceModels) {
if (subspaceModel.action === ModifyAction.ADD) {
await this.addSubspaceModel(subspaceModel, spaces);
} else if (subspaceModel.action === ModifyAction.DELETE) {
await this.deleteSubspaceModel(subspaceModel, spaces);
for (const subspaceModel of subspaceModels) {
if (subspaceModel.action === ModifyAction.ADD) {
await this.addSubspaceModel(subspaceModel, spaces);
} else if (subspaceModel.action === ModifyAction.DELETE) {
await this.deleteSubspaceModel(subspaceModel, spaces);
} else if (subspaceModel.action === ModifyAction.UPDATE) {
await this.updateSubspaceModel(subspaceModel);
}
}
} catch (error) {
console.error(`Error processing subspaceModel updates`, error);
}
}
@ -152,6 +157,15 @@ export class PropogateUpdateSpaceModelHandler
}
}
async updateSubspaceModel(subspaceModel: ISingleSubspaceModel) {
return this.subspaceRepository.update(
{
subSpaceModel: { uuid: subspaceModel.subspaceModel.uuid },
disabled: false,
},
{ subspaceName: subspaceModel.subspaceModel.subspaceName },
);
}
async updateSubspaceModels(
subspaceModels: UpdatedSubspaceModelPayload[],
queryRunner: QueryRunner,

View File

@ -36,6 +36,13 @@ export class PropogateDeleteSpaceModelHandler
for (const space of spaces) {
try {
await queryRunner.manager.update(
this.spaceRepository.target,
{ uuid: space.uuid },
{
spaceModel: null,
},
);
await this.spaceService.unlinkSpaceFromModel(space, queryRunner);
} catch (innerError) {
this.logger.error(