diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/product/ProductController.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/product/ProductController.java index e541e390d2870a3aa5613c08073b8d4f24b26e09..3954b2525c9e09ca7f44e2c465ad1db37b86cb00 100644 --- a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/product/ProductController.java +++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/product/ProductController.java @@ -139,5 +139,19 @@ public class ProductController { return ResponseEntity.notFound().build(); } + /** + * + * Retrieve a product by name using a GET request. + * + * @param name The name of the product to retrieve. + * @return A ResponseEntity containing the product if found, or a 404 Not Found response if not found. + */ + @GetMapping("name/{name}") + public ResponseEntity<Product> getProductByName(@PathVariable String name) { + return productService.getProductByName(name) + .map(ResponseEntity::ok) + .orElse(ResponseEntity.notFound().build()); + } + } 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 bcc734f6524a9e2d589a43f8612538ff41ab5711..b143fa8fcfc08cdb532efdf8ff89329715acb3f2 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 @@ -186,14 +186,13 @@ public class FridgeService { if(fridgeProductAsso.isEmpty()) return Optional.empty(); FridgeProductAsso fridgeProductAsso1 = fridgeProductAsso.get(); fridgeProductAssoRepo.delete(fridgeProductAsso1); - String unit = ProductUtil.getVolumeFromProduct(fridgeProductAsso1.getEan()).get().get(0); Group group = fridgeProductAsso1.getFridgeId().getGroup(); if(group.getPoints() > 10.0){ group.setPoints(group.getPoints() - 1); group.setLevel(GroupUtil.getLevel(group.getPoints())); } groupRepository.save(group); - return Optional.of(wasteRepository.save(Waste.builder().amount(fridgeProductAsso1.getAmount()).unit(unit).ean(fridgeProductAsso1.getEan()).groupId(fridgeProductAsso1.getFridgeId().getGroup()).timestamp(new Timestamp(System.currentTimeMillis())).build())); + return Optional.of(wasteRepository.save(Waste.builder().amount(fridgeProductAsso1.getAmount()).unit(fridgeProductAsso1.getEan().getUnit()).ean(fridgeProductAsso1.getEan()).groupId(fridgeProductAsso1.getFridgeId().getGroup()).timestamp(new Timestamp(System.currentTimeMillis())).build())); }