From 6f9b0c2663b75e51158a0510b0fed5536e560243 Mon Sep 17 00:00:00 2001
From: Pedro Cardona <pedropca@stud.ntnu.no>
Date: Sun, 30 Apr 2023 16:31:42 +0200
Subject: [PATCH] Endpoint for deleting prodcut from fridge without adding
 wastes was added

---
 .../repository/product/FridgeProductAssoRepo.java    |  3 +++
 .../v233/SmartMat/service/group/FridgeService.java   | 12 ++++++++----
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java
index 2b1a9a9c..6cddba89 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/repository/product/FridgeProductAssoRepo.java
@@ -3,5 +3,8 @@ package ntnu.idatt2016.v233.SmartMat.repository.product;
 import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
 import org.springframework.data.jpa.repository.JpaRepository;
 
+import java.util.Optional;
+
 public interface FridgeProductAssoRepo extends JpaRepository<FridgeProductAsso, Long> {
+    Optional<FridgeProductAsso> findAllById(long id);
 }
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 1ce831de..1afcabe2 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
@@ -153,12 +153,16 @@ public class FridgeService {
      * @return an optional containing the fridge product if it exists
      */
     public Optional<Object> deleteAmountFromFridge(long fridgeProductId, int amount) {
-        if(amount < 0 ){
-            System.out.println("Given amount " + amount + " < " + " Stored in db");
+        Optional<FridgeProductAsso> fridgeProductAsso = fridgeProductAssoRepo.findAllById(fridgeProductId);
+        if(fridgeProductAsso.isEmpty()) return Optional.empty();
+        FridgeProductAsso fridgeProductAsso1 = fridgeProductAsso.get();
+        if(amount < fridgeProductAsso1.getAmount() ){
+            fridgeProductAsso1.setAmount(fridgeProductAsso1.getAmount() -amount);
+            return Optional.of(fridgeProductAssoRepo.save(fridgeProductAsso1));
         } else {
-            System.out.println("Given amount " + amount + " > " + " Stored in db");
+            fridgeProductAssoRepo.delete(fridgeProductAsso.get());
+            return Optional.of(true);
         }
-        return Optional.empty();
     }
 
     /**
-- 
GitLab