diff --git a/src/database/migrations/1724233193743-add-breakdown-to-transaction-item.ts b/src/database/migrations/1724233193743-add-breakdown-to-transaction-item.ts new file mode 100644 index 0000000..1cce0ce --- /dev/null +++ b/src/database/migrations/1724233193743-add-breakdown-to-transaction-item.ts @@ -0,0 +1,19 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class AddBreakdownToTransactionItem1724233193743 + implements MigrationInterface +{ + name = 'AddBreakdownToTransactionItem1724233193743'; + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "transaction_items" ADD "breakdown_bundling" boolean NOT NULL DEFAULT false`, + ); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "transaction_items" DROP COLUMN "breakdown_bundling"`, + ); + } +} diff --git a/src/modules/transaction/transaction/data/models/transaction-item.model.ts b/src/modules/transaction/transaction/data/models/transaction-item.model.ts index 9a0560c..01eab5a 100644 --- a/src/modules/transaction/transaction/data/models/transaction-item.model.ts +++ b/src/modules/transaction/transaction/data/models/transaction-item.model.ts @@ -90,6 +90,9 @@ export class TransactionItemModel }) refunds: RefundItemModel[]; + @Column('boolean', { name: 'breakdown_bundling', default: false }) + breakdown_bundling: boolean; + @OneToMany( () => TransactionItemBreakdownModel, (model) => model.transaction_item, diff --git a/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts b/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts index bedc6ec..d45dd62 100644 --- a/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts +++ b/src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper.ts @@ -55,6 +55,7 @@ export function mappingTransaction(data, refundId?: string) { id: itemData.item_category_id, name: itemData.item_category_name, }, + breakdown_bundling: itemData.breakdown_bundling, bundling_items: itemData.bundling_items, }, id: itemData.id, @@ -189,6 +190,7 @@ export function mappingRevertTransaction(data, type) { item_bundlings: item.item.bundling_items?.map( (bundling) => bundling.name, ), + breakdown_bundling: item.item.breakdown_bundling, bundling_items: item.item.bundling_items?.map((bundling) => { if (bundling.item_id) return bundling; return {