Skip to content

Commit

Permalink
Add like api.
Browse files Browse the repository at this point in the history
  • Loading branch information
Myungjun Hyun committed Jul 8, 2023
1 parent c146e61 commit 1e04c07
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,16 @@ class DefaultProductRepository @Inject constructor(
override suspend fun searchProduct(searchRequest: ProductSearchRequest) = setResult {
productApi.searchProduct(searchRequest)
}

override suspend fun likeProduct(productId: Int) = setResult {
productApi.likeProduct(productId)
}

override suspend fun dislikeProduct(productId: Int) = setResult {
productApi.dislikeProduct(productId)
}

override suspend fun cancelLikeProduct(productId: Int) = setResult {
productApi.cancelLikeProductDetail(productId)
}
}
16 changes: 16 additions & 0 deletions core/data/src/main/java/com/peonlee/data/product/ProductApi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.peonlee.data.model.ProductDetail
import com.peonlee.data.model.ProductSearch
import com.peonlee.data.model.request.ProductSearchRequest
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.Path
import retrofit2.http.Query

Expand All @@ -13,6 +14,21 @@ interface ProductApi {
@Path("productId") productId: Int
): ProductDetail

@POST("v1/product/{productId}/rate/like")
suspend fun likeProduct(
@Path("productId") productId: Int
)

@GET("v1/product/{productId}/rate/dislike")
suspend fun dislikeProduct(
@Path("productId") productId: Int
)

@GET("v1/product/{productId}/rate/cancel")
suspend fun cancelLikeProductDetail(
@Path("productId") productId: Int
)

@GET("v1/product/search")
suspend fun searchProduct(
@Query("query") request: ProductSearchRequest
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,8 @@ import com.peonlee.data.model.request.ProductSearchRequest
interface ProductRepository {
suspend fun getProductDetail(productId: Int): Result<ProductDetail>
suspend fun searchProduct(searchRequest: ProductSearchRequest): Result<ProductSearch>

suspend fun likeProduct(productId: Int): Result<Unit>
suspend fun dislikeProduct(productId: Int): Result<Unit>
suspend fun cancelLikeProduct(productId: Int): Result<Unit>
}

0 comments on commit 1e04c07

Please sign in to comment.