Compare commits

..

No commits in common. "e00a6aae316caee65948301e9bf1f0647c225411" and "995f4b963c9224e9df5a17919ea95a89f1998463" have entirely different histories.

3 changed files with 11 additions and 37 deletions

View File

@ -2,7 +2,6 @@ import { Injectable } from '@nestjs/common';
import { EventBus } from '@nestjs/cqrs'; import { EventBus } from '@nestjs/cqrs';
import { mappingMidtransTransaction } from '../../domain/usecases/helpers/mapping-transaction.helper'; import { mappingMidtransTransaction } from '../../domain/usecases/helpers/mapping-transaction.helper';
import { Snap } from 'midtrans-client'; import { Snap } from 'midtrans-client';
import { MidtransStatus } from '../../domain/entities/midtrans-callback.event';
@Injectable() @Injectable()
export class MidtransService { export class MidtransService {
@ -20,8 +19,8 @@ export class MidtransService {
return await this.midtransInstance.transaction.status(orderId); return await this.midtransInstance.transaction.status(orderId);
} }
async changeStatus(orderId: string, action: MidtransStatus): Promise<any> { async cancelOrder(orderId: string): Promise<any> {
return await this.midtransInstance.transaction[action](orderId); return await this.midtransInstance.transaction.cancel(orderId);
} }
async create(body): Promise<any> { async create(body): Promise<any> {

View File

@ -6,10 +6,3 @@ export interface IEventMidtrans {
id: string; id: string;
data: any; data: any;
} }
export enum MidtransStatus {
approve = 'approve',
deny = 'deny',
cancel = 'cancel',
expire = 'expire',
}

View File

@ -1,21 +1,9 @@
import { import { Body, Controller, Get, Injectable, Param, Post } from '@nestjs/common';
Body, import { ApiTags } from '@nestjs/swagger';
Controller,
Get,
Injectable,
Param,
Post,
Query,
UnprocessableEntityException,
} from '@nestjs/common';
import { ApiQuery, ApiTags } from '@nestjs/swagger';
import { Public } from 'src/core/guards'; import { Public } from 'src/core/guards';
import { MidtransService } from '../data/services/midtrans.service'; import { MidtransService } from '../data/services/midtrans.service';
import { EventBus } from '@nestjs/cqrs'; import { EventBus } from '@nestjs/cqrs';
import { import { MidtransCallbackEvent } from '../domain/entities/midtrans-callback.event';
MidtransCallbackEvent,
MidtransStatus,
} from '../domain/entities/midtrans-callback.event';
import { MidtransDto } from './dto/midtrans.dto'; import { MidtransDto } from './dto/midtrans.dto';
@ApiTags(`midtrans`) @ApiTags(`midtrans`)
@ -46,20 +34,14 @@ export class MidtransController {
} }
} }
@Get(':id/change-status') @Get(':id/cancel')
@ApiQuery({ name: 'status', enum: MidtransStatus }) async cancel(@Param('id') id: string) {
async cancel(
@Param('id') id: string,
@Query('status') status = MidtransStatus.cancel,
) {
try { try {
return await this.dataService.changeStatus(id, status); const data = await this.dataService.cancelOrder(id);
return data;
} catch (error) { } catch (error) {
const data = console.log(error.message);
error.ApiResponse?.status_message ?? throw new Error('Gagal update status transaksi');
error.message ??
'Gagal update status transaksi';
throw new UnprocessableEntityException(data);
} }
} }