Commit 23cc8f3a authored by Darrick Yong's avatar Darrick Yong

Merge branch 'backend2' into 'master'

Backend2 -- updated create and update endpoints

See merge request !7
parents 6b6a3847 97feab8b
......@@ -33,4 +33,4 @@ build/
.vscode/
/frontend/node_modules/
/frontend/src/config/
\ No newline at end of file
/frontend/src/config/*
\ No newline at end of file
......@@ -14,6 +14,7 @@
"axios": "^0.21.1",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-google-login": "^5.2.2",
"react-icons": "^4.2.0",
"react-redux": "^7.2.4",
"react-scripts": "4.0.3",
......@@ -14938,6 +14939,19 @@
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
"integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew=="
},
"node_modules/react-google-login": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/react-google-login/-/react-google-login-5.2.2.tgz",
"integrity": "sha512-JUngfvaSMcOuV0lFff7+SzJ2qviuNMQdqlsDJkUM145xkGPVIfqWXq9Ui+2Dr6jdJWH5KYdynz9+4CzKjI5u6g==",
"dependencies": {
"@types/react": "*",
"prop-types": "^15.6.0"
},
"peerDependencies": {
"react": "^16 || ^17",
"react-dom": "^16 || ^17"
}
},
"node_modules/react-icons": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.2.0.tgz",
import React from 'react';
import { GoogleLogin } from "react-google-login";
import keys from '../../config/keys_dev'
import keys from "../../config/keys_dev"
const clientId = keys.clientId;
......
package com.ascendfinalproject.warehouse.controllers;
import com.ascendfinalproject.warehouse.models.OrderResponse;
import com.ascendfinalproject.warehouse.models.WarehouseOrder;
import com.ascendfinalproject.warehouse.services.WarehouseOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.web.bind.annotation.*;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
......@@ -22,7 +24,7 @@ public class WarehouseController {
@CrossOrigin
@GetMapping("/orders/{id}")
public Mono<WarehouseOrder> findStudent(@PathVariable String id){
public Mono<WarehouseOrder> findOrder(@PathVariable String id){
return orderService.findOrderById(id);
}
......
package com.ascendfinalproject.warehouse.models;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
@Getter
@Setter
public class Item {
private String itemId;
private String itemName;
private int itemQuantity;
private int itemPrice;
private int itemSku;
public Item(String itemId, String itemName, int itemQuantity, int itemPrice, int itemSku) {
this.itemId = itemId;
this.itemName = itemName;
this.itemQuantity = itemQuantity;
this.itemPrice = itemPrice;
this.itemSku = itemSku;
}
}
......@@ -17,4 +17,11 @@ public class OrderResponse {
allIds.add(id);
}
@Override
public String toString() {
return "OrderResponse{" +
"allIds=" + allIds +
", byId=" + byId +
'}';
}
}
......@@ -4,6 +4,9 @@ import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import java.util.Date;
import java.util.List;
@Getter
@Setter
public class WarehouseOrder {
......@@ -11,6 +14,10 @@ public class WarehouseOrder {
private String id;
private String orderId;
private String status;
private Date createdAt;
private Date modifiedAt;
private List<Item> orderItems;
private String address;
public WarehouseOrder() {
}
......
package com.ascendfinalproject.warehouse.services;
import com.ascendfinalproject.warehouse.models.Item;
import com.ascendfinalproject.warehouse.models.WarehouseOrder;
import com.ascendfinalproject.warehouse.repositories.WarehouseOrderRepository;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -7,6 +8,11 @@ import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@Service
public class WarehouseOrderService {
......@@ -19,25 +25,26 @@ public class WarehouseOrderService {
public Flux<WarehouseOrder> getOrders() {
return orderRepository.findAll();
// OrderResponse response = new OrderResponse();
// orderRepository.findAll()
// .flatMap(order -> {
// response.appendId(order.getId());
// response.getById().put(order.getId(), order);
// });
//
// return response;
}
public Mono<WarehouseOrder> createOrder(WarehouseOrder order) {
return orderRepository.save(order);
order.setStatus("RECEIVED");
order.setCreatedAt(new Date(System.currentTimeMillis()));
order.setModifiedAt(new Date(System.currentTimeMillis()));
List<Item> itemList = Arrays.asList(
new Item("3", "Hamburger", 3, 3, 33),
new Item("4", "Sausage", 4, 5, 66),
new Item("5", "Fries", 3, 4, 33));
order.setOrderItems(itemList);
order.setAddress("123 apple st");
return orderRepository.save(order);
}
public Mono<WarehouseOrder> updateOrder(WarehouseOrder order, String id) {
return orderRepository.findById(id)
return orderRepository.findById(id)
.flatMap(existingOrder -> {
existingOrder.setOrderId(order.getOrderId());
existingOrder.setStatus(order.getStatus());
existingOrder.setModifiedAt(new Date(System.currentTimeMillis()));
return orderRepository.save(existingOrder);
});
......
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