From 100a95dafe6f1de6e65f25be6d0845d24eb72db7 Mon Sep 17 00:00:00 2001 From: Sanjith Sivapuram Date: Wed, 15 Sep 2021 12:13:57 +0530 Subject: [PATCH] Cart API'S --- .../cart/controller/CartController.java | 23 +++++++++++++++++++ .../cart/controller/ProductController.java | 11 +++++++++ .../cart/repository/CartRepository.java | 5 ++++ 3 files changed, 39 insertions(+) diff --git a/Shopify-Cart/src/main/java/com/shopify/cart/controller/CartController.java b/Shopify-Cart/src/main/java/com/shopify/cart/controller/CartController.java index 18cfcb0..76431f7 100644 --- a/Shopify-Cart/src/main/java/com/shopify/cart/controller/CartController.java +++ b/Shopify-Cart/src/main/java/com/shopify/cart/controller/CartController.java @@ -1,8 +1,13 @@ package com.shopify.cart.controller; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -27,4 +32,22 @@ public class CartController { cart.setProduct(productRepository.getById(pid)); return cartRepository.save(cart); } + + @GetMapping("/cart/{uid}") + public List getCartByUser(@PathVariable("uid") Long uid) { + return cartRepository.getCartByUserId(uid); + } + + @PutMapping("/cart/{cid}") + public Cart editCartItem(@RequestBody Cart cart, @PathVariable("cid") Long cid) { + Cart cartDB = cartRepository.getById(cid); + cartDB.setQuantity(cart.getQuantity()); + cartDB.setPrice(cart.getPrice()); + return cartRepository.save(cartDB); + } + + @DeleteMapping("/cart/{cid}") + public void deleteCartItem(@PathVariable("cid") Long cid) { + cartRepository.deleteById(cid); + } } diff --git a/Shopify-Cart/src/main/java/com/shopify/cart/controller/ProductController.java b/Shopify-Cart/src/main/java/com/shopify/cart/controller/ProductController.java index d8acb19..3fa1bf7 100644 --- a/Shopify-Cart/src/main/java/com/shopify/cart/controller/ProductController.java +++ b/Shopify-Cart/src/main/java/com/shopify/cart/controller/ProductController.java @@ -1,14 +1,20 @@ package com.shopify.cart.controller; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import com.shopify.cart.model.Product; import com.shopify.cart.repository.ProductRepository; @RestController +@CrossOrigin(origins = "http://localhost:59279", methods = {RequestMethod.POST,RequestMethod.DELETE,RequestMethod.GET,RequestMethod.PUT}) public class ProductController { @Autowired @@ -18,4 +24,9 @@ public class ProductController { public Product postProduct(@RequestBody Product product) { return productRepository.save(product); } + + @GetMapping("/product") + public List getALlProducts() { + return productRepository.findAll(); + } } diff --git a/Shopify-Cart/src/main/java/com/shopify/cart/repository/CartRepository.java b/Shopify-Cart/src/main/java/com/shopify/cart/repository/CartRepository.java index 3eeb850..184f094 100644 --- a/Shopify-Cart/src/main/java/com/shopify/cart/repository/CartRepository.java +++ b/Shopify-Cart/src/main/java/com/shopify/cart/repository/CartRepository.java @@ -1,9 +1,14 @@ package com.shopify.cart.repository; +import java.util.List; + import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; import com.shopify.cart.model.Cart; public interface CartRepository extends JpaRepository { + @Query("select c from Cart c join c.user u where u.id=?1") + List getCartByUserId(Long uid); }