diff --git "a/docs/api/\354\204\240\355\203\235\352\260\200\353\212\245\355\225\234_\352\260\200\353\212\245\355\225\234_\354\226\264\354\241\260_\354\241\260\355\232\214_API.md" "b/docs/api/\354\204\240\355\203\235_\352\260\200\353\212\245\355\225\234_\354\226\264\354\241\260_\354\241\260\355\232\214_API.md" similarity index 100% rename from "docs/api/\354\204\240\355\203\235\352\260\200\353\212\245\355\225\234_\352\260\200\353\212\245\355\225\234_\354\226\264\354\241\260_\354\241\260\355\232\214_API.md" rename to "docs/api/\354\204\240\355\203\235_\352\260\200\353\212\245\355\225\234_\354\226\264\354\241\260_\354\241\260\355\232\214_API.md" diff --git a/src/main/kotlin/me/misik/api/api/ReviewController.kt b/src/main/kotlin/me/misik/api/api/ReviewController.kt index 0d1b4a5..618def1 100644 --- a/src/main/kotlin/me/misik/api/api/ReviewController.kt +++ b/src/main/kotlin/me/misik/api/api/ReviewController.kt @@ -1,8 +1,12 @@ package me.misik.api.api -import me.misik.api.domain.request.CreateReviewRequest +import me.misik.api.api.request.CreateReviewRequest +import me.misik.api.api.response.ReviewStyleResponse +import me.misik.api.api.response.ReviewStylesResponse import me.misik.api.app.CreateReviewFacade import me.misik.api.app.ReCreateReviewFacade +import me.misik.api.domain.ReviewStyle +import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.PathVariable import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.RequestBody @@ -12,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController @RestController class ReviewController( private val createReviewFacade: CreateReviewFacade, - private val reCreateReviewFacade: ReCreateReviewFacade, + private val reCreateReviewFacade: ReCreateReviewFacade ) { @PostMapping("reviews") @@ -26,4 +30,11 @@ class ReviewController( @RequestHeader("device-id") deviceId: String, @PathVariable("id") id: Long, ) = reCreateReviewFacade.reCreateReviewInBackground(deviceId, id) + + @GetMapping("reviews/styles") + fun getReviewStyles() : ReviewStylesResponse { + val reviewStyles = ReviewStyle.entries.toList() + + return ReviewStylesResponse.from(reviewStyles) + } } diff --git a/src/main/kotlin/me/misik/api/api/response/ReviewStyleResponse.kt b/src/main/kotlin/me/misik/api/api/response/ReviewStyleResponse.kt new file mode 100644 index 0000000..bd4ae8b --- /dev/null +++ b/src/main/kotlin/me/misik/api/api/response/ReviewStyleResponse.kt @@ -0,0 +1,17 @@ +package me.misik.api.api.response + +import me.misik.api.domain.ReviewStyle + +data class ReviewStyleResponse( + val icon: String, + val style: String +) { + companion object { + fun from(reviewStyle: ReviewStyle): ReviewStyleResponse { + return ReviewStyleResponse( + icon = reviewStyle.iconUrl, + style = reviewStyle.name, + ) + } + } +} diff --git a/src/main/kotlin/me/misik/api/api/response/ReviewStylesResponse.kt b/src/main/kotlin/me/misik/api/api/response/ReviewStylesResponse.kt new file mode 100644 index 0000000..6348c4b --- /dev/null +++ b/src/main/kotlin/me/misik/api/api/response/ReviewStylesResponse.kt @@ -0,0 +1,15 @@ +package me.misik.api.api.response + +import me.misik.api.domain.ReviewStyle + +data class ReviewStylesResponse( + val reviewStyles: List +) { + companion object { + fun from(reviewStyles: List) : ReviewStylesResponse { + return ReviewStylesResponse( + reviewStyles.map { ReviewStyleResponse.from(it) }.toList() + ) + } + } +} \ No newline at end of file