diff --git a/src/modules/transaction/transaction/domain/usecases/managers/batch-confirm-data-transaction.manager.ts b/src/modules/transaction/transaction/domain/usecases/managers/batch-confirm-data-transaction.manager.ts index d3e593a..0371b7e 100644 --- a/src/modules/transaction/transaction/domain/usecases/managers/batch-confirm-data-transaction.manager.ts +++ b/src/modules/transaction/transaction/domain/usecases/managers/batch-confirm-data-transaction.manager.ts @@ -18,12 +18,29 @@ import { TransactionPaymentType } from '../../../constants'; @Injectable() export class BatchConfirmDataTransactionManager extends BaseBatchUpdateStatusManager { validateData(data: TransactionEntity): Promise { + if ( + [ + TransactionPaymentType.BANK_TRANSFER, + TransactionPaymentType.QRIS, + ].includes(this.data.payment_type) && + (!this.data.payment_date || + !this.data.payment_total || + !this.data.payment_type_method_number || + !this.data.payment_type_method_name) + ) { + throw new UnprocessableEntityException({ + statusCode: HttpStatus.UNPROCESSABLE_ENTITY, + message: `Gagal! tolong lengkapi data terlebih dahulu`, + error: 'Unprocessable Entity', + }); + } + if ( ![STATUS.PENDING, STATUS.REJECTED, STATUS.EXPIRED].includes(data.status) ) { throw new UnprocessableEntityException({ statusCode: HttpStatus.UNPROCESSABLE_ENTITY, - message: `Failed! only data booking with status ${STATUS.PENDING}, ${STATUS.REJECTED}, ${STATUS.EXPIRED} can be confirm`, + message: `Gagal! hanya pemesanan dengan status ${STATUS.PENDING}, ${STATUS.REJECTED}, ${STATUS.EXPIRED} dapat dikonfirmasi`, error: 'Unprocessable Entity', }); } diff --git a/src/modules/transaction/transaction/domain/usecases/managers/confirm-data-transaction.manager.ts b/src/modules/transaction/transaction/domain/usecases/managers/confirm-data-transaction.manager.ts index f860f9e..3961cbb 100644 --- a/src/modules/transaction/transaction/domain/usecases/managers/confirm-data-transaction.manager.ts +++ b/src/modules/transaction/transaction/domain/usecases/managers/confirm-data-transaction.manager.ts @@ -21,6 +21,23 @@ export class ConfirmDataTransactionManager extends BaseUpdateStatusManager { + if ( + [ + TransactionPaymentType.BANK_TRANSFER, + TransactionPaymentType.QRIS, + ].includes(this.data.payment_type) && + (!this.data.payment_date || + !this.data.payment_total || + !this.data.payment_type_method_number || + !this.data.payment_type_method_name) + ) { + throw new UnprocessableEntityException({ + statusCode: HttpStatus.UNPROCESSABLE_ENTITY, + message: `Gagal! tolong lengkapi data terlebih dahulu`, + error: 'Unprocessable Entity', + }); + } + return; } @@ -32,7 +49,7 @@ export class ConfirmDataTransactionManager extends BaseUpdateStatusManager