From ef6ffa5670e9f5e68cdc23c637af1cd699252274 Mon Sep 17 00:00:00 2001 From: "pwy3282040@msecure.co" Date: Fri, 26 Dec 2025 15:07:35 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=8C=93=EA=B8=80=20=EA=B5=AC=EC=A1=B0?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 작성자 표시를 위해 CommentResponse에 isPostAuthor 필드 추가 --- .../me/wypark/blogbackend/api/dto/CommentDtos.kt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/me/wypark/blogbackend/api/dto/CommentDtos.kt b/src/main/kotlin/me/wypark/blogbackend/api/dto/CommentDtos.kt index 4df4317..75adaca 100644 --- a/src/main/kotlin/me/wypark/blogbackend/api/dto/CommentDtos.kt +++ b/src/main/kotlin/me/wypark/blogbackend/api/dto/CommentDtos.kt @@ -7,23 +7,28 @@ import java.time.LocalDateTime data class CommentResponse( val id: Long, val content: String, - val author: String, // 회원 닉네임 또는 비회원 닉네임 + val author: String, + val isPostAuthor: Boolean, // 👈 [추가] 게시글 작성자 여부 val createdAt: LocalDateTime, - val children: List // 대댓글 리스트 + val children: List ) { companion object { fun from(comment: Comment): CommentResponse { + // 게시글 작성자 ID와 댓글 작성자(회원) ID가 같은지 비교 + // comment.member는 비회원일 경우 null이므로 안전하게 처리됨 + val isAuthor = comment.member?.id == comment.post.member.id + return CommentResponse( id = comment.id!!, content = comment.content, - author = comment.getAuthorName(), // Entity에 만들어둔 편의 메서드 사용 + author = comment.getAuthorName(), + isPostAuthor = isAuthor, // 👈 계산된 값 주입 createdAt = comment.createdAt, - children = comment.children.map { from(it) } // 재귀적으로 자식 변환 + children = comment.children.map { from(it) } ) } } } - // [요청] 댓글 작성 data class CommentSaveRequest( val postSlug: String,