diff --git a/src/api/Order.ts b/src/api/Order.ts index e40bedb246ddfe487ea4f548abf7369f24b32aee..8d2b175aead105b04f1f331b6a4cbb6e8244eca0 100644 --- a/src/api/Order.ts +++ b/src/api/Order.ts @@ -37,3 +37,14 @@ export async function fetchOrderDetails(orderId : number) { } } +export async function fetchOrderByCourier(courierId : number) { + try { + const API_URL = REST_URL + "/order/order-courier/" + courierId; + const response = await axios.get<OrderDetail[]>(API_URL); + return response; + } catch(err) { + alert(err); + throw err; + } +} + diff --git a/src/interfaces/UserInterface.ts b/src/interfaces/UserInterface.ts index f2a6986c38b985949a5f41edb769654bedc0fed7..4a1de14ddb926f2885a1a1d17fc8b26906182981 100644 --- a/src/interfaces/UserInterface.ts +++ b/src/interfaces/UserInterface.ts @@ -1,5 +1,6 @@ export default interface UserInterface { + id : number username : string name : string email : string diff --git a/src/pages/PickedOrder.tsx b/src/pages/PickedOrder.tsx index f334a6a94a9585d6556b007d28713cbd13f6ad77..076b25bb0d4cf3df957b09d906b34034243fab0f 100644 --- a/src/pages/PickedOrder.tsx +++ b/src/pages/PickedOrder.tsx @@ -4,51 +4,28 @@ import { Stack, } from '@chakra-ui/react' import OrderInterface from '../interfaces/OrderInterface'; -import { useState } from 'react' +import { useEffect, useState } from 'react' import PickedOrderCard from '../components/PickedOrderCard'; +import { getOrderByCourier } from '../utils/Order'; +import { getUser } from '../utils/LocalStorage'; +import { getUserDetail } from '../utils/Profile'; -// TODO : fetch data from SOAP -const dummyData : OrderInterface[] = [ - { - alamat : "jl. imam bonjol no.69", - nama_penerima : "ukin", - biaya_pengiriman : 100, - keterangan : "dimas lagi main sama mas ukin" - }, - { - alamat : "bullet", - nama_penerima : "ishraul", - biaya_pengiriman : 1111, - keterangan : "aku butuh peluru" - }, - { - alamat : "jl.ngawi", - nama_penerima : "rusdi", - biaya_pengiriman : 69, - keterangan : "aku akan datang" - }, - { - alamat : "jl.ngawi", - nama_penerima : "rusdi", - biaya_pengiriman : 69, - keterangan : "aku akan datang" - }, - { - alamat : "jl.ngawi", - nama_penerima : "rusdi", - biaya_pengiriman : 69, - keterangan : "aku akan datang" - }, - { - alamat : "jl.ngawi", - nama_penerima : "rusdi", - biaya_pengiriman : 69, - keterangan : "aku akan datang" - } -]; export default function PickedOrder() { - const [orders, setOrders] = useState<OrderInterface[]>(dummyData); + const username = getUser(); + const [orders, setOrders] = useState<OrderInterface[]>([]); + + useEffect(() => { + getUserDetail(username ? username : "").then( + (userDetail) => { + const response = getOrderByCourier(userDetail.data.id); + response.then((orders) => { + console.log(orders.data); + setOrders(orders.data); + }); + } + ); + }, []); return ( <Box diff --git a/src/utils/Order.ts b/src/utils/Order.ts index 63a48a6b4d9d751881c1f2268ee503488c4b2bf7..d71de5c4cec530bc92034c4daaea8573a4d0afd6 100644 --- a/src/utils/Order.ts +++ b/src/utils/Order.ts @@ -1,16 +1,21 @@ -import { fetchAvailableOrder, fetchOrderById, fetchOrderDetails } from "../api/Order"; +import { fetchAvailableOrder, fetchOrderByCourier, fetchOrderById, fetchOrderDetails } from "../api/Order"; export async function getAvailableOrder() { - const userDetail = await fetchAvailableOrder(); - return userDetail; + const availableOrders = await fetchAvailableOrder(); + return availableOrders; } export async function getOrderById(orderId : number) { - const userDetail = await fetchOrderById(orderId); - return userDetail; + const order = await fetchOrderById(orderId); + return order; } export async function getOrderDetails(orderId : number) { - const userDetail = await fetchOrderDetails(orderId); - return userDetail; + const orderDetails = await fetchOrderDetails(orderId); + return orderDetails; +} + +export async function getOrderByCourier(courierId : number) { + const orders = await fetchOrderByCourier(courierId); + return orders; } \ No newline at end of file