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

Added validation of amount and days parameters in fridge to not take negative numbers

parent c5592cf8
No related branches found
No related tags found
No related merge requests found
......@@ -59,7 +59,11 @@ public class FridgeController {
*/
@PostMapping("/group/product")
public ResponseEntity<Product> addProductToFridge(@RequestBody FridgeProductRequest request) {
return fridgeService.addProductToFridge(request).map(ResponseEntity::ok).orElseGet(()-> ResponseEntity.notFound().build());
try {
return fridgeService.addProductToFridge(request).map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
} catch (IllegalArgumentException e) {
return ResponseEntity.badRequest().build();
}
}
@PutMapping("/group/product")
......
......@@ -70,6 +70,10 @@ public class FridgeService {
* @return the product that was added to the fridge
*/
public Optional<Product> addProductToFridge(FridgeProductRequest fridgeProductRequest) {
if (fridgeProductRequest.amount() < 0 || fridgeProductRequest.days() < 0) {
throw new IllegalArgumentException("Amount and days must be non-negative values.");
}
Optional<Product> product = productService.getProductById(fridgeProductRequest.ean());
Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId());
double price = 100.0;
......
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