From 2661e3b634e439a77226ddf01a7dbd25fa74ab3e Mon Sep 17 00:00:00 2001
From: Anders Austlid <andemau@ntnu.no>
Date: Tue, 25 Apr 2023 09:47:09 +0200
Subject: [PATCH] Working on fridge controller

---
 .../SmartMat/controller/group/FridgeController.java   | 11 +++++++++--
 .../v233/SmartMat/entity/{ => group}/Fridge.java      |  2 +-
 .../v233/SmartMat/entity/product/Product.java         |  2 +-
 .../v233/SmartMat/repository/FridgeRepository.java    |  2 +-
 .../group/FridgeRepository.java                       |  4 ++--
 .../v233/SmartMat/service/group/FridgeService.java    |  6 +++---
 6 files changed, 17 insertions(+), 10 deletions(-)
 rename src/main/java/ntnu/idatt2016/v233/SmartMat/entity/{ => group}/Fridge.java (94%)
 rename src/main/java/ntnu/idatt2016/v233/SmartMat/{entity => repository}/group/FridgeRepository.java (77%)

diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java
index ed34b140..bb6abb5c 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/FridgeController.java
@@ -1,7 +1,8 @@
 package ntnu.idatt2016.v233.SmartMat.controller.group;
 
 import lombok.AllArgsConstructor;
-import ntnu.idatt2016.v233.SmartMat.entity.Fridge;
+import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
+import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
 import ntnu.idatt2016.v233.SmartMat.service.group.FridgeService;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -41,6 +42,12 @@ public class FridgeController {
      * @param productId the id of the product
      * @return success if the product was added, bad request if the product was already in the fridge, or not found if the group or product doesn't exist
      */
-    @PostMapping("")
+    @PostMapping("/group/{groupId}/product/{productId}")
+    public ResponseEntity<String> addProductToFridge(@PathVariable("groupId") long groupId, @PathVariable("productId") long productId) {
+        if(fridgeService.addProductToFridge(groupId, productId)) {
+            return ResponseEntity.ok("Success");
+        }
+        return ResponseEntity.badRequest().build();
+    }
 
 }
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/Fridge.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Fridge.java
similarity index 94%
rename from src/main/java/ntnu/idatt2016/v233/SmartMat/entity/Fridge.java
rename to src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Fridge.java
index a8a0e014..a15c7cf5 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/Fridge.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/Fridge.java
@@ -1,4 +1,4 @@
-package ntnu.idatt2016.v233.SmartMat.entity;
+package ntnu.idatt2016.v233.SmartMat.entity.group;
 
 import java.util.List;
 
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
index 67f6757f..3030ef93 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/product/Product.java
@@ -6,7 +6,7 @@ import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
 import lombok.NoArgsConstructor;
-import ntnu.idatt2016.v233.SmartMat.entity.Fridge;
+import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
 import ntnu.idatt2016.v233.SmartMat.entity.Recipe;
 
 import java.util.List;
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/FridgeRepository.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/FridgeRepository.java
index c8013568..8726eb0f 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/FridgeRepository.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/FridgeRepository.java
@@ -1,6 +1,6 @@
 package ntnu.idatt2016.v233.SmartMat.repository;
 
-import ntnu.idatt2016.v233.SmartMat.entity.Fridge;
+import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
 
 import java.util.List;
 
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/FridgeRepository.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeRepository.java
similarity index 77%
rename from src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/FridgeRepository.java
rename to src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeRepository.java
index f66d5b73..ae9b147f 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/entity/group/FridgeRepository.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/group/FridgeRepository.java
@@ -1,6 +1,6 @@
-package ntnu.idatt2016.v233.SmartMat.entity.group;
+package ntnu.idatt2016.v233.SmartMat.repository.group;
 
-import ntnu.idatt2016.v233.SmartMat.entity.Fridge;
+import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
 import org.springframework.data.jpa.repository.JpaRepository;
 
 import java.util.Optional;
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java
index 495c1836..f3cac665 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/service/group/FridgeService.java
@@ -1,8 +1,8 @@
 package ntnu.idatt2016.v233.SmartMat.service.group;
 
 import lombok.AllArgsConstructor;
-import ntnu.idatt2016.v233.SmartMat.entity.Fridge;
-import ntnu.idatt2016.v233.SmartMat.entity.group.FridgeRepository;
+import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
+import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeRepository;
 import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
 import ntnu.idatt2016.v233.SmartMat.service.product.ProductService;
 import org.springframework.stereotype.Service;
@@ -41,7 +41,7 @@ public class FridgeService {
      * @param ean the ean of the product
      * @return true if the product was added
      */
-    public boolean addProduct(long groupId, long ean) {
+    public boolean addProductToFridge(long groupId, long ean) {
         Optional<Product> product = productService.getProductById(ean);
         Fridge fridge = fridgeRepository.findByGroupId(groupId).orElseThrow(() -> new IllegalArgumentException("Fridge does not exist"));
         if(product.isPresent()) {
-- 
GitLab