Skip to content
Snippets Groups Projects
Commit d8eea56f authored by Pedro Pablo Cardona Arroyave's avatar Pedro Pablo Cardona Arroyave
Browse files

A possible fix was added

parent ebd57c16
No related branches found
No related tags found
No related merge requests found
......@@ -58,21 +58,8 @@ public class FridgeController {
* @return success if the product was added, bad request if the product was already in the fridge, or not found if the group or product doesn't exist
*/
@PostMapping("/group/product")
public ResponseEntity<String> addProductToFridge(@RequestBody FridgeProductRequest request) {
long groupId = request.groupId();
long productId = request.productId();
Optional<Fridge> fridgeOpt = fridgeService.getFridgeByGroupId(groupId);
if (fridgeOpt.isEmpty()) {
return ResponseEntity.notFound().build();
}
try {
fridgeService.addProductToFridge(groupId, productId, request.amount(), request.days());
return ResponseEntity.ok("Success");
} catch (Exception e) {
return ResponseEntity.status(500).body("Internal server error");
}
public ResponseEntity<Object> addProductToFridge(@RequestBody FridgeProductRequest request) {
return fridgeService.addProductToFridge(request).map(ResponseEntity::ok).orElseGet(()-> ResponseEntity.notFound().build());
}
......
package ntnu.idatt2016.v233.SmartMat.service.group;
import lombok.AllArgsConstructor;
import ntnu.idatt2016.v233.SmartMat.dto.request.FridgeProductRequest;
import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
import ntnu.idatt2016.v233.SmartMat.entity.product.Product;
......@@ -10,6 +11,7 @@ import ntnu.idatt2016.v233.SmartMat.repository.group.FridgeRepository;
import org.springframework.stereotype.Service;
import java.sql.Date;
import java.util.Optional;
@Service
@AllArgsConstructor
......@@ -21,6 +23,8 @@ public class FridgeProductAssoService {
ProductRepository productRepository;
/**
* Creates a fridge product association
* the FridgeProductAssosiation object needs to be added to the fridge and product
......@@ -52,4 +56,5 @@ public class FridgeProductAssoService {
return true;
}
}
package ntnu.idatt2016.v233.SmartMat.service.group;
import lombok.AllArgsConstructor;
import ntnu.idatt2016.v233.SmartMat.dto.request.FridgeProductRequest;
import ntnu.idatt2016.v233.SmartMat.entity.fridgeProduct.FridgeProductAsso;
import ntnu.idatt2016.v233.SmartMat.entity.group.Fridge;
import ntnu.idatt2016.v233.SmartMat.entity.group.Group;
......@@ -11,6 +12,7 @@ import ntnu.idatt2016.v233.SmartMat.repository.group.GroupRepository;
import ntnu.idatt2016.v233.SmartMat.service.product.ProductService;
import org.springframework.stereotype.Service;
import java.nio.channels.FileChannel;
import java.sql.Date;
import java.time.LocalDate;
import java.util.Optional;
......@@ -64,15 +66,13 @@ public class FridgeService {
* @param ean the ean of the product
* @return true if the product was added
*/
public Optional<Object> addProductToFridge(long groupId, long ean, int amount, int days) {
Optional<Product> product = productService.getProductById(ean);
Fridge fridge = fridgeRepository.findByGroupGroupId(groupId).orElseThrow(() -> new IllegalArgumentException("Fridge does not exist"));
public Optional<Object> addProductToFridge(FridgeProductRequest fridgeProductRequest) {
Optional<Product> product = productService.getProductById(fridgeProductRequest.productId());
Optional<Fridge> fridge = fridgeRepository.findByGroupGroupId(fridgeProductRequest.groupId());
if(product.isEmpty() || fridge.isEmpty()) return Optional.empty();
return Optional.of(fridgeProductAssoService.createFridgeProductAsso(fridge.get(), product.get(), fridgeProductRequest.amount(), fridgeProductRequest.days()));
if (product.isPresent()) {
return Optional.of(fridgeProductAssoService.createFridgeProductAsso(fridge, product.get(),amount,days));
} else {
return Optional.empty();
}
}
/**
......
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