From e922db827df4b9107f6a16e510422b54f0c0bb16 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:33:51 +0700 Subject: [PATCH 1/4] feat(SPG-777): add validation delete for tenant item bundling --- .../item-related/item/data/models/item.model.ts | 15 +++++++++++++++ .../domain/usecases/item-data.orchestrator.ts | 10 ++++++---- .../managers/batch-delete-item.manager.ts | 7 ++++++- .../usecases/managers/delete-item.manager.ts | 7 ++++++- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/modules/item-related/item/data/models/item.model.ts b/src/modules/item-related/item/data/models/item.model.ts index 1ad37d5..d22b338 100644 --- a/src/modules/item-related/item/data/models/item.model.ts +++ b/src/modules/item-related/item/data/models/item.model.ts @@ -116,4 +116,19 @@ export class ItemModel onUpdate: 'CASCADE', }) gates: GateModel[]; + + // relasi untuk mendapatkan parent bundling + @ManyToMany(() => ItemModel, (model) => model.bundling_parents) + @JoinTable({ + name: 'item_bundlings', + joinColumn: { + name: 'item_id', + referencedColumnName: 'id', + }, + inverseJoinColumn: { + name: 'item_bundling_id', + referencedColumnName: 'id', + }, + }) + bundling_parents: ItemModel[]; } diff --git a/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts b/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts index 0c9296e..0810e6a 100644 --- a/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts +++ b/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts @@ -82,10 +82,12 @@ export class ItemDataOrchestrator extends BaseDataTransactionOrchestrator { - this.batchDeleteManager.setData(dataIds); - this.batchDeleteManager.setService(this.serviceData, TABLE_NAME.ITEM); - await this.batchDeleteManager.execute(); - return this.batchDeleteManager.getResult(); + console.log('batch delete item tenant'); + return; + // this.batchDeleteManager.setData(dataIds); + // this.batchDeleteManager.setService(this.serviceData, TABLE_NAME.ITEM); + // await this.batchDeleteManager.execute(); + // return this.batchDeleteManager.getResult(); } async active(dataId, tenantId?: string): Promise { diff --git a/src/modules/item-related/item/domain/usecases/managers/batch-delete-item.manager.ts b/src/modules/item-related/item/domain/usecases/managers/batch-delete-item.manager.ts index d36aecd..66fc2b6 100644 --- a/src/modules/item-related/item/domain/usecases/managers/batch-delete-item.manager.ts +++ b/src/modules/item-related/item/domain/usecases/managers/batch-delete-item.manager.ts @@ -26,7 +26,12 @@ export class BatchDeleteItemManager extends BaseBatchDeleteManager { } get validateRelations(): validateRelations[] { - return []; + return [ + { + relation: 'bundling_parents', + message: `Gagal! Item sudah berelasi dengen bundling`, + }, + ]; } get entityTarget(): any { diff --git a/src/modules/item-related/item/domain/usecases/managers/delete-item.manager.ts b/src/modules/item-related/item/domain/usecases/managers/delete-item.manager.ts index ea95c6f..cb56206 100644 --- a/src/modules/item-related/item/domain/usecases/managers/delete-item.manager.ts +++ b/src/modules/item-related/item/domain/usecases/managers/delete-item.manager.ts @@ -29,7 +29,12 @@ export class DeleteItemManager extends BaseDeleteManager { } get validateRelations(): validateRelations[] { - return []; + return [ + { + relation: 'bundling_parents', + message: `Gagal! Item sudah berelasi dengen bundling`, + }, + ]; } get entityTarget(): any { -- 2.40.1 From e7664be8a88042127ccbe31f724c72c37209331c Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:39:40 +0700 Subject: [PATCH 3/4] feat(SPG-777): add validation delete for tenant item bundling --- .../item/domain/usecases/item-data.orchestrator.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts b/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts index 0810e6a..d262bd3 100644 --- a/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts +++ b/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts @@ -83,11 +83,10 @@ export class ItemDataOrchestrator extends BaseDataTransactionOrchestrator { console.log('batch delete item tenant'); - return; - // this.batchDeleteManager.setData(dataIds); - // this.batchDeleteManager.setService(this.serviceData, TABLE_NAME.ITEM); - // await this.batchDeleteManager.execute(); - // return this.batchDeleteManager.getResult(); + this.batchDeleteManager.setData(dataIds); + this.batchDeleteManager.setService(this.serviceData, TABLE_NAME.ITEM); + await this.batchDeleteManager.execute(); + return this.batchDeleteManager.getResult(); } async active(dataId, tenantId?: string): Promise { -- 2.40.1 From 2f19db8dd778c9bb6bb1be57a879a481f09b0267 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Tue, 6 Aug 2024 11:40:18 +0700 Subject: [PATCH 4/4] feat(SPG-777): add validation delete for tenant item bundling --- .../item-related/item/domain/usecases/item-data.orchestrator.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts b/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts index d262bd3..0c9296e 100644 --- a/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts +++ b/src/modules/item-related/item/domain/usecases/item-data.orchestrator.ts @@ -82,7 +82,6 @@ export class ItemDataOrchestrator extends BaseDataTransactionOrchestrator { - console.log('batch delete item tenant'); this.batchDeleteManager.setData(dataIds); this.batchDeleteManager.setService(this.serviceData, TABLE_NAME.ITEM); await this.batchDeleteManager.execute(); -- 2.40.1