@@ -4,6 +4,7 @@ import com.hrv.mart.apicall.APICaller
44import com.hrv.mart.product.Product
55import org.springframework.beans.factory.annotation.Autowired
66import org.springframework.beans.factory.annotation.Value
7+ import org.springframework.http.server.reactive.ServerHttpResponse
78import org.springframework.stereotype.Repository
89import org.springframework.web.reactive.function.client.WebClient
910
@@ -15,19 +16,23 @@ class ProductRepository (
1516 private val productURL : String
1617)
1718{
18- fun getProductByProductId (productId : String ) =
19+ fun getProductByProductId (productId : String , response : ServerHttpResponse ? ) =
1920 APICaller (webClientBuilder)
20- .getData(" ${productURL} /${productId} " , Product ::class .java)
21- fun getCostOfProductByProductId (productId : String ) =
22- getProductByProductId(productId)
21+ .getData(
22+ " ${productURL} /${productId} " ,
23+ Product ::class .java,
24+ response
25+ )
26+ fun getCostOfProductByProductId (productId : String , response : ServerHttpResponse ? = null) =
27+ getProductByProductId(productId, response)
2328 .map { it.price }
24- fun createProduct (product : Product ) =
29+ fun createProduct (product : Product , response : ServerHttpResponse ) =
2530 APICaller (webClientBuilder)
26- .postRequest(productURL, String ::class .java, product)
27- fun updateProduct (product : Product ) =
31+ .postRequest(productURL, String ::class .java, product, response )
32+ fun updateProduct (product : Product , response : ServerHttpResponse ) =
2833 APICaller (webClientBuilder)
29- .putRequest(productURL, String ::class .java, product)
30- fun deleteProduct (productId : String ) =
34+ .putRequest(productURL, String ::class .java, product, response )
35+ fun deleteProduct (productId : String , response : ServerHttpResponse ) =
3136 APICaller (webClientBuilder)
32- .deleteData(" ${productURL} /${productId} " , String ::class .java)
37+ .deleteData(" ${productURL} /${productId} " , String ::class .java, response )
3338}
0 commit comments