diff --git a/src/main/kotlin/xquare/app/xquareinfra/domain/team/adapter/dto/response/DetailTeamResponse.kt b/src/main/kotlin/xquare/app/xquareinfra/domain/team/adapter/dto/response/DetailTeamResponse.kt index e6ccd74..a74871f 100644 --- a/src/main/kotlin/xquare/app/xquareinfra/domain/team/adapter/dto/response/DetailTeamResponse.kt +++ b/src/main/kotlin/xquare/app/xquareinfra/domain/team/adapter/dto/response/DetailTeamResponse.kt @@ -8,5 +8,6 @@ data class DetailTeamResponse( val memberCount: Int, val adminName: String, val createdAt: LocalDateTime, - val memberList: List + val memberList: List, + val isAdmin: Boolean ) diff --git a/src/main/kotlin/xquare/app/xquareinfra/domain/team/application/service/GetTeamDetailService.kt b/src/main/kotlin/xquare/app/xquareinfra/domain/team/application/service/GetTeamDetailService.kt index 5c29ede..11da001 100644 --- a/src/main/kotlin/xquare/app/xquareinfra/domain/team/application/service/GetTeamDetailService.kt +++ b/src/main/kotlin/xquare/app/xquareinfra/domain/team/application/service/GetTeamDetailService.kt @@ -2,6 +2,7 @@ package xquare.app.xquareinfra.domain.team.application.service import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional +import xquare.app.xquareinfra.domain.auth.application.port.out.ReadCurrentUserPort import xquare.app.xquareinfra.domain.team.adapter.dto.response.DetailTeamResponse import xquare.app.xquareinfra.domain.team.adapter.dto.response.TeamMemberResponse import xquare.app.xquareinfra.domain.team.application.port.`in`.GetTeamDetailUseCase @@ -15,10 +16,12 @@ import java.util.* @Service class GetTeamDetailService( private val findTeamPort: FindTeamPort, - private val findUserPort: FindUserPort + private val findUserPort: FindUserPort, + private val readCurrentUserPort: ReadCurrentUserPort ): GetTeamDetailUseCase { override fun getTeamDetail(teamId: UUID): DetailTeamResponse { val team = findTeamPort.findById(teamId) ?: throw BusinessLogicException.TEAM_NOT_FOUND + val user = readCurrentUserPort.readCurrentUser() val response = team.run { val admin = findUserPort.findById(adminId) ?: throw BusinessLogicException.USER_NOT_FOUND DetailTeamResponse( @@ -27,7 +30,8 @@ class GetTeamDetailService( memberCount = members.size, adminName = admin.name, createdAt = createdAt!!, - memberList = getMemberResponse(members) + memberList = getMemberResponse(members), + isAdmin = team.adminId == user.id!! ) } return response