Skip to content
Snippets Groups Projects
Commit e04c1b6c authored by Anders Austlid's avatar Anders Austlid
Browse files

Fridge controller endpoints added

parent 53403287
No related branches found
No related tags found
No related merge requests found
......@@ -51,10 +51,15 @@ public class FridgeController {
} catch (Exception e) {
return ResponseEntity.notFound().build();
}
if (fridgeService.addProductToFridge(groupId, productId)) {
return ResponseEntity.ok("Success");
try {
if (fridgeService.addProductToFridge(groupId, productId)) {
return ResponseEntity.ok("Success");
}
return ResponseEntity.badRequest().body("Product already exists in the fridge");
} catch (Exception e) {
return ResponseEntity.status(500).body("Internal server error");
}
return ResponseEntity.badRequest().build();
}
/**
......@@ -73,10 +78,15 @@ public class FridgeController {
} catch (Exception e) {
return ResponseEntity.notFound().build();
}
if (fridgeService.removeProductFromFridge(groupId, productId)) {
return ResponseEntity.ok("Success");
try {
if (fridgeService.removeProductFromFridge(groupId, productId)) {
return ResponseEntity.ok("Success");
}
return ResponseEntity.badRequest().body("Product not found in the fridge");
} catch (Exception e) {
return ResponseEntity.status(500).body("Internal server error");
}
return ResponseEntity.badRequest().build();
}
}
......@@ -44,8 +44,13 @@ public class FridgeService {
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()) {
fridge.getProducts().add(product.get());
if (product.isPresent()) {
Product productToAdd = product.get();
if (fridge.getProducts().contains(productToAdd)) {
return false;
}
fridge.getProducts().add(productToAdd);
fridgeRepository.save(fridge);
return true;
} else {
......@@ -64,8 +69,13 @@ public class FridgeService {
public boolean removeProductFromFridge(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()) {
fridge.getProducts().remove(product.get());
Product productToRemove = product.get();
if (!fridge.getProducts().contains(productToRemove)) {
return false;
}
fridge.getProducts().remove(productToRemove);
fridgeRepository.save(fridge);
return true;
} else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment