feat: booking online response add midtrans url

pull/144/head 1.6.1-alpha.2
shancheas 2025-05-28 13:35:19 +07:00
parent 7c5b1b3aa8
commit b4f39d5ccf
2 changed files with 18 additions and 4 deletions

View File

@ -1,12 +1,14 @@
import { HttpStatus } from '@nestjs/common'; import { HttpStatus } from '@nestjs/common';
import { UnprocessableEntityException } from '@nestjs/common'; import { UnprocessableEntityException } from '@nestjs/common';
import { STATUS } from 'src/core/strings/constants/base.constants'; import { STATUS } from 'src/core/strings/constants/base.constants';
import { TransactionType } from 'src/modules/transaction/transaction/constants';
import { CreateTransactionManager } from 'src/modules/transaction/transaction/domain/usecases/managers/create-transaction.manager'; import { CreateTransactionManager } from 'src/modules/transaction/transaction/domain/usecases/managers/create-transaction.manager';
import { generateInvoiceCodeHelper } from 'src/modules/transaction/transaction/domain/usecases/managers/helpers/generate-invoice-code.helper'; import { generateInvoiceCodeHelper } from 'src/modules/transaction/transaction/domain/usecases/managers/helpers/generate-invoice-code.helper';
import { mappingRevertTransaction } from 'src/modules/transaction/transaction/domain/usecases/managers/helpers/mapping-transaction.helper';
export class CreateBookingManager extends CreateTransactionManager { export class CreateBookingManager extends CreateTransactionManager {
async beforeProcess(): Promise<void> { async beforeProcess(): Promise<void> {
await super.beforeProcess(); mappingRevertTransaction(this.data, TransactionType.ONLINE);
const invoiceCode = await generateInvoiceCodeHelper( const invoiceCode = await generateInvoiceCodeHelper(
this.dataService, this.dataService,

View File

@ -20,9 +20,8 @@ export class BookingOrderController {
) {} ) {}
@Post() @Post()
async create(@Body() data: TransactionDto): Promise<TransactionEntity> { async create(@Body() data: TransactionDto) {
const payload: Partial<TransactionEntity> = data; const payload: Partial<TransactionEntity> = data;
payload.type = TransactionType.ONLINE;
this.createBooking.setData(payload as any); this.createBooking.setData(payload as any);
this.createBooking.setService( this.createBooking.setService(
@ -31,6 +30,19 @@ export class BookingOrderController {
this.midtransService, this.midtransService,
); );
await this.createBooking.execute(); await this.createBooking.execute();
return this.createBooking.getResult(); const result = await this.createBooking.getResult();
const {
invoice_code,
status,
payment_midtrans_token,
payment_midtrans_url,
} = result;
return {
invoice_code,
status,
payment_midtrans_token,
payment_midtrans_url,
};
} }
} }