import { PayWithCodeService } from '../Services/PayWithCodeService'; import { CreateOrderRequestBuilder } from '../RequestDTOs/CreateOrderRequest'; import { QueryOrderResultBuilder } from '../RequestDTOs/QueryOrderResultRequest'; import { ErrorResponse } from '../ResponseDTOs/ErrorResponse'; import { PayInCreateOrderResponse } from '../ResponseDTOs/PayInCreateOrderResponseOld'; import { PayWithMMOService } from '../Services/PayWithMMOService'; export class PayWithMMOServiceManager { private payWithMMOService: PayWithMMOService; constructor( private appId: string, private countryCode: string, privateKey: string, isTest: boolean ) { this.payWithMMOService = new PayWithMMOService( appId, countryCode, privateKey, isTest ); } async createOrder(createOrderRequestBuilder: CreateOrderRequestBuilder) { try { const createOrderResponse = await this.payWithMMOService.createOrder(createOrderRequestBuilder); console.log('Manager Order Response:', (createOrderResponse as PayInCreateOrderResponse).data); return createOrderResponse; } catch (error) { console.error('Error creating order:', error); } } async fetchOrderStatus(builder: QueryOrderResultBuilder) { try { const fetchOrderStatusResponse = await this.payWithMMOService.fetchOrderStatus(builder); console.log('Create Order Response:', fetchOrderStatusResponse); return fetchOrderStatusResponse; } catch (error) { console.error('Error creating order:', error); } } }