Skip to content
Snippets Groups Projects
Commit b666285f authored by Stian Lyng's avatar Stian Lyng
Browse files

update fridge product

parent 059f293d
No related branches found
No related tags found
No related merge requests found
......@@ -35,6 +35,7 @@ public class FridgeController {
.orElseGet(() -> ResponseEntity.notFound().build());
}
/**
* Gets the fridge by its fridge id
* @param fridgeId the id of the fridge
......@@ -59,6 +60,10 @@ public class FridgeController {
return fridgeService.addProductToFridge(request).map(ResponseEntity::ok).orElseGet(()-> ResponseEntity.notFound().build());
}
@PutMapping("/group/product")
public ResponseEntity<Object> updateProductInFridge(@RequestBody FridgeProductRequest request) {
return fridgeService.updateProductInFridge(request).map(ResponseEntity::ok).orElseGet(()-> ResponseEntity.notFound().build());
}
@DeleteMapping("/group/delete/product/{fridgeProductId}/{amount}")
public ResponseEntity<?> deleteAmountFridgeProduct(@PathVariable("fridgeProductId") long fridgeProductId,
......
......@@ -5,5 +5,5 @@ package ntnu.idatt2016.v233.SmartMat.dto.request;
* @param groupId the id of the group
* @param productId the id of the product
*/
public record FridgeProductRequest(long groupId, long ean, int amount, int days) {
public record FridgeProductRequest(long fridgeProductId, long groupId, long ean, int amount, int days) {
}
......@@ -10,6 +10,8 @@ import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository;
import ntnu.idatt2016.v233.SmartMat.repository.product.FridgeProductAssoRepo;
import ntnu.idatt2016.v233.SmartMat.service.product.ProductService;
import org.springframework.context.annotation.aspectj.EnableSpringConfigured;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
......@@ -77,6 +79,25 @@ public class FridgeService {
return Optional.of(product);
}
public Optional<Object> updateProductInFridge(FridgeProductRequest request) {
Optional<FridgeProductAsso> fridgeProductAsso = fridgeProductAssoRepo.findById(request.fridgeProductId());
if (fridgeProductAsso.isEmpty()) return Optional.empty();
Integer amount = request.amount();
Integer days = request.days();
if (amount != null) fridgeProductAsso.get()
.setAmount(request.amount());
if (days != null) fridgeProductAsso.get()
.setDaysToExpiration(request.days());
fridgeProductAssoRepo.save(fridgeProductAsso.get());
return Optional.of(fridgeProductAsso);
}
/**
* Remove a product from the fridge of a group
......
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