From 719e63af5558b37ff60bea7523fbdc06c3a06b81 Mon Sep 17 00:00:00 2001
From: Khai Yuan Liew <kliew@nisum.com>
Date: Wed, 5 May 2021 13:32:03 -0700
Subject: [PATCH] [AFP-58] Start work on delete endpoint

---
 .../inventory/controller/ProductController.java     | 13 ++++++++++++-
 .../ascend/inventory/service/ProductService.java    |  5 +++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/main/java/com/nisum/ascend/inventory/controller/ProductController.java b/src/main/java/com/nisum/ascend/inventory/controller/ProductController.java
index 003a4b7..4b08e2b 100644
--- a/src/main/java/com/nisum/ascend/inventory/controller/ProductController.java
+++ b/src/main/java/com/nisum/ascend/inventory/controller/ProductController.java
@@ -1,11 +1,22 @@
 package com.nisum.ascend.inventory.controller;
 
+import com.nisum.ascend.inventory.dto.ProductDto;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
 import com.nisum.ascend.inventory.service.ProductService;
+import reactor.core.publisher.Mono;
 
 @RestController
+@RequestMapping("/api/products")
 public class ProductController {
     @Autowired
     ProductService productService;
+
+    @DeleteMapping(value = "/{sku}")
+    public void deleteProduct(@PathVariable String sku) {
+        productService.removeProductBySku(sku).subscribe();
+    }
+
 }
diff --git a/src/main/java/com/nisum/ascend/inventory/service/ProductService.java b/src/main/java/com/nisum/ascend/inventory/service/ProductService.java
index eb8517f..6cb217f 100644
--- a/src/main/java/com/nisum/ascend/inventory/service/ProductService.java
+++ b/src/main/java/com/nisum/ascend/inventory/service/ProductService.java
@@ -5,10 +5,15 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import reactor.core.publisher.Flux;
 import com.nisum.ascend.inventory.repository.ProductRepository;
+import reactor.core.publisher.Mono;
 
 @Service
 public class ProductService {
     @Autowired
     ProductRepository productRepository;
 
+    public Mono<Void> removeProductBySku(String sku){
+        return productRepository.deleteById(sku);
+    }
+
 }
-- 
2.18.1