Skip to content

Commit

Permalink
Merge pull request #90 from Team-Shaka/refactor/88
Browse files Browse the repository at this point in the history
[REFACTOR]/#88- Member 엔티티의 필드를 변경하여 id와 userName으로 관리하기
  • Loading branch information
CYY1007 committed Apr 5, 2024
2 parents 8ac5386 + 8087051 commit 7657ea0
Show file tree
Hide file tree
Showing 19 changed files with 54 additions and 47 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ public class InvitationRequestDTO {

@Getter
public static class sendInvitation {
private String senderId;
private Long senderId;
private Long treeId;
private String phoneNumber;
}

@Getter
public static class inviteMember {
private String senderId;
private Long senderId;
private Long treeId;
private String targetUserId;
private Long targetUserId;
}

@Getter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ public class MemberController {
private final MemberService memberService;
@PostMapping("/checkId")
@Operation(summary = "아이디 중복 체크", description = "서비스에서 사용할 고유 ID를 중복 체크합니다.")
public ApiResponse<MemberResponseDTO.checkId> checkId(
@RequestBody final MemberRequestDTO.checkId request
public ApiResponse<MemberResponseDTO.checkName> checkName(
@RequestBody final MemberRequestDTO.checkName request
) {
return ApiResponse.onSuccess(memberService.checkId(request));
return ApiResponse.onSuccess(memberService.checkName(request));
}
@PostMapping("/register")
@Operation(summary = "회원가입", description = "회원가입을 진행합니다.")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import org.example.tree.domain.member.dto.MemberResponseDTO;
import org.example.tree.domain.member.entity.Member;
import org.example.tree.domain.member.entity.MemberRole;
import org.example.tree.domain.member.entity.MemberStatus;
import org.example.tree.domain.member.service.MemberQueryService;
import org.example.tree.domain.member.service.MemberService;
import org.springframework.stereotype.Component;

@Component
Expand All @@ -28,25 +28,27 @@ public void init() {
* @return Member
*/
public static Member toMemberSecurity(String id){
return staticMemberQueryService.findById(id);
return staticMemberQueryService.findById(Long.valueOf(id));
}

public Member toMember (String id, String phone) {
public Member toMember (String userName, String phone) {
return Member.builder()
.id(id)
.userName(userName)
.phone(phone)
.role(MemberRole.ROLE_USER)
.status(MemberStatus.ACTIVE)
.build();
}

public MemberResponseDTO.checkId toCheckId(Boolean isDuplicated) {
return MemberResponseDTO.checkId.builder()
public MemberResponseDTO.checkId toCheckName(Boolean isDuplicated) {
return MemberResponseDTO.checkName.builder()
.isDuplicated(isDuplicated)
.build();
}

public MemberResponseDTO.registerMember toRegister(String accessToken, String refreshToken) {
public MemberResponseDTO.registerMember toRegister(Member member, String accessToken, String refreshToken) {
return MemberResponseDTO.registerMember.builder()
.userId(member.getId())
.accessToken(accessToken)
.refreshToken(refreshToken)
.build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
public class MemberRequestDTO {

@Getter
public static class checkId {
private String userId;
public static class checkName {
private String userName;
}

@Getter
public static class registerMember {
private String phoneNumber;
private String userId;
private String userName;
}

@Getter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public class MemberResponseDTO {
@Getter
@NoArgsConstructor
@AllArgsConstructor
public static class checkId {
public static class checkName {
private Boolean isDuplicated;
}

Expand All @@ -18,6 +18,7 @@ public static class checkId {
@NoArgsConstructor
@AllArgsConstructor
public static class registerMember {
private Long userId;
private String accessToken;
private String refreshToken;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@
import jakarta.persistence.*;
import lombok.*;
import org.example.tree.common.BaseDateTimeEntity;
import org.example.tree.domain.post.entity.Post;

import java.time.LocalDateTime;
import java.util.List;

@Entity
@Getter
Expand All @@ -17,7 +15,10 @@
public class Member extends BaseDateTimeEntity {

@Id
private String id; //고유 문자열 아이디(인스타그램 st.)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String userName; //고유 문자열 아이디(인스타그램 st.)

private String bio;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,7 @@

public interface MemberRepository extends JpaRepository<Member, String> {
Optional<Member> findByPhone(String phone);

Optional<Member> findByUserName(String userName);

}
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@

@Repository
public interface RefreshTokenRepository extends JpaRepository<RefreshToken, Long> {
Optional<RefreshToken> findByMemberId(String memberId);
Optional<RefreshToken> findByMemberId(Long memberId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ public Member register(Member member) {
}
public TokenDTO login(Member member) {

String accessToken = tokenProvider.createAccessToken(member.getId(), List.of(new SimpleGrantedAuthority(MemberRole.ROLE_USER.name())));
String rawToken = tokenProvider.createRefreshToken(member.getId());
String accessToken = tokenProvider.createAccessToken(String.valueOf(member.getId()), List.of(new SimpleGrantedAuthority(MemberRole.ROLE_USER.name())));
String rawToken = tokenProvider.createRefreshToken(String.valueOf(member.getId()));
RefreshToken refreshToken = RefreshToken.builder()
.memberId(member.getId())
.token(rawToken)
Expand All @@ -55,8 +55,8 @@ public TokenDTO reissue(Member member) {
RefreshToken invalidToken = refreshTokenRepository.findByMemberId(member.getId())
.orElseThrow(() -> new GeneralException(GlobalErrorCode.REFRESH_TOKEN_NOT_FOUND));
refreshTokenRepository.delete(invalidToken);
String accessToken = tokenProvider.createAccessToken(member.getId(),List.of(new SimpleGrantedAuthority(MemberRole.ROLE_USER.name())));
String rawToken = tokenProvider.createRefreshToken(member.getId());
String accessToken = tokenProvider.createAccessToken(String.valueOf(member.getId()),List.of(new SimpleGrantedAuthority(MemberRole.ROLE_USER.name())));
String rawToken = tokenProvider.createRefreshToken(String.valueOf(member.getId()));
RefreshToken refreshToken = RefreshToken.builder()
.memberId(member.getId())
.token(rawToken)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ public class MemberQueryService {
private final MemberRepository memberRepository;
private final TokenProvider jwtTokenProvider;

public Optional<Member> checkId(String id) {
return memberRepository.findById(id);
public Optional<Member> checkName(String userName) {
return memberRepository.findByUserName(userName);
}
public Member findById(String id) {
return memberRepository.findById(id)
public Member findById(Long id) {
return memberRepository.findById(String.valueOf(id))
.orElseThrow(()->new GeneralException(GlobalErrorCode.MEMBER_NOT_FOUND));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@ public class MemberService {
private final MemberConverter memberConverter;

@Transactional
public MemberResponseDTO.checkId checkId(MemberRequestDTO.checkId request) {
Optional<Member> optionalMember = memberQueryService.checkId(request.getUserId());
Boolean isDuplicated = optionalMember.isPresent();
return memberConverter.toCheckId(isDuplicated);
public MemberResponseDTO.checkName checkName(MemberRequestDTO.checkName request) {
Optional<Member> optionalMember = memberQueryService.checkName(request.getUserName());
Boolean isDuplicate = optionalMember.isPresent();
return memberConverter.toCheckName(isDuplicate);
}
@Transactional
public MemberResponseDTO.registerMember register(MemberRequestDTO.registerMember request) {
Member member = memberConverter.toMember(request.getUserId(), request.getPhoneNumber());
Member member = memberConverter.toMember(request.getUserName(), request.getPhoneNumber());
Member savedMember =memberCommandService.register(member);
TokenDTO savedToken = memberCommandService.login(savedMember);
return memberConverter.toRegister(savedToken.getAccessToken(), savedToken.getRefreshToken());
return memberConverter.toRegister(savedMember, savedToken.getAccessToken(), savedToken.getRefreshToken());
}

@Transactional
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ public static class sendNotification {
private String title;
private String message;
private NotificationType type;
private String receiverId;
private Long receiverId;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,28 +28,28 @@ public class NotificationService {
private final MemberQueryService memberQueryService;

@Transactional
public void sendNotification(String title, String message, NotificationType type, String receiverId) {
public void sendNotification(String title, String message, NotificationType type, Long receiverId) {
Member receiver = memberQueryService.findById(receiverId);
Notification notification = notificationConverter.toNotification(title, message, type, receiver);
notificationCommandService.createNotification(notification);
}

@Transactional
public void commentNotification(Profile sender, Comment comment, String receiverId) {
public void commentNotification(Profile sender, Comment comment, Long receiverId) {
Member receiver = memberQueryService.findById(receiverId);
Notification notification = notificationConverter.toCommentNotification(sender, comment, receiver);
notificationCommandService.createNotification(notification);
}

@Transactional
public void reactionNotification(Profile sender, Reaction reaction, String receiverId) {
public void reactionNotification(Profile sender, Reaction reaction, Long receiverId) {
Member receiver = memberQueryService.findById(receiverId);
Notification notification = notificationConverter.toReactionNotification(sender, reaction, receiver);
notificationCommandService.createNotification(notification);
}

@Transactional
public void invitationNotification(Profile sender, Invitation invitation, String receiverId) {
public void invitationNotification(Profile sender, Invitation invitation, Long receiverId) {
Member receiver = memberQueryService.findById(receiverId);
Notification notification = notificationConverter.toInvitationNotification(sender, invitation, receiver);
notificationCommandService.createNotification(notification);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class ProfileRequestDTO {
@Getter
public static class createProfile {
private Long treeId;
private String userId;
private Long userId;
private String memberName;
private String profileImage;
private String bio;
Expand All @@ -20,7 +20,7 @@ public static class createProfile {
@Getter
public static class ownerProfile {
private Long treeId;
private String userId;
private Long userId;
private String memberName;
private String profileImage;
private String bio;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public static class createProfile {
public static class getProfileDetails {
private Long profileId;
private List<Long> treeIds;
private String memberId;
private Long memberId;
private String memberName;
private String bio;
private String profileImageUrl;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public interface ProfileRepository extends JpaRepository<Profile, Long> {
Optional<Profile> findByMemberAndTree(Member member, Tree tree);


List<Profile> findAllByMember_Id(String memberId);
List<Profile> findAllByMember_Id(Long memberId);

List<Profile> findAllByTree(Tree tree);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public Profile findById(Long profileId) {
}

public List<Long> findJoinedTree(Profile profile) {
String memberId = profile.getMember().getId();
Long memberId = profile.getMember().getId();
List<Profile> foundProfiles = profileRepository.findAllByMember_Id(memberId);
return foundProfiles.stream()
.map(foundProfile -> foundProfile.getTree().getId())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
@Getter
public class RefreshToken {
@Id
private String memberId;
private Long memberId;

private String token;
}
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ public boolean validateRefreshToken(String refreshToken) {

// 저장된 토큰과 비교
String memberId = getMemberIdFromToken(refreshToken);
Optional<RefreshToken> refreshTokenOptional = refreshTokenRepository.findByMemberId(memberId);
Optional<RefreshToken> refreshTokenOptional = refreshTokenRepository.findByMemberId(Long.valueOf(memberId));

if (!refreshTokenOptional.isPresent()) {
log.warn("No matching refresh token found for email: {}", memberId);
Expand Down

0 comments on commit 7657ea0

Please sign in to comment.