diff --git a/src/main/kotlin/com/teamapi/palette/entity/qna/PromptData.kt b/src/main/kotlin/com/teamapi/palette/entity/qna/PromptData.kt index 1547f1d..4706ce7 100644 --- a/src/main/kotlin/com/teamapi/palette/entity/qna/PromptData.kt +++ b/src/main/kotlin/com/teamapi/palette/entity/qna/PromptData.kt @@ -74,7 +74,7 @@ sealed class ChatQuestion(val type: PromptType) { data class SelectableQuestion(val choices: List) : ChatQuestion(PromptType.SELECTABLE) @Serializable - data class GridQuestion(val xSize: Int, val ySize: Int) : ChatQuestion(PromptType.GRID) + data class GridQuestion(val xSize: Int, val ySize: Int, val maxCount: Int) : ChatQuestion(PromptType.GRID) @Serializable data object UserInputQuestion : ChatQuestion(PromptType.USER_INPUT) diff --git a/src/main/kotlin/com/teamapi/palette/response/ErrorCode.kt b/src/main/kotlin/com/teamapi/palette/response/ErrorCode.kt index df88463..2400b2b 100644 --- a/src/main/kotlin/com/teamapi/palette/response/ErrorCode.kt +++ b/src/main/kotlin/com/teamapi/palette/response/ErrorCode.kt @@ -31,7 +31,7 @@ enum class ErrorCode( QNA_INVALID_CHOICES(HttpStatus.BAD_REQUEST, "적절하지 않은 선택: '%s'. %s 선택지 중 하나가 필요합니다."), QNA_INVALID_GRID_CHOICES(HttpStatus.BAD_REQUEST, "적절하지 않은 그리드: (%s). 0~%d 선택지 중 하나가 필요합니다."), QNA_INVALID_GRID_DUPE(HttpStatus.BAD_REQUEST, "적절하지 않은 그리드: 중복이 없어야 합니다. possible dupes: (%s)"), - QNA_INVALID_GRID_ABOVE_MAX(HttpStatus.BAD_REQUEST, "적절하지 않은 그리드: 너무 많은 선택지. 최대 크기는 %d입니다."), + QNA_INVALID_GRID_ABOVE_MAX(HttpStatus.BAD_REQUEST, "적절하지 않은 그리드: 너무 많은 선택지. 최대 크기는 '%d'입니다."), ; override fun getName() = name diff --git a/src/main/kotlin/com/teamapi/palette/service/ChatService.kt b/src/main/kotlin/com/teamapi/palette/service/ChatService.kt index c6c3e5e..65ebbed 100644 --- a/src/main/kotlin/com/teamapi/palette/service/ChatService.kt +++ b/src/main/kotlin/com/teamapi/palette/service/ChatService.kt @@ -73,7 +73,7 @@ class ChatService( is ChatAnswer.GridAnswer -> { val grid = pendingQuestion as PromptData.Grid - val maxSize = grid.question.xSize * grid.question.ySize + val maxSize = grid.question.maxCount val exceeds = message.choice.filter { it >= maxSize } if (exceeds.isNotEmpty()) throw CustomException(ErrorCode.QNA_INVALID_GRID_CHOICES, exceeds.joinToString(", "), maxSize - 1) diff --git a/src/main/kotlin/com/teamapi/palette/service/RoomService.kt b/src/main/kotlin/com/teamapi/palette/service/RoomService.kt index c500a3e..40c159f 100644 --- a/src/main/kotlin/com/teamapi/palette/service/RoomService.kt +++ b/src/main/kotlin/com/teamapi/palette/service/RoomService.kt @@ -56,7 +56,7 @@ class RoomService( ), PromptData.UserInput("product_explanation"), PromptData.UserInput("title"), - PromptData.Grid("title_position", ChatQuestion.GridQuestion(3, 3)) + PromptData.Grid("title_position", ChatQuestion.GridQuestion(1, 3, 1)) ) ) )