From 0724a12954830024e1c525d62f3efb553a91ae56 Mon Sep 17 00:00:00 2001 From: Develop-KIM Date: Tue, 14 Jul 2026 11:15:59 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=99=88=20=EC=B5=9C=EA=B7=BC=20?= =?UTF-8?q?=EC=A0=9C=EC=95=88=20=EB=B0=9B=EC=9D=80=20=ED=96=89=EB=8F=99?= =?UTF-8?q?=EC=97=90=20=ED=9A=8C=EA=B3=A0=20=EC=9A=94=EC=95=BD=20=EB=8C=80?= =?UTF-8?q?=EC=8B=A0=20=EB=8B=A4=EC=9D=8C=20=ED=96=89=EB=8F=99=20=EC=A0=9C?= =?UTF-8?q?=EC=95=88=20=EC=9A=94=EC=95=BD=EA=B5=AC=20=EB=85=B8=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 홈 "최근 제안 받은 행동" 카드가 회고 요약(summary)을 노출하고 있어 다음 행동 제안 요약구(nextActionTitle)가 보이도록 수정. 회고 목록/프로젝트별/태그별 목록은 회고 요약을 그대로 보여줘야 하므로 공유 DTO(RetrospectiveListItemV2Response)를 건드리지 않고 홈 전용 RecentRetrospectiveV2Response를 신설해 분리. --- .../com/didit/adapter/webapi/home/HomeApi.kt | 4 +-- .../adapter/webapi/home/dto/HomeV2Response.kt | 3 +- .../home/dto/RecentRetrospectiveV2Response.kt | 29 +++++++++++++++++++ .../didit/adapter/webapi/home/HomeApiTest.kt | 4 ++- 4 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 src/main/kotlin/com/didit/adapter/webapi/home/dto/RecentRetrospectiveV2Response.kt diff --git a/src/main/kotlin/com/didit/adapter/webapi/home/HomeApi.kt b/src/main/kotlin/com/didit/adapter/webapi/home/HomeApi.kt index 154e81c9..9f92c090 100644 --- a/src/main/kotlin/com/didit/adapter/webapi/home/HomeApi.kt +++ b/src/main/kotlin/com/didit/adapter/webapi/home/HomeApi.kt @@ -4,8 +4,8 @@ import com.didit.adapter.webapi.auth.annotation.CurrentUserId import com.didit.adapter.webapi.auth.annotation.RequireAuth import com.didit.adapter.webapi.home.dto.HomeResponse import com.didit.adapter.webapi.home.dto.HomeV2Response +import com.didit.adapter.webapi.home.dto.RecentRetrospectiveV2Response import com.didit.adapter.webapi.response.SuccessResponse -import com.didit.adapter.webapi.retrospect.dto.RetrospectiveListItemV2Response import com.didit.application.achievement.provided.MissionFinder import com.didit.application.achievement.provided.UserMissionRegister import com.didit.application.auth.provided.UserFinder @@ -65,7 +65,7 @@ class HomeApi( mission = missionFinder.getCurrentMission(userId), recentRetrospectives = recentRetros.map { - RetrospectiveListItemV2Response.from(it) + RecentRetrospectiveV2Response.from(it) }, ), ) diff --git a/src/main/kotlin/com/didit/adapter/webapi/home/dto/HomeV2Response.kt b/src/main/kotlin/com/didit/adapter/webapi/home/dto/HomeV2Response.kt index 0af97a74..bda176d2 100644 --- a/src/main/kotlin/com/didit/adapter/webapi/home/dto/HomeV2Response.kt +++ b/src/main/kotlin/com/didit/adapter/webapi/home/dto/HomeV2Response.kt @@ -1,6 +1,5 @@ package com.didit.adapter.webapi.home.dto -import com.didit.adapter.webapi.retrospect.dto.RetrospectiveListItemV2Response import com.didit.application.achievement.dto.CurrentMissionResponse data class HomeV2Response( @@ -8,5 +7,5 @@ data class HomeV2Response( val todayRetrospectiveCount: Int, val hasUnreadNotification: Boolean, val mission: CurrentMissionResponse, - val recentRetrospectives: List, + val recentRetrospectives: List, ) diff --git a/src/main/kotlin/com/didit/adapter/webapi/home/dto/RecentRetrospectiveV2Response.kt b/src/main/kotlin/com/didit/adapter/webapi/home/dto/RecentRetrospectiveV2Response.kt new file mode 100644 index 00000000..b62db538 --- /dev/null +++ b/src/main/kotlin/com/didit/adapter/webapi/home/dto/RecentRetrospectiveV2Response.kt @@ -0,0 +1,29 @@ +package com.didit.adapter.webapi.home.dto + +import com.didit.adapter.webapi.organization.dto.TagListResponse +import com.didit.application.retrospect.dto.RetrospectiveDetailResult +import java.time.LocalDateTime +import java.util.UUID + +// 홈 "최근 제안 받은 행동" 카드 전용 — 회고 요약이 아니라 다음 행동 제안 요약구(nextActionTitle)를 노출한다. +// 회고 목록/프로젝트별/태그별 목록은 회고 요약을 그대로 보여줘야 하므로 공유 DTO와 분리한다. +data class RecentRetrospectiveV2Response( + val id: UUID, + val title: String?, + val nextAction: String?, + val completedAt: LocalDateTime?, + val projectName: String?, + val tags: List, +) { + companion object { + fun from(result: RetrospectiveDetailResult): RecentRetrospectiveV2Response = + RecentRetrospectiveV2Response( + id = result.retrospective.id, + title = result.retrospective.title, + nextAction = result.retrospective.summary?.nextActionTitle, + completedAt = result.retrospective.completedAt, + projectName = result.project?.name, + tags = result.tags.map { TagListResponse.from(it) }, + ) + } +} diff --git a/src/test/kotlin/com/didit/adapter/webapi/home/HomeApiTest.kt b/src/test/kotlin/com/didit/adapter/webapi/home/HomeApiTest.kt index 5eab753e..475a6c6f 100644 --- a/src/test/kotlin/com/didit/adapter/webapi/home/HomeApiTest.kt +++ b/src/test/kotlin/com/didit/adapter/webapi/home/HomeApiTest.kt @@ -117,7 +117,9 @@ class HomeApiTest : AuthenticatedRestDocsSupport() { fieldWithPath("data.recentRetrospectives").type(JsonFieldType.ARRAY).description("최근 회고 목록"), fieldWithPath("data.recentRetrospectives[].id").type(JsonFieldType.STRING).description("회고 ID"), fieldWithPath("data.recentRetrospectives[].title").type(JsonFieldType.STRING).description("회고 제목").optional(), - fieldWithPath("data.recentRetrospectives[].summary").type(JsonFieldType.STRING).description("회고 요약").optional(), + fieldWithPath( + "data.recentRetrospectives[].nextAction", + ).type(JsonFieldType.STRING).description("다음 행동 제안 요약구").optional(), fieldWithPath("data.recentRetrospectives[].completedAt") .type(JsonFieldType.STRING) .description("완료 시간")