From 6b204287193c59a2298570c2ba38ff1be6377a05 Mon Sep 17 00:00:00 2001 From: hannathkadher Date: Wed, 26 Feb 2025 00:36:37 +0400 Subject: [PATCH] added service to delete space model --- src/space-model/services/index.ts | 1 - .../space-model-product-allocation.service.ts | 35 +++++++++++++------ src/space-model/space-model.module.ts | 7 +--- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/src/space-model/services/index.ts b/src/space-model/services/index.ts index 20dca88..9999493 100644 --- a/src/space-model/services/index.ts +++ b/src/space-model/services/index.ts @@ -1,3 +1,2 @@ export * from './space-model.service'; export * from './subspace'; -export * from './tag-model.service'; diff --git a/src/space-model/services/space-model-product-allocation.service.ts b/src/space-model/services/space-model-product-allocation.service.ts index 56bbb24..3d20b28 100644 --- a/src/space-model/services/space-model-product-allocation.service.ts +++ b/src/space-model/services/space-model-product-allocation.service.ts @@ -311,16 +311,6 @@ export class SpaceModelProductAllocationService { } } - private async getAllocationByTagUuid( - tagUuid: string, - queryRunner: QueryRunner, - ): Promise { - return queryRunner.manager.findOne(SpaceModelProductAllocationEntity, { - where: { tags: { uuid: tagUuid } }, - relations: ['tags'], - }); - } - private async validateTagWithinSpaceModel( queryRunner: QueryRunner, tag: NewTagEntity, @@ -351,4 +341,29 @@ export class SpaceModelProductAllocationService { ); } } + + async clearAllAllocations(spaceModelUuid: string, queryRunner: QueryRunner) { + try { + await queryRunner.manager + .createQueryBuilder() + .delete() + .from(SpaceModelProductAllocationEntity, 'allocation') + .relation(SpaceModelProductAllocationEntity, 'tags') + .of( + await queryRunner.manager.find(SpaceModelProductAllocationEntity, { + where: { spaceModel: { uuid: spaceModelUuid } }, + }), + ) + .execute(); + + await queryRunner.manager + .createQueryBuilder() + .delete() + .from(SpaceModelProductAllocationEntity) + .where('spaceModelUuid = :spaceModelUuid', { spaceModelUuid }) + .execute(); + } catch (error) { + throw this.handleError(error, `Failed to clear all allocations`); + } + } } diff --git a/src/space-model/space-model.module.ts b/src/space-model/space-model.module.ts index 5b15275..b73eceb 100644 --- a/src/space-model/space-model.module.ts +++ b/src/space-model/space-model.module.ts @@ -2,11 +2,7 @@ import { SpaceRepositoryModule } from '@app/common/modules/space/space.repositor import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { SpaceModelController } from './controllers'; -import { - SpaceModelService, - SubSpaceModelService, - TagModelService, -} from './services'; +import { SpaceModelService, SubSpaceModelService } from './services'; import { SpaceModelProductAllocationRepoitory, SpaceModelRepository, @@ -64,7 +60,6 @@ const CommandHandlers = [ SubspaceModelRepository, ProductRepository, SubspaceRepository, - TagModelService, TagModelRepository, SubSpaceService, ValidationService,