Commit 3f1d11a1 authored by ccottier's avatar ccottier

working put statement for product

parent ec6b701a
......@@ -32,5 +32,15 @@ public class ProductController {
return productService.addProduct(productRequest);
}
@PutMapping("/products/{id}")
public Mono<ProductResponse> alterProduct(@PathVariable String id, @RequestBody ProductRequest productRequest){
return productService.alterProduct(id, productRequest);
}
@DeleteMapping("/products/{id}")
public Mono<Boolean> deleteProduct(@PathVariable String id){
return productService.deleteProduct(id);
}
}
......@@ -30,4 +30,29 @@ public class ProductService {
Mono<Product> product = productRepository.findById(id);
return product.map(prod -> new ProductResponse(prod));
}
public Mono<ProductResponse> alterProduct(String id, ProductRequest productRequest) {
System.out.println("put service");
Mono<Product> product = productRepository.findById(id);
return product.flatMap(prod -> {
prod.setDescription(productRequest.getDescription());
prod.setPrice(productRequest.getPrice());
prod.setName(productRequest.getName());
return productRepository.save(prod);
}).map(prod -> new ProductResponse(prod));
}
public Mono<Boolean> deleteProduct(String id) {
Mono<Product> productToDelete = productRepository.findById(id);
return productToDelete.map(product -> {
productRepository.delete(product);
return product;
}).hasElement();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment