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

Merge branch 'bugfix/fridge-controller-input-validaton' into 'main'

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

Closes #258

See merge request idatt2106-v23-03/backend!209
parents 70ee1865 81683b99
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 = 10.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