mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-10 15:17:41 +00:00
Merge pull request #306 from SyncrowIOT/bugifx/fix-delete-propagation
Bugifx/fix-delete-propagation
This commit is contained in:
@ -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,
|
||||
|
@ -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(
|
||||
|
Reference in New Issue
Block a user