From a1844801707bb734ab3514790e024654ad461269 Mon Sep 17 00:00:00 2001 From: inpink <108166692+inpink@users.noreply.github.com> Date: Wed, 5 Feb 2025 00:16:58 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=84=A0=ED=83=9D=20=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=ED=95=9C=20=EC=96=B4=EC=A1=B0=EB=A5=BC=20=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=ED=95=9C=EB=8B=A4=20(#14)=20(#19)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: 선택 가능한 어조를 조회한다 * refactor: Enum 요소를 가져오는 방법을 수정한다 --- ...354\241\260_\354\241\260\355\232\214_API.md" | 0 .../kotlin/me/misik/api/api/ReviewController.kt | 10 ++++++++++ .../api/domain/response/ReviewStyleResponse.kt | 17 +++++++++++++++++ .../api/domain/response/ReviewStylesResponse.kt | 15 +++++++++++++++ src/main/resources/ddl/prompt.ddl | 2 +- 5 files changed, 43 insertions(+), 1 deletion(-) rename "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" => "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" (100%) create mode 100644 src/main/kotlin/me/misik/api/domain/response/ReviewStyleResponse.kt create mode 100644 src/main/kotlin/me/misik/api/domain/response/ReviewStylesResponse.kt 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 2e47e37..c98d307 100644 --- a/src/main/kotlin/me/misik/api/api/ReviewController.kt +++ b/src/main/kotlin/me/misik/api/api/ReviewController.kt @@ -5,6 +5,8 @@ import me.misik.api.domain.request.CreateReviewRequest import me.misik.api.app.CreateReviewFacade import me.misik.api.app.GetReviewFacade import me.misik.api.app.ReCreateReviewFacade +import me.misik.api.domain.ReviewStyle +import me.misik.api.domain.response.ReviewStylesResponse import org.springframework.web.bind.annotation.* import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RequestHeader @@ -28,8 +30,16 @@ class ReviewController( @PathVariable("id") id: Long, ) = reCreateReviewFacade.reCreateReviewInBackground(deviceId, id) + @GetMapping("reviews/styles") + fun getReviewStyles() : ReviewStylesResponse { + val reviewStyles = ReviewStyle.entries.toList() + + return ReviewStylesResponse.from(reviewStyles) + } + @GetMapping("reviews/{id}") fun getReview( @PathVariable("id") id: Long, ): ReviewResponse = ReviewResponse.of(getReviewFacade.getReview(id)) + } diff --git a/src/main/kotlin/me/misik/api/domain/response/ReviewStyleResponse.kt b/src/main/kotlin/me/misik/api/domain/response/ReviewStyleResponse.kt new file mode 100644 index 0000000..c86b99c --- /dev/null +++ b/src/main/kotlin/me/misik/api/domain/response/ReviewStyleResponse.kt @@ -0,0 +1,17 @@ +package me.misik.api.domain.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/domain/response/ReviewStylesResponse.kt b/src/main/kotlin/me/misik/api/domain/response/ReviewStylesResponse.kt new file mode 100644 index 0000000..6e0e499 --- /dev/null +++ b/src/main/kotlin/me/misik/api/domain/response/ReviewStylesResponse.kt @@ -0,0 +1,15 @@ +package me.misik.api.domain.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) } + ) + } + } +} \ No newline at end of file diff --git a/src/main/resources/ddl/prompt.ddl b/src/main/resources/ddl/prompt.ddl index 2cfb068..251494e 100644 --- a/src/main/resources/ddl/prompt.ddl +++ b/src/main/resources/ddl/prompt.ddl @@ -1,4 +1,4 @@ -INSERT INTO prompt (id, style, command, created_at, updated_at) VALUES +INSERT INTO prompt (id, style, command, created_at, modified_at) VALUES (1, 'PROFESSIONAL', '자연스러운, 전문적인 말투, 존대말, 과거형으로 리뷰를 만들어줘. 응답 형식은 {“review”:”리뷰 내용”}이어야 해. 응답에는 해당 JSON만 있어야해. 또한, 리뷰는 공백을 포함해서 300자가 넘어야 해. 리뷰에는 다음 의견도 자연스럽게 넣어줘.', NOW(), NOW()), (2, 'FRIENDLY', '~다, ~요를 적절히 섞은 높임말로 리뷰를 만들어줘. 한국 중년처럼 보이도록 가끔 문장 끝에 ..같은 특수문자를 넣어줘. 응답 형식은 {“review”:”리뷰 내용”}이어야 해. 응답에는 해당 JSON만 있어야해. 또한, 리뷰는 공백을 포함해서 100자 이상 200자 이하여야해. 리뷰에는 다음 의견도 자연스럽게 넣어줘.', NOW(), NOW()), (3, 'CUTE', '~다, ~요를 적절히 섞은 높임말로 리뷰를 만들어줘. 깜찍한 10대처럼 보이도록 가끔 어미 뒤에 랜덤하게 😘, ㅎㅎ 같은 특수문자, "당, 용" 같이 끝나는 어미를 넣어줘. 응답 형식은 {"review":"리뷰 내용"}이어야 해. 응답에는 해당 JSON만 있어야 해. 또한, 리뷰는 공백을 포함해서 100자 이상 200자 이하여야 해. 리뷰에는 다음 의견도 자연스럽게 넣어줘.', NOW(), NOW()); \ No newline at end of file