diff --git a/src/handler/order/order.router.ts b/src/handler/order/order.router.ts index 41e41b0539f4088cad44d2f35140bcdaddf85252..05cdfc02badf3d7e7a84eb9a27be0ba1260520e8 100644 --- a/src/handler/order/order.router.ts +++ b/src/handler/order/order.router.ts @@ -12,4 +12,21 @@ OrderRouter.get('/available-order', async (request: Request, response: Response) } catch (error: any) { return response.status(500).json(error.message); } -}) \ No newline at end of file +}) +OrderRouter.get('/order/:id', async (request: Request, response: Response) => { + try { + const order = await OrderServices.getOrderById(parseInt(request.params.id)); + return response.status(200).json(order); + } catch (error: any) { + return response.status(500).json(error.message); + } +}) + +OrderRouter.get('/order-details/:id', async (request: Request, response: Response) => { + try { + const orderDetails = await OrderServices.getOrderDetails(parseInt(request.params.id)); + return response.status(200).json(orderDetails); + } catch (error: any) { + return response.status(500).json(error.message); + } +}) diff --git a/src/handler/order/order.service.ts b/src/handler/order/order.service.ts index 9140dac1ed03a4ee802b2fc6efe06b124bff9a72..883b9a46a632404667dafa343981cbb07b681f51 100644 --- a/src/handler/order/order.service.ts +++ b/src/handler/order/order.service.ts @@ -1,18 +1,23 @@ -import { getPesananNoKurir } from "../soap-caller/PesananSoapCaller"; +import { getPesananByIdPesanan, getPesananNoKurir } from "../soap-caller/PesananSoapCaller"; import OrderInterface from "../../interfaces/OrderInterface"; +import { getDetailPesanan } from "../soap-caller/DetailPesananSoapCaller"; +import OrderDetail from "../../interfaces/OrderDetail"; +import { ConvertArray, ConvertSingle } from "../../utils/JSONConverter"; export async function getAvailableOrder() { const response = await getPesananNoKurir(); - console.log(response); - if(response === null) { - return []; - } - - const JSONArray = Array.isArray(response) ? response : [response]; + const availableOrder = ConvertArray<OrderInterface>(response); + return availableOrder; +} - const availableOrder = JSONArray.map((item: any) => { - return JSON.parse(JSON.stringify(item)) as OrderInterface; - }); +export async function getOrderById(orderId : number) { + const response = await getPesananByIdPesanan(orderId); + const order = ConvertSingle(response); + return order; +} - return availableOrder; +export async function getOrderDetails(orderId : number) { + const response = await getDetailPesanan(orderId); + const orderDetails = ConvertArray<OrderDetail>(response); + return orderDetails; } \ No newline at end of file diff --git a/src/interfaces/OrderDetail.ts b/src/interfaces/OrderDetail.ts index 46cf53060e1c2400bdf37ead9dd0ecfe0edb2b81..b6e98d5a8f439fda465c9a932e4c798a10b68e2f 100644 --- a/src/interfaces/OrderDetail.ts +++ b/src/interfaces/OrderDetail.ts @@ -1,7 +1,7 @@ export default interface OrderDetail { id_pesanan : number - nama_produk : string + nama_product : string quantity : number harga : number } \ No newline at end of file