-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
* feat: getMyTeamsAndStudies에 정보 추가 * docs: feat: getMyTeamsAndStudies 테스트에 정보 추가 * docs: adoc 파일 정보 추가 * refactor : 불변list를 없애는 방법으로 코드 리팩토링 * fix : 사이드바 정보 api 도메인 위치 변경 * fix : 사이드바 정보 api 테스트 도메인 위치 변경
- Loading branch information
Showing
10 changed files
with
153 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
39 changes: 39 additions & 0 deletions
39
src/main/java/doore/member/application/MemberQueryService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
package doore.member.application; | ||
|
||
import static doore.member.exception.MemberExceptionType.NOT_FOUND_MEMBER; | ||
import static doore.member.exception.MemberExceptionType.UNAUTHORIZED; | ||
|
||
import doore.member.application.dto.response.MemberAndMyTeamsAndStudiesResponse; | ||
import doore.member.domain.Member; | ||
import doore.member.domain.repository.MemberRepository; | ||
import doore.member.exception.MemberException; | ||
import doore.team.application.TeamQueryService; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.stereotype.Service; | ||
import org.springframework.transaction.annotation.Transactional; | ||
|
||
@Service | ||
@Transactional(readOnly = true) | ||
@RequiredArgsConstructor | ||
public class MemberQueryService { | ||
private final MemberRepository memberRepository; | ||
private final TeamQueryService teamQueryService; | ||
|
||
public MemberAndMyTeamsAndStudiesResponse getSideBarInfo(final Long memberId, final Long tokenMemberId) { | ||
validateMember(memberId); | ||
checkSameMemberIdAndTokenMemberId(memberId, tokenMemberId); | ||
final Member member = memberRepository.findById(tokenMemberId) | ||
.orElseThrow(() -> new MemberException(NOT_FOUND_MEMBER)); | ||
return MemberAndMyTeamsAndStudiesResponse.of(member, teamQueryService.findMyTeamsAndStudies(memberId)); | ||
} | ||
|
||
private void validateMember(final Long memberId) { | ||
memberRepository.findById(memberId).orElseThrow(() -> new MemberException(NOT_FOUND_MEMBER)); | ||
} | ||
|
||
private void checkSameMemberIdAndTokenMemberId(final Long memberId, final Long tokenMemberId) { | ||
if (!memberId.equals(tokenMemberId)) { | ||
throw new MemberException(UNAUTHORIZED); | ||
} | ||
} | ||
} |
24 changes: 24 additions & 0 deletions
24
src/main/java/doore/member/application/dto/response/MemberAndMyTeamsAndStudiesResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
package doore.member.application.dto.response; | ||
|
||
import doore.member.domain.Member; | ||
import doore.team.application.dto.response.MyTeamsAndStudiesResponse; | ||
import java.util.List; | ||
import lombok.Builder; | ||
|
||
@Builder | ||
public record MemberAndMyTeamsAndStudiesResponse( | ||
Long id, | ||
String name, | ||
String imageUrl, | ||
List<MyTeamsAndStudiesResponse> myTeamsAndStudies | ||
) { | ||
public static MemberAndMyTeamsAndStudiesResponse of(final Member member, | ||
List<MyTeamsAndStudiesResponse> myTeamsAndStudiesResponse) { | ||
return MemberAndMyTeamsAndStudiesResponse.builder() | ||
.id(member.getId()) | ||
.name(member.getName()) | ||
.imageUrl(member.getImageUrl()) | ||
.myTeamsAndStudies(myTeamsAndStudiesResponse) | ||
.build(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
src/main/java/doore/team/application/dto/response/MyTeamsAndStudiesResponse.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,21 @@ | ||
package doore.team.application.dto.response; | ||
|
||
import doore.study.application.dto.response.StudyNameResponse; | ||
import doore.team.domain.Team; | ||
import java.util.List; | ||
import lombok.Builder; | ||
|
||
@Builder | ||
public record MyTeamsAndStudiesResponse( | ||
Long teamId, | ||
String teamName, | ||
List<StudyNameResponse> teamStudies | ||
) { | ||
public static MyTeamsAndStudiesResponse of(final Team team, final List<StudyNameResponse> teamStudies) { | ||
return MyTeamsAndStudiesResponse.builder() | ||
.teamId(team.getId()) | ||
.teamName(team.getName()) | ||
.teamStudies(teamStudies) | ||
.build(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters