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