diff --git a/src/main/kotlin/io/csbroker/apiserver/controller/v1/post/response/CommentResponseDto.kt b/src/main/kotlin/io/csbroker/apiserver/controller/v1/post/response/CommentResponseDto.kt index d0a67c19..da4fd74c 100644 --- a/src/main/kotlin/io/csbroker/apiserver/controller/v1/post/response/CommentResponseDto.kt +++ b/src/main/kotlin/io/csbroker/apiserver/controller/v1/post/response/CommentResponseDto.kt @@ -2,11 +2,13 @@ package io.csbroker.apiserver.controller.v1.post.response import io.csbroker.apiserver.model.Comment import java.time.LocalDateTime +import java.util.UUID data class CommentResponseDto( val id: Long, val content: String, val username: String, + val userId: UUID, val likeCount: Long, val isLiked: Boolean, val createdAt: LocalDateTime, @@ -14,6 +16,7 @@ data class CommentResponseDto( constructor(comment: Comment, likeCount: Long, isLiked: Boolean) : this( id = comment.id, content = comment.content, + userId = comment.user.id!!, username = comment.user.username, likeCount = likeCount, isLiked = isLiked, diff --git a/src/main/kotlin/io/csbroker/apiserver/controller/v1/post/response/PostResponseDto.kt b/src/main/kotlin/io/csbroker/apiserver/controller/v1/post/response/PostResponseDto.kt index bc05cb2c..d4e7088d 100644 --- a/src/main/kotlin/io/csbroker/apiserver/controller/v1/post/response/PostResponseDto.kt +++ b/src/main/kotlin/io/csbroker/apiserver/controller/v1/post/response/PostResponseDto.kt @@ -1,11 +1,13 @@ package io.csbroker.apiserver.controller.v1.post.response import io.csbroker.apiserver.model.Post +import java.util.UUID data class PostResponseDto( val id: Long, val content: String, val username: String, + val userId: UUID, val likeCount: Long, val isLiked: Boolean, val comments: List, @@ -13,9 +15,10 @@ data class PostResponseDto( constructor(post: Post, likeCount: Long, isLiked: Boolean, comments: List) : this( id = post.id, content = post.content, + userId = post.user.id!!, username = post.user.username, likeCount = likeCount, isLiked = isLiked, - comments = comments, + comments = comments.sortedBy { it.createdAt }, ) } diff --git a/src/test/kotlin/io/csbroker/apiserver/controller/v1/post/PostControllerTest.kt b/src/test/kotlin/io/csbroker/apiserver/controller/v1/post/PostControllerTest.kt index fd83f36f..cfc687de 100644 --- a/src/test/kotlin/io/csbroker/apiserver/controller/v1/post/PostControllerTest.kt +++ b/src/test/kotlin/io/csbroker/apiserver/controller/v1/post/PostControllerTest.kt @@ -18,6 +18,7 @@ import org.springframework.restdocs.payload.JsonFieldType import org.springframework.restdocs.payload.PayloadDocumentation import org.springframework.restdocs.request.RequestDocumentation import java.time.LocalDateTime +import java.util.UUID class PostControllerTest : RestDocsTest() { private lateinit var postService: PostService @@ -101,6 +102,7 @@ class PostControllerTest : RestDocsTest() { 1L, "CONTENT", "USER", + UUID.randomUUID(), 1, true, listOf( @@ -108,6 +110,7 @@ class PostControllerTest : RestDocsTest() { 1L, "CONTENT", "USER", + UUID.randomUUID(), 1, true, LocalDateTime.now(), @@ -138,6 +141,8 @@ class PostControllerTest : RestDocsTest() { .type(JsonFieldType.STRING).description("글 내용"), PayloadDocumentation.fieldWithPath("data[].username") .type(JsonFieldType.STRING).description("작성자"), + PayloadDocumentation.fieldWithPath("data[].userId") + .type(JsonFieldType.STRING).description("작성자 ID"), PayloadDocumentation.fieldWithPath("data[].likeCount") .type(JsonFieldType.NUMBER).description("좋아요 수"), PayloadDocumentation.fieldWithPath("data[].isLiked") @@ -148,6 +153,8 @@ class PostControllerTest : RestDocsTest() { .type(JsonFieldType.STRING).description("댓글 내용"), PayloadDocumentation.fieldWithPath("data[].comments[].username") .type(JsonFieldType.STRING).description("댓글 작성자"), + PayloadDocumentation.fieldWithPath("data[].comments[].userId") + .type(JsonFieldType.STRING).description("댓글 작성자 ID"), PayloadDocumentation.fieldWithPath("data[].comments[].likeCount") .type(JsonFieldType.NUMBER).description("좋아요 수"), PayloadDocumentation.fieldWithPath("data[].comments[].isLiked")