Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/main/kotlin/com/didit/adapter/webapi/home/HomeApi.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -65,7 +65,7 @@ class HomeApi(
mission = missionFinder.getCurrentMission(userId),
recentRetrospectives =
recentRetros.map {
RetrospectiveListItemV2Response.from(it)
RecentRetrospectiveV2Response.from(it)
},
),
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
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(
val nickname: String,
val todayRetrospectiveCount: Int,
val hasUnreadNotification: Boolean,
val mission: CurrentMissionResponse,
val recentRetrospectives: List<RetrospectiveListItemV2Response>,
val recentRetrospectives: List<RecentRetrospectiveV2Response>,
)
Original file line number Diff line number Diff line change
@@ -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<TagListResponse>,
) {
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) },
)
}
}
4 changes: 3 additions & 1 deletion src/test/kotlin/com/didit/adapter/webapi/home/HomeApiTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -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("완료 시간")
Expand Down
Loading