Commit a3090b84 authored by Darrick Yong's avatar Darrick Yong

update frontend with working backend routes

parent f9d7b5e3
import * as OrderAPIUtil from '../util/orders_api_util'; import * as OrderAPIUtil from '../util/orders_api_util';
export const RECEIVE_ORDERS = 'RECEIVE_ORDERS'; export const RECEIVE_ORDERS = 'RECEIVE_ORDERS';
export const RECEIVE_ORDER = 'RECEIVE_ORDER';
export const UPDATE_ORDER = 'UPDATE_ORDER'; export const UPDATE_ORDER = 'UPDATE_ORDER';
const receiveOrders = (orders) => ({ const receiveOrders = (orders) => ({
...@@ -9,11 +8,6 @@ const receiveOrders = (orders) => ({ ...@@ -9,11 +8,6 @@ const receiveOrders = (orders) => ({
orders, orders,
}) })
const receiveOrder = (order) => ({
type: RECEIVE_ORDER,
order,
})
const updateOrder = (order) => ({ const updateOrder = (order) => ({
type: UPDATE_ORDER, type: UPDATE_ORDER,
order, order,
...@@ -26,16 +20,10 @@ export const fetchOrders = () => (dispatch) => { ...@@ -26,16 +20,10 @@ export const fetchOrders = () => (dispatch) => {
}); });
} }
export const createOrder = (order) => (dispatch) =>
OrderAPIUtil.createOrder(order)
.then(res => {
dispatch(receiveOrder(res.data))
});
export const editOrder = (order) => (dispatch) => { export const editOrder = (order) => (dispatch) => {
OrderAPIUtil.editOrder(order) OrderAPIUtil.editOrder(order)
.then(res => { .then(res => {
// debugger debugger
dispatch(updateOrder(res)) dispatch(updateOrder(res.data))
}); });
} }
\ No newline at end of file
...@@ -2,45 +2,6 @@ import ItemDetails from "./ItemDetails"; ...@@ -2,45 +2,6 @@ import ItemDetails from "./ItemDetails";
const OrderDetails = ({ order, showDetails }) => { const OrderDetails = ({ order, showDetails }) => {
const sampleItems = [
{
itemId: "17",
itemName: "Apple iPhone",
itemQuantity: 4,
itemPrice: 17.99,
itemSku: 8765309,
},
{
itemId: "12",
itemName: "Google Pixel",
itemQuantity: 42,
itemPrice: 17.99,
itemSku: 8715309,
},
{
itemId: "123",
itemName: "Google Pixel",
itemQuantity: 42,
itemPrice: 17.99,
itemSku: 8715309,
},
{
itemId: "124",
itemName: "Google Pixel",
itemQuantity: 42,
itemPrice: 17.99,
itemSku: 8715309,
},
{
itemId: "125",
itemName: "Google Pixel",
itemQuantity: 42,
itemPrice: 17.99,
itemSku: 8715309,
},
];
return ( return (
<div className={`order-details ${showDetails ? "animate" : ""}`}> <div className={`order-details ${showDetails ? "animate" : ""}`}>
<div className="order-details-container"> <div className="order-details-container">
...@@ -48,12 +9,10 @@ const OrderDetails = ({ order, showDetails }) => { ...@@ -48,12 +9,10 @@ const OrderDetails = ({ order, showDetails }) => {
{`Order Details - Warehouse Order #: ${order.id}`} {`Order Details - Warehouse Order #: ${order.id}`}
</div> </div>
<ul> <ul>
{sampleItems.map( item => ( {order.orderItems.map( item => (
<ItemDetails key={item.itemId}item={item} /> <ItemDetails key={item.itemId}item={item} />
))} ))}
</ul> </ul>
</div> </div>
</div> </div>
) )
......
import { import {
RECEIVE_ORDER,
RECEIVE_ORDERS, RECEIVE_ORDERS,
UPDATE_ORDER, UPDATE_ORDER,
} from "../../actions/order_actions"; } from "../../actions/order_actions";
...@@ -13,7 +12,6 @@ const OrdersReducer = (oldState = initialState, action) => { ...@@ -13,7 +12,6 @@ const OrdersReducer = (oldState = initialState, action) => {
Object.freeze(oldState); Object.freeze(oldState);
const newState = { ...oldState }; const newState = { ...oldState };
const order = action.order || null; const order = action.order || null;
switch (action.type) { switch (action.type) {
case RECEIVE_ORDERS: case RECEIVE_ORDERS:
const orderState = { const orderState = {
...@@ -27,10 +25,6 @@ const OrdersReducer = (oldState = initialState, action) => { ...@@ -27,10 +25,6 @@ const OrdersReducer = (oldState = initialState, action) => {
orderState.byOrderId[order.orderId] = order; orderState.byOrderId[order.orderId] = order;
}) })
return orderState; return orderState;
case RECEIVE_ORDER:
newState.byId[order.id] = order;
newState.allIds.push(order.id);
return newState;
case UPDATE_ORDER: case UPDATE_ORDER:
newState.byId[order.id] = order; newState.byId[order.id] = order;
return newState; return newState;
......
import axios from 'axios'; import axios from 'axios';
const RECEIVED = "RECEIVED"; // const RECEIVED = "RECEIVED";
// const FULFILLED = "FULFILLED"; // const FULFILLED = "FULFILLED";
// const CANCELLED = "CANCELLED"; // const CANCELLED = "CANCELLED";
const sampleGetAll = [ // const sampleGetAll = [
// allIds: ["1", "2", "3"], // // allIds: ["1", "2", "3"],
// byId: { // // byId: {
{ // {
id: "1", // id: "1",
orderId: "o1", // orderId: "o1",
status: RECEIVED, // status: RECEIVED,
orderItems: [ // orderItems: [
{ // {
itemId: "17", // itemId: "17",
itemName: "Apple iPhone", // itemName: "Apple iPhone",
itemQuantity: 4, // itemQuantity: 4,
itemPrice: 17.99, // itemPrice: 17.99,
itemSku: 8765309, // itemSku: 8765309,
}, // },
{ // {
itemId: "Google Pixel", // itemId: "Google Pixel",
itemName: "Item 2", // itemName: "Item 2",
itemQuantity: 42, // itemQuantity: 42,
itemPrice: 17.99, // itemPrice: 17.99,
itemSku: 8715309, // itemSku: 8715309,
}, // },
], // ],
}, // },
{ // {
id: "2", // id: "2",
orderId: "o2", // orderId: "o2",
status: RECEIVED, // status: RECEIVED,
orderItems: [ // orderItems: [
{ // {
itemId: "17", // itemId: "17",
itemName: "Item 1", // itemName: "Item 1",
itemQuantity: 3, // itemQuantity: 3,
itemPrice: 17.99, // itemPrice: 17.99,
itemSku: 8765309, // itemSku: 8765309,
}, // },
{ // {
itemId: "18", // itemId: "18",
itemName: "Item 2", // itemName: "Item 2",
itemQuantity: 41, // itemQuantity: 41,
itemPrice: 17.99, // itemPrice: 17.99,
itemSku: 8715309, // itemSku: 8715309,
}, // },
], // ],
}, // },
{ // {
id: "3", // id: "3",
orderId: "o3", // orderId: "o3",
status: RECEIVED, // status: RECEIVED,
orderItems: [ // orderItems: [
{ // {
itemId: "17", // itemId: "17",
itemName: "Item 1", // itemName: "Item 1",
itemQuantity: 2, // itemQuantity: 2,
itemPrice: 17.99, // itemPrice: 17.99,
itemSku: 8765309, // itemSku: 8765309,
}, // },
{ // {
itemId: "18", // itemId: "18",
itemName: "Item 2", // itemName: "Item 2",
itemQuantity: 40, // itemQuantity: 40,
itemPrice: 17.99, // itemPrice: 17.99,
itemSku: 8715309, // itemSku: 8715309,
}, // },
], // ],
}, // },
// }, // // },
]; // ];
const sampleNew = { // const sampleNew = {
id: "4", // id: "4",
orderId: "o4", // orderId: "o4",
status: RECEIVED, // status: RECEIVED,
}; // };
// const getAllPromise = new Promise( (resolve, reject) => { // const getAllPromise = new Promise( (resolve, reject) => {
// resolve(sampleGetAll) // resolve(sampleGetAll)
// }) // })
const createNewPromise = new Promise( (resolve, reject) => { // const createNewPromise = new Promise( (resolve, reject) => {
resolve(sampleNew) // resolve(sampleNew)
}) // })
// export const getOrders = () => { // export const getOrders = () => {
// return getAllPromise; // return getAllPromise;
// }; // };
export const createOrder = (order) => { // export const createOrder = (order) => {
return createNewPromise; // return createNewPromise;
// }
export const getOrders =() => {
return axios.get(`http://localhost:8080/api/orders`);
} }
export const editOrder = (order) => { export const editOrder = (order) => {
return new Promise( (resolve, reject) => { debugger;
resolve(order); return axios.put(`http://localhost:8080/api/orders/${order.id}`, order)
})
}
export const getOrders =() => {
return axios.get("http://localhost:8080/api/orders");
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment