Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
#284 Refactor: Member에 Provider 속성 추가
Browse files Browse the repository at this point in the history
betgws committed Dec 29, 2024
1 parent b0a084e commit c41cc9a
Showing 6 changed files with 44 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@
import com.drinkeg.drinkeg.member.dto.MemberResponseDTO;
import com.drinkeg.drinkeg.dto.loginDTO.commonDTO.UserDTO;
import com.drinkeg.drinkeg.member.dto.MemberBasicInfoResponseDTO;
import com.drinkeg.drinkeg.member.enums.Provider;
import com.drinkeg.drinkeg.member.enums.Role;
import org.springframework.stereotype.Component;

@@ -13,25 +14,18 @@
@Component
public class MemberConverter {

public Member toAppleMember(String username, Map<String, Object> claims) {
public Member toOAuthMember(String username, String email, String provider) {


return Member.builder()
.username(username)
.email((String) claims.get("email")) // email 값을 claims에서 추출
.role(Role.USER)
.isFirst(true)
.build();
}

public Member toKakaoMember(String kakaoname, String email ) {
return Member.builder()
.username(kakaoname)
.email(email)
.role(Role.USER)
.provider(Provider.fromValue(provider))
.isFirst(true)
.build();
}


public static MemberBasicInfoResponseDTO toMemberBasicInfoResponseDTO(Member member) {
return MemberBasicInfoResponseDTO.builder()
@@ -45,6 +39,7 @@ public Member toMember(String username, String password, boolean isBoolean){
.username(username)
.password(password)
.role(Role.USER)
.provider(Provider.DRINKEG)
.isFirst(isBoolean)
.build();
}
4 changes: 4 additions & 0 deletions src/main/java/com/drinkeg/drinkeg/member/domain/Member.java
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@


import com.drinkeg.drinkeg.converter.StringListConverter;
import com.drinkeg.drinkeg.member.enums.Provider;
import com.drinkeg.drinkeg.member.enums.Role;
import com.drinkeg.drinkeg.tastingNote.domain.TastingNote;
import jakarta.persistence.*;
@@ -28,6 +29,9 @@ public class Member {
@Enumerated(EnumType.STRING)
private Role role;

@Enumerated(EnumType.STRING)
private Provider provider;

private String username;

private String password;
33 changes: 33 additions & 0 deletions src/main/java/com/drinkeg/drinkeg/member/enums/Provider.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.drinkeg.drinkeg.member.enums;


import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.hibernate.AssertionFailure;

@Getter
@RequiredArgsConstructor
public enum Provider {

KAKAO("Kakao"),
APPLE("Apple"),
DRINKEG("Drinkeg");

private final String value;

@Override
public String toString() {
return this.value;
}

public static Provider fromValue(String value) {
for (Provider provider : Provider.values()) {
if (provider.value.equalsIgnoreCase(value)) {
return provider;
}
}
throw new IllegalArgumentException("No enum constant " + Provider.class.getCanonicalName() + "." + value);
}


}
10 changes: 0 additions & 10 deletions src/main/java/com/drinkeg/drinkeg/member/enums/Role.java
Original file line number Diff line number Diff line change
@@ -17,14 +17,4 @@ public String toString() {
}



public static Role fromValue(String value) {
for (Role role : Role.values()) {
if (role.getValue().equalsIgnoreCase(value)) {
return role;
}
}
throw new IllegalArgumentException("Unknown role: " + value);
}

}
Original file line number Diff line number Diff line change
@@ -59,7 +59,7 @@ public LoginResponseDTO appleLogin(AppleLoginRequestDTO appleLoginRequestDTO, Ht

if (existData.isEmpty()){

member = memberConverter.toAppleMember(username, claims);
member = memberConverter.toOAuthMember(username, (String) claims.get("email"),"Apple");
memberRepository.save(member);
System.out.println("첫 로그인임");
tokenService.jwtProvider(member, response);
Original file line number Diff line number Diff line change
@@ -51,7 +51,7 @@ public LoginResponseDTO kakaoLogin(KakaoLoginRequestDTO kakaoLoginRequestDTO, Ht

if (existData.isEmpty()){

member = memberConverter.toKakaoMember(kakaoname,kakaoEmail);
member = memberConverter.toOAuthMember(kakaoname,kakaoEmail,"Kakao");
memberRepository.save(member);
System.out.println("첫 로그인임");
tokenService.jwtProvider(member, response);

0 comments on commit c41cc9a

Please sign in to comment.