diff --git a/src/main/kotlin/com/hero/alignlab/domain/group/application/MyGroupFacade.kt b/src/main/kotlin/com/hero/alignlab/domain/group/application/MyGroupFacade.kt index 61ec473..e2da0c4 100644 --- a/src/main/kotlin/com/hero/alignlab/domain/group/application/MyGroupFacade.kt +++ b/src/main/kotlin/com/hero/alignlab/domain/group/application/MyGroupFacade.kt @@ -1,6 +1,7 @@ package com.hero.alignlab.domain.group.application import com.hero.alignlab.domain.auth.model.AuthUser +import com.hero.alignlab.domain.group.infrastructure.GroupTagRepository import com.hero.alignlab.domain.group.model.response.MyGroupResponse import com.hero.alignlab.domain.user.application.UserInfoService import org.springframework.stereotype.Service @@ -10,6 +11,7 @@ class MyGroupFacade( private val groupService: GroupService, private val groupUserService: GroupUserService, private val userInfoService: UserInfoService, + private val groupTagRepository: GroupTagRepository ) { // TODO : 기획 확인후, 코드 변경 suspend fun getMyGroup(user: AuthUser): MyGroupResponse? { @@ -17,7 +19,8 @@ class MyGroupFacade( val group = groupService.findByIdOrThrow(groupUser.groupId) val groupUserCount = groupUserService.countAllByGroupId(groupUser.groupId) val ownerUserInfo = userInfoService.findByIdOrThrow(group.ownerUid) + val tagNames = groupTagRepository.findByGroupId(group.id).map { it.name } - return MyGroupResponse.of(group, groupUserCount.toInt(), ownerUserInfo.nickname) + return MyGroupResponse.of(group, groupUserCount.toInt(), ownerUserInfo.nickname, tagNames) } } diff --git a/src/main/kotlin/com/hero/alignlab/domain/group/model/response/MyGroupResponse.kt b/src/main/kotlin/com/hero/alignlab/domain/group/model/response/MyGroupResponse.kt index a8160ba..bded18f 100644 --- a/src/main/kotlin/com/hero/alignlab/domain/group/model/response/MyGroupResponse.kt +++ b/src/main/kotlin/com/hero/alignlab/domain/group/model/response/MyGroupResponse.kt @@ -11,23 +11,32 @@ data class MyGroupResponse( val description: String?, /** owner uid */ val ownerUid: Long, + /** 숨김 여부 */ + val isHidden: Boolean, + /** 참여 코드, 미입력시 자동 생성 */ + val joinCode: String?, /** 그룹원 수 */ val userCount: Int, /** 그룹 정원 */ val userCapacity: Int, /** 그룹장 명 */ val ownerNickname: String, + /** 태그 리스트, 최대 3개 */ + val tagNames: List?, ) { companion object { - fun of(group: Group, userCount: Int, ownerNickname: String): MyGroupResponse { + fun of(group: Group, userCount: Int, ownerNickname: String, tagNames: List?): MyGroupResponse { return MyGroupResponse( id = group.id, name = group.name, description = group.description, ownerUid = group.ownerUid, + isHidden = group.isHidden, + joinCode = group.joinCode, userCount = userCount, userCapacity = group.userCapacity, - ownerNickname = ownerNickname + ownerNickname = ownerNickname, + tagNames = tagNames ?: emptyList(), ) } }