From 40a528466d39e3ab975e24f348809ac9111f26d5 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Sun, 7 Jan 2024 23:34:22 +0900 Subject: [PATCH 01/13] =?UTF-8?q?fix=20:=20=EB=88=84=EB=9D=BD=20Transactio?= =?UTF-8?q?n=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/prgrms/catchtable/owner/service/OwnerService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java index d8a12a97..e1854a7d 100644 --- a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java +++ b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java @@ -16,6 +16,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor @@ -25,6 +26,7 @@ public class OwnerService { private final PasswordEncoder passwordEncoder; private final JwtTokenProvider jwtTokenProvider; + @Transactional public JoinOwnerResponse joinOwner(JoinOwnerRequest joinOwnerRequest) { //이미 존재하는 이메일이라면 @@ -47,6 +49,7 @@ private void validateExistsOwner(JoinOwnerRequest joinOwnerRequest) { } } + @Transactional public Token loginOwner(LoginOwnerRequest loginRequest) { //email 확인 From 2e9f9f1bded75163b03d5e9042e86a6ddc0791c4 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 11:27:27 +0900 Subject: [PATCH 02/13] =?UTF-8?q?style=20:=20=EC=A4=84=EB=B0=94=EA=BF=88?= =?UTF-8?q?=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/prgrms/catchtable/member/service/MemberService.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/com/prgrms/catchtable/member/service/MemberService.java b/src/main/java/com/prgrms/catchtable/member/service/MemberService.java index 82d85412..42f79aea 100644 --- a/src/main/java/com/prgrms/catchtable/member/service/MemberService.java +++ b/src/main/java/com/prgrms/catchtable/member/service/MemberService.java @@ -17,10 +17,8 @@ public class MemberService { private final MemberRepository memberRepository; - - private final JwtTokenProvider jwtTokenProvider; - private final RefreshTokenService refreshTokenService; + private final JwtTokenProvider jwtTokenProvider; @Transactional public Token oauthLogin(OAuthAttribute attributes) { From 63e427ea050382f99555d556466a00277a08fc36 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 11:31:14 +0900 Subject: [PATCH 03/13] =?UTF-8?q?fix=20:=20Owner=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EC=8B=9C,=20RefreshToken=20DB=20=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prgrms/catchtable/owner/service/OwnerService.java | 10 +++++++++- .../catchtable/owner/service/OwnerServiceTest.java | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java index e1854a7d..a31e23ba 100644 --- a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java +++ b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java @@ -5,6 +5,7 @@ import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; import com.prgrms.catchtable.jwt.provider.JwtTokenProvider; +import com.prgrms.catchtable.jwt.service.RefreshTokenService; import com.prgrms.catchtable.jwt.token.Token; import com.prgrms.catchtable.member.domain.Gender; import com.prgrms.catchtable.owner.domain.Owner; @@ -25,6 +26,7 @@ public class OwnerService { private final OwnerRepository ownerRepository; private final PasswordEncoder passwordEncoder; private final JwtTokenProvider jwtTokenProvider; + private final RefreshTokenService refreshTokenService; @Transactional public JoinOwnerResponse joinOwner(JoinOwnerRequest joinOwnerRequest) { @@ -59,7 +61,7 @@ public Token loginOwner(LoginOwnerRequest loginRequest) { //password 확인 validatePassword(loginRequest, loginOwner); - return jwtTokenProvider.createToken(loginOwner.getEmail()); + return createTotalToken(loginOwner.getEmail()); } private void validatePassword(LoginOwnerRequest loginRequest, Owner loginOwner) { @@ -68,4 +70,10 @@ private void validatePassword(LoginOwnerRequest loginRequest, Owner loginOwner) } } + private Token createTotalToken(String email){ + Token totalToken = jwtTokenProvider.createToken(email); + refreshTokenService.saveRefreshToken(totalToken); + return totalToken; + } + } diff --git a/src/test/java/com/prgrms/catchtable/owner/service/OwnerServiceTest.java b/src/test/java/com/prgrms/catchtable/owner/service/OwnerServiceTest.java index 3c7e59e7..7c42360f 100644 --- a/src/test/java/com/prgrms/catchtable/owner/service/OwnerServiceTest.java +++ b/src/test/java/com/prgrms/catchtable/owner/service/OwnerServiceTest.java @@ -7,6 +7,7 @@ import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; import com.prgrms.catchtable.jwt.provider.JwtTokenProvider; +import com.prgrms.catchtable.jwt.service.RefreshTokenService; import com.prgrms.catchtable.jwt.token.Token; import com.prgrms.catchtable.owner.domain.Owner; import com.prgrms.catchtable.owner.dto.request.JoinOwnerRequest; @@ -24,10 +25,11 @@ class OwnerServiceTest { private final OwnerRepository ownerRepository = mock(OwnerRepository.class); private final JwtTokenProvider jwtTokenProvider = mock(JwtTokenProvider.class); + private final RefreshTokenService refreshTokenService = mock(RefreshTokenService.class); private final PasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); private final OwnerService ownerService = new OwnerService(ownerRepository, passwordEncoder, - jwtTokenProvider); + jwtTokenProvider, refreshTokenService); private final String email = "abc1234@gmail.com"; private final String password = "qwer1234"; From cdfea7fcb4b568ee71d527554a5c9a5311d87133 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 13:21:47 +0900 Subject: [PATCH 04/13] =?UTF-8?q?fix=20:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EC=8B=9C,=20JWT=20=ED=86=A0=ED=81=B0=EC=9D=98=20=EA=B6=8C?= =?UTF-8?q?=ED=95=9C=EB=8F=84=20=ED=95=A8=EA=BB=98=20=EC=A0=84=EB=8B=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prgrms/catchtable/jwt/provider/JwtTokenProvider.java | 8 +++++--- src/main/java/com/prgrms/catchtable/jwt/token/Token.java | 3 +++ .../prgrms/catchtable/member/service/MemberService.java | 3 ++- .../com/prgrms/catchtable/owner/service/OwnerService.java | 3 ++- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java b/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java index 9bc8f529..891082a1 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java +++ b/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java @@ -1,6 +1,7 @@ package com.prgrms.catchtable.jwt.provider; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.jwt.config.JwtConfig; import com.prgrms.catchtable.jwt.service.JwtUserDetailsService; import com.prgrms.catchtable.jwt.token.Token; @@ -20,18 +21,19 @@ public class JwtTokenProvider { private final JwtConfig jwtConfig; - private final JwtUserDetailsService jwtUserDetailsService; + private final String JWT_ROLE= "ROLE"; - public Token createToken(String email) { + public Token createToken(String email, Role role) { Claims claims = Jwts.claims().setSubject(email); + claims.put(JWT_ROLE, role); Date now = new Date(); String accessToken = createAccessToken(claims, now); String refreshToken = createRefreshToken(claims, now); - return new Token(accessToken, refreshToken, email); + return new Token(accessToken, refreshToken, email, role); } private String createAccessToken(Claims claims, Date now) { diff --git a/src/main/java/com/prgrms/catchtable/jwt/token/Token.java b/src/main/java/com/prgrms/catchtable/jwt/token/Token.java index f2fe8093..3af585b7 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/token/Token.java +++ b/src/main/java/com/prgrms/catchtable/jwt/token/Token.java @@ -1,5 +1,6 @@ package com.prgrms.catchtable.jwt.token; +import com.prgrms.catchtable.common.Role; import lombok.AllArgsConstructor; import lombok.Getter; @@ -12,4 +13,6 @@ public class Token { private String refreshToken; private String email; + + private Role role; } diff --git a/src/main/java/com/prgrms/catchtable/member/service/MemberService.java b/src/main/java/com/prgrms/catchtable/member/service/MemberService.java index 42f79aea..638c897c 100644 --- a/src/main/java/com/prgrms/catchtable/member/service/MemberService.java +++ b/src/main/java/com/prgrms/catchtable/member/service/MemberService.java @@ -1,5 +1,6 @@ package com.prgrms.catchtable.member.service; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.jwt.provider.JwtTokenProvider; import com.prgrms.catchtable.jwt.service.RefreshTokenService; import com.prgrms.catchtable.jwt.token.Token; @@ -34,7 +35,7 @@ public Token oauthLogin(OAuthAttribute attributes) { } private Token createTotalToken(String email) { - Token totalToken = jwtTokenProvider.createToken(email); + Token totalToken = jwtTokenProvider.createToken(email, Role.MEMBER); refreshTokenService.saveRefreshToken(totalToken); return totalToken; } diff --git a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java index a31e23ba..a3a79eab 100644 --- a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java +++ b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java @@ -3,6 +3,7 @@ import static com.prgrms.catchtable.common.exception.ErrorCode.ALREADY_EXIST_OWNER; import static com.prgrms.catchtable.common.exception.ErrorCode.BAD_REQUEST_EMAIL_OR_PASSWORD; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; import com.prgrms.catchtable.jwt.provider.JwtTokenProvider; import com.prgrms.catchtable.jwt.service.RefreshTokenService; @@ -71,7 +72,7 @@ private void validatePassword(LoginOwnerRequest loginRequest, Owner loginOwner) } private Token createTotalToken(String email){ - Token totalToken = jwtTokenProvider.createToken(email); + Token totalToken = jwtTokenProvider.createToken(email, Role.OWNER); refreshTokenService.saveRefreshToken(totalToken); return totalToken; } From 78b12a269a794e5f5be25e1865c16921f9cbf766 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 13:34:53 +0900 Subject: [PATCH 05/13] =?UTF-8?q?feat=20:=20RefreshToken=20Role=20?= =?UTF-8?q?=ED=95=84=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/prgrms/catchtable/jwt/domain/RefreshToken.java | 10 +++++++++- .../catchtable/jwt/service/RefreshTokenService.java | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/prgrms/catchtable/jwt/domain/RefreshToken.java b/src/main/java/com/prgrms/catchtable/jwt/domain/RefreshToken.java index b6ef9087..cbac06d6 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/domain/RefreshToken.java +++ b/src/main/java/com/prgrms/catchtable/jwt/domain/RefreshToken.java @@ -1,9 +1,12 @@ package com.prgrms.catchtable.jwt.domain; +import static jakarta.persistence.EnumType.*; import static lombok.AccessLevel.PROTECTED; +import com.prgrms.catchtable.common.Role; import jakarta.persistence.Column; import jakarta.persistence.Entity; +import jakarta.persistence.Enumerated; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; @@ -26,10 +29,15 @@ public class RefreshToken { @Column(name = "email") private String email; + @Column(name = "role") + @Enumerated(STRING) + private Role role; + @Builder - public RefreshToken(String token, String email) { + public RefreshToken(String token, String email, Role role) { this.token = token; this.email = email; + this.role = role; } } diff --git a/src/main/java/com/prgrms/catchtable/jwt/service/RefreshTokenService.java b/src/main/java/com/prgrms/catchtable/jwt/service/RefreshTokenService.java index 4d993587..d505ed88 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/service/RefreshTokenService.java +++ b/src/main/java/com/prgrms/catchtable/jwt/service/RefreshTokenService.java @@ -2,6 +2,7 @@ import static com.prgrms.catchtable.common.exception.ErrorCode.NOT_FOUND_REFRESH_TOKEN; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.NotFoundCustomException; import com.prgrms.catchtable.jwt.domain.RefreshToken; import com.prgrms.catchtable.jwt.repository.RefreshTokenRepository; @@ -19,6 +20,7 @@ public class RefreshTokenService { @Transactional public void saveRefreshToken(Token totalToken) { String email = totalToken.getEmail(); + Role role = totalToken.getRole(); if (refreshTokenRepository.existsRefreshTokenByEmail(email)) { refreshTokenRepository.deleteRefreshTokenByEmail(email); @@ -27,6 +29,7 @@ public void saveRefreshToken(Token totalToken) { RefreshToken newRefreshToken = RefreshToken.builder() .token(totalToken.getRefreshToken()) .email(email) + .role(role) .build(); refreshTokenRepository.save(newRefreshToken); From ef15862d00e59b0997f494bb63f1f9ba5304d293 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 13:36:20 +0900 Subject: [PATCH 06/13] =?UTF-8?q?fix=20:=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20?= =?UTF-8?q?=EC=8B=9C,=20RefreshToken=EC=9D=84=20=ED=86=B5=ED=95=B4=20?= =?UTF-8?q?=EA=B6=8C=ED=95=9C=EC=9D=84=20=EA=B0=80=EC=A0=B8=EC=98=AC=20?= =?UTF-8?q?=EC=88=98=20=EC=9E=88=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prgrms/catchtable/jwt/filter/JwtAuthenticationFilter.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/prgrms/catchtable/jwt/filter/JwtAuthenticationFilter.java b/src/main/java/com/prgrms/catchtable/jwt/filter/JwtAuthenticationFilter.java index eb1781c5..e71bca0c 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/filter/JwtAuthenticationFilter.java +++ b/src/main/java/com/prgrms/catchtable/jwt/filter/JwtAuthenticationFilter.java @@ -2,6 +2,7 @@ import static com.prgrms.catchtable.common.exception.ErrorCode.TOKEN_EXPIRES; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; import com.prgrms.catchtable.jwt.domain.RefreshToken; import com.prgrms.catchtable.jwt.provider.JwtTokenProvider; @@ -48,7 +49,8 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha RefreshToken refreshTokenEntity = refreshTokenService.getRefreshTokenByToken( refreshToken); String email = refreshTokenEntity.getEmail(); - Token newToken = jwtTokenProvider.createToken(email); + Role role = refreshTokenEntity.getRole(); + Token newToken = jwtTokenProvider.createToken(email, role); ((HttpServletResponse) response).setHeader("AccessToken", newToken.getAccessToken()); From 643a0508a787940f8b3c11753ccd2aa1cb48c639 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 13:37:55 +0900 Subject: [PATCH 07/13] =?UTF-8?q?feat=20:=20Role=EC=9D=84=20=ED=86=B5?= =?UTF-8?q?=ED=95=B4=20Member=EC=9D=B8=EC=A7=80=20Owner=EC=9D=B8=EC=A7=80?= =?UTF-8?q?=20=EA=B5=AC=EB=B6=84=ED=95=9C=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/exception/ErrorCode.java | 1 + .../jwt/provider/JwtTokenProvider.java | 14 +++++++++++- .../jwt/service/JwtUserDetailsService.java | 22 ++++++++++++++----- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java b/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java index a0b3afe4..c3bc04a7 100644 --- a/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java +++ b/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java @@ -7,6 +7,7 @@ @RequiredArgsConstructor public enum ErrorCode { NOT_EXIST_MEMBER("존재하지 않는 회원입니다."), + NOT_EXIST_OWNER("존재하지 않는 점주입니다."), NOT_FOUND_REFRESH_TOKEN("유효하지 않은 RefreshToken입니다."), TOKEN_EXPIRES("토큰이 만료되었습니다. 다시 로그인 해 주세요."), diff --git a/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java b/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java index 891082a1..2b1b5808 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java +++ b/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java @@ -75,7 +75,9 @@ public boolean validateToken(String token) { public Authentication getAuthentication(String token) { String email = getEmail(token); - UserDetails userDetails = jwtUserDetailsService.loadUserByUsername(email); + Role role = getRole(token); + + UserDetails userDetails = jwtUserDetailsService.loadUserByUsername(email, role); return new UsernamePasswordAuthenticationToken(userDetails, "", userDetails.getAuthorities()); } @@ -89,4 +91,14 @@ private String getEmail(String token) { return claims.getSubject(); } + + private Role getRole(String token){ + Claims claims = Jwts.parserBuilder() + .setSigningKey(jwtConfig.getClientSecret()) + .build() + .parseClaimsJws(token) + .getBody(); + + return (Role) claims.get(JWT_ROLE); + } } diff --git a/src/main/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsService.java b/src/main/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsService.java index e445d69e..9d0b2398 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsService.java +++ b/src/main/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsService.java @@ -1,24 +1,34 @@ package com.prgrms.catchtable.jwt.service; import static com.prgrms.catchtable.common.exception.ErrorCode.NOT_EXIST_MEMBER; +import static com.prgrms.catchtable.common.exception.ErrorCode.NOT_EXIST_OWNER; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.NotFoundCustomException; import com.prgrms.catchtable.member.repository.MemberRepository; +import com.prgrms.catchtable.owner.repository.OwnerRepository; import lombok.RequiredArgsConstructor; import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; @Service @RequiredArgsConstructor -public class JwtUserDetailsService implements UserDetailsService { +public class JwtUserDetailsService{ private final MemberRepository memberRepository; + private final OwnerRepository ownerRepository; - @Override - public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { - return memberRepository.findMemberByEmail(email) - .orElseThrow(() -> new NotFoundCustomException(NOT_EXIST_MEMBER)); + public UserDetails loadUserByUsername(String email, Role role) throws UsernameNotFoundException { + + if(role.equals(Role.MEMBER)){ + return memberRepository.findMemberByEmail(email) + .orElseThrow(() -> new NotFoundCustomException(NOT_EXIST_MEMBER)); + } + + else{ + return ownerRepository.findOwnerByEmail(email) + .orElseThrow(() -> new NotFoundCustomException(NOT_EXIST_OWNER)); + } } } From 69e2b4741092ab8135ad9b8a49b9ce1b34e11e32 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 14:16:49 +0900 Subject: [PATCH 08/13] =?UTF-8?q?fix=20:=20Test=20=EA=B9=A8=EC=A7=90=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../catchtable/jwt/provider/JwtTokenProviderTest.java | 9 +++++---- .../jwt/service/JwtUserDetailsServiceTest.java | 5 +++-- .../catchtable/jwt/service/RefreshTokenServiceTest.java | 7 ++++--- .../catchtable/owner/controller/OwnerControllerTest.java | 3 ++- .../catchtable/owner/service/OwnerServiceTest.java | 5 +++-- .../security/controller/JwtAuthenticationTest.java | 3 ++- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/test/java/com/prgrms/catchtable/jwt/provider/JwtTokenProviderTest.java b/src/test/java/com/prgrms/catchtable/jwt/provider/JwtTokenProviderTest.java index 54c2a606..10c7d27d 100644 --- a/src/test/java/com/prgrms/catchtable/jwt/provider/JwtTokenProviderTest.java +++ b/src/test/java/com/prgrms/catchtable/jwt/provider/JwtTokenProviderTest.java @@ -3,6 +3,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.jwt.config.JwtConfig; import com.prgrms.catchtable.jwt.service.JwtUserDetailsService; import com.prgrms.catchtable.jwt.token.Token; @@ -34,7 +35,7 @@ void validToken() { when(config.getClientSecret()).thenReturn(clientKey); when(config.getExpiryMinute()).thenReturn(1); when(config.getExpiryMinuteRefresh()).thenReturn(1); - Token token = jwtTokenProvider.createToken(email); + Token token = jwtTokenProvider.createToken(email, Role.MEMBER); //then assertThat(jwtTokenProvider.validateToken(token.getAccessToken())).isTrue(); @@ -48,7 +49,7 @@ void invalidToken() { when(config.getClientSecret()).thenReturn(clientKey); when(config.getExpiryMinute()).thenReturn(0); when(config.getExpiryMinuteRefresh()).thenReturn(0); - Token token = jwtTokenProvider.createToken(email); + Token token = jwtTokenProvider.createToken(email, Role.OWNER); //then assertThat(jwtTokenProvider.validateToken(token.getAccessToken())).isFalse(); @@ -65,9 +66,9 @@ void getAuthenticationTest() { when(config.getClientSecret()).thenReturn(clientKey); when(config.getExpiryMinute()).thenReturn(1); when(config.getExpiryMinuteRefresh()).thenReturn(1); - Token token = jwtTokenProvider.createToken(email); + Token token = jwtTokenProvider.createToken(email, Role.MEMBER); - when(jwtUserDetailsService.loadUserByUsername(email)) + when(jwtUserDetailsService.loadUserByUsername(email, Role.MEMBER)) .thenReturn(member); //then diff --git a/src/test/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsServiceTest.java b/src/test/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsServiceTest.java index b2e47ce9..c5655c04 100644 --- a/src/test/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsServiceTest.java +++ b/src/test/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsServiceTest.java @@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; import static org.mockito.Mockito.when; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.NotFoundCustomException; import com.prgrms.catchtable.member.MemberFixture; import com.prgrms.catchtable.member.domain.Member; @@ -37,9 +38,9 @@ void loadUserByUsernameTest() { when(memberRepository.findMemberByEmail(invalidEmail)).thenReturn(Optional.empty()); //then - assertThat(jwtUserDetailsService.loadUserByUsername(email)).isEqualTo(member); + assertThat(jwtUserDetailsService.loadUserByUsername(email, Role.MEMBER)).isEqualTo(member); assertThatThrownBy( - () -> jwtUserDetailsService.loadUserByUsername(invalidEmail)).isInstanceOf( + () -> jwtUserDetailsService.loadUserByUsername(invalidEmail, Role.MEMBER)).isInstanceOf( NotFoundCustomException.class); } diff --git a/src/test/java/com/prgrms/catchtable/jwt/service/RefreshTokenServiceTest.java b/src/test/java/com/prgrms/catchtable/jwt/service/RefreshTokenServiceTest.java index 06e57f20..f5cc9660 100644 --- a/src/test/java/com/prgrms/catchtable/jwt/service/RefreshTokenServiceTest.java +++ b/src/test/java/com/prgrms/catchtable/jwt/service/RefreshTokenServiceTest.java @@ -9,6 +9,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.NotFoundCustomException; import com.prgrms.catchtable.jwt.config.JwtConfig; import com.prgrms.catchtable.jwt.domain.RefreshToken; @@ -45,7 +46,7 @@ void init() { when(jwtConfig.getClientSecret()).thenReturn(clientSecretKey); when(jwtConfig.getExpiryMinute()).thenReturn(1); when(jwtConfig.getExpiryMinuteRefresh()).thenReturn(1); - token = jwtTokenProvider.createToken(email); + token = jwtTokenProvider.createToken(email, Role.OWNER); } @Test @@ -65,7 +66,7 @@ void saveRefreshTokenTest() { @DisplayName("이미 유효한 RefreshToken을 갖고 있는 유저가 RefreshToken을 새로 발급한다면, DB에서 삭제 후 저장해준다.") void deleteAndSaveRefreshToken() { //given - Token newToken = jwtTokenProvider.createToken(email); + Token newToken = jwtTokenProvider.createToken(email, Role.OWNER); //when when(refreshTokenRepository.existsRefreshTokenByEmail(email)).thenReturn(true); @@ -83,7 +84,7 @@ void deleteAndSaveRefreshToken() { void getRefreshTokenTest() { //given String invalidEmail = "qwer1234@naver.com"; - Token invalidToken = jwtTokenProvider.createToken(invalidEmail); + Token invalidToken = jwtTokenProvider.createToken(invalidEmail, Role.OWNER); RefreshToken refreshToken = RefreshToken.builder() .token(token.getRefreshToken()) diff --git a/src/test/java/com/prgrms/catchtable/owner/controller/OwnerControllerTest.java b/src/test/java/com/prgrms/catchtable/owner/controller/OwnerControllerTest.java index d5d9dab2..10ab321b 100644 --- a/src/test/java/com/prgrms/catchtable/owner/controller/OwnerControllerTest.java +++ b/src/test/java/com/prgrms/catchtable/owner/controller/OwnerControllerTest.java @@ -5,6 +5,7 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.base.BaseIntegrationTest; import com.prgrms.catchtable.jwt.provider.JwtTokenProvider; import com.prgrms.catchtable.jwt.token.Token; @@ -73,7 +74,7 @@ void loginTest() throws Exception { //given LoginOwnerRequest loginOwnerRequest = OwnerFixture.getLoginOwnerRequest(joinEmail, password); - Token token = jwtTokenProvider.createToken(joinEmail); + Token token = jwtTokenProvider.createToken(joinEmail, Role.OWNER); //then mockMvc.perform(post("/owners/login") diff --git a/src/test/java/com/prgrms/catchtable/owner/service/OwnerServiceTest.java b/src/test/java/com/prgrms/catchtable/owner/service/OwnerServiceTest.java index 7c42360f..1ae96379 100644 --- a/src/test/java/com/prgrms/catchtable/owner/service/OwnerServiceTest.java +++ b/src/test/java/com/prgrms/catchtable/owner/service/OwnerServiceTest.java @@ -5,6 +5,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; import com.prgrms.catchtable.jwt.provider.JwtTokenProvider; import com.prgrms.catchtable.jwt.service.RefreshTokenService; @@ -77,12 +78,12 @@ void loginSuccess() { //given LoginOwnerRequest loginOwnerRequest = OwnerFixture.getLoginOwnerRequest(email, password); String encodePassword = passwordEncoder.encode(password); - Token token = new Token("AccessToken", "RefreshToken", loginOwnerRequest.email()); + Token token = new Token("AccessToken", "RefreshToken", loginOwnerRequest.email(), Role.OWNER); //when when(ownerRepository.findOwnerByEmail(loginOwnerRequest.email())).thenReturn( Optional.of(OwnerFixture.getOwner(email, encodePassword))); - when(jwtTokenProvider.createToken(loginOwnerRequest.email())).thenReturn(token); + when(jwtTokenProvider.createToken(loginOwnerRequest.email(), Role.OWNER)).thenReturn(token); //then assertThat(ownerService.loginOwner(loginOwnerRequest)).isEqualTo(token); diff --git a/src/test/java/com/prgrms/catchtable/security/controller/JwtAuthenticationTest.java b/src/test/java/com/prgrms/catchtable/security/controller/JwtAuthenticationTest.java index b1222c44..84403d07 100644 --- a/src/test/java/com/prgrms/catchtable/security/controller/JwtAuthenticationTest.java +++ b/src/test/java/com/prgrms/catchtable/security/controller/JwtAuthenticationTest.java @@ -3,6 +3,7 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.jwt.filter.JwtAuthenticationFilter; import com.prgrms.catchtable.jwt.provider.JwtTokenProvider; import com.prgrms.catchtable.jwt.service.RefreshTokenService; @@ -55,7 +56,7 @@ public void init() { memberRepository.save(loginMember); //토큰 발급 - token = jwtTokenProvider.createToken(email); + token = jwtTokenProvider.createToken(email, Role.MEMBER); refreshTokenService.saveRefreshToken(token); //필터 추가 From 259d358dc945da73ac11379b80f8a1edca782a4b Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 14:49:20 +0900 Subject: [PATCH 09/13] =?UTF-8?q?feat=20:=20ErrorCode=20=EB=84=A4=EC=9D=B4?= =?UTF-8?q?=EB=B0=8D=20&=20=EB=A9=94=EC=8B=9C=EC=A7=80=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/prgrms/catchtable/common/exception/ErrorCode.java | 4 ++-- .../java/com/prgrms/catchtable/member/domain/Gender.java | 4 ++-- .../com/prgrms/catchtable/owner/service/OwnerService.java | 7 +++---- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java b/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java index c3bc04a7..295993f8 100644 --- a/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java +++ b/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java @@ -32,8 +32,8 @@ public enum ErrorCode { INTERNAL_SERVER_ERROR("내부 서버 오류입니다."), ALREADY_EXIST_OWNER("이미 존재하는 점주입니다"), - BAD_REQUEST_EMAIL_OR_PASSWORD("이메일 혹은 비밀번호를 확인해주세요"), - BAD_REQUEST_INPUT_GENDER_TYPE("성별 타입을 양식대로 입력해주세요"); + INVALID_EMAIL_OR_PASSWORD("이메일 혹은 비밀번호를 확인해주세요"), + INVALID_INPUT_TYPE("잘못된 타입입니다."); private final String message; } \ No newline at end of file diff --git a/src/main/java/com/prgrms/catchtable/member/domain/Gender.java b/src/main/java/com/prgrms/catchtable/member/domain/Gender.java index a5449d29..a5d2e1cf 100644 --- a/src/main/java/com/prgrms/catchtable/member/domain/Gender.java +++ b/src/main/java/com/prgrms/catchtable/member/domain/Gender.java @@ -1,6 +1,6 @@ package com.prgrms.catchtable.member.domain; -import static com.prgrms.catchtable.common.exception.ErrorCode.BAD_REQUEST_INPUT_GENDER_TYPE; +import static com.prgrms.catchtable.common.exception.ErrorCode.INVALID_INPUT_TYPE; import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; import java.util.Arrays; @@ -19,7 +19,7 @@ public static Gender of(String input) { return Arrays.stream(values()) .filter(gender -> gender.isEqual(input)) .findAny() - .orElseThrow(() -> new BadRequestCustomException(BAD_REQUEST_INPUT_GENDER_TYPE)); + .orElseThrow(() -> new BadRequestCustomException(INVALID_INPUT_TYPE)); } private boolean isEqual(String input) { diff --git a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java index a3a79eab..e1e9bf91 100644 --- a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java +++ b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java @@ -1,7 +1,6 @@ package com.prgrms.catchtable.owner.service; -import static com.prgrms.catchtable.common.exception.ErrorCode.ALREADY_EXIST_OWNER; -import static com.prgrms.catchtable.common.exception.ErrorCode.BAD_REQUEST_EMAIL_OR_PASSWORD; +import static com.prgrms.catchtable.common.exception.ErrorCode.*; import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; @@ -57,7 +56,7 @@ public Token loginOwner(LoginOwnerRequest loginRequest) { //email 확인 Owner loginOwner = ownerRepository.findOwnerByEmail(loginRequest.email()) - .orElseThrow(() -> new BadRequestCustomException(BAD_REQUEST_EMAIL_OR_PASSWORD)); + .orElseThrow(() -> new BadRequestCustomException(INVALID_EMAIL_OR_PASSWORD)); //password 확인 validatePassword(loginRequest, loginOwner); @@ -67,7 +66,7 @@ public Token loginOwner(LoginOwnerRequest loginRequest) { private void validatePassword(LoginOwnerRequest loginRequest, Owner loginOwner) { if (!passwordEncoder.matches(loginRequest.password(), loginOwner.getPassword())) { - throw new BadRequestCustomException(BAD_REQUEST_EMAIL_OR_PASSWORD); + throw new BadRequestCustomException(INVALID_EMAIL_OR_PASSWORD); } } From 53ab8d50e829c88fb3c734bb02c9f085fbfac3ff Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 14:49:54 +0900 Subject: [PATCH 10/13] =?UTF-8?q?feat=20:=20Enum=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EA=B2=80=EC=A6=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/prgrms/catchtable/common/Role.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/com/prgrms/catchtable/common/Role.java b/src/main/java/com/prgrms/catchtable/common/Role.java index b8b13051..487d631a 100644 --- a/src/main/java/com/prgrms/catchtable/common/Role.java +++ b/src/main/java/com/prgrms/catchtable/common/Role.java @@ -1,5 +1,9 @@ package com.prgrms.catchtable.common; +import static com.prgrms.catchtable.common.exception.ErrorCode.INVALID_INPUT_TYPE; + +import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; +import java.util.Arrays; import lombok.Getter; import lombok.RequiredArgsConstructor; @@ -11,4 +15,15 @@ public enum Role { OWNER("ROLE_OWNER"); private final String role; + + public static Role of(String type){ + return Arrays.stream(values()) + .filter(role -> role.isEqual(type)) + .findAny() + .orElseThrow(() -> new BadRequestCustomException(INVALID_INPUT_TYPE)); + } + + private boolean isEqual(String input) { + return input.equals(this.role); + } } From bb18e67f60ca16bcf948f39753f367180379ddd2 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 14:50:28 +0900 Subject: [PATCH 11/13] =?UTF-8?q?fix=20:=20JWT=EC=97=90=20=EA=B6=8C?= =?UTF-8?q?=ED=95=9C=EC=9D=84=20=EB=AC=B8=EC=9E=90=EC=97=B4=EB=A1=9C=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../prgrms/catchtable/jwt/provider/JwtTokenProvider.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java b/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java index 2b1b5808..54b73646 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java +++ b/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java @@ -27,7 +27,7 @@ public class JwtTokenProvider { public Token createToken(String email, Role role) { Claims claims = Jwts.claims().setSubject(email); - claims.put(JWT_ROLE, role); + claims.put(JWT_ROLE, role.getRole()); Date now = new Date(); String accessToken = createAccessToken(claims, now); @@ -99,6 +99,8 @@ private Role getRole(String token){ .parseClaimsJws(token) .getBody(); - return (Role) claims.get(JWT_ROLE); + String role = (String) claims.get(JWT_ROLE); + + return Role.of(role); } } From 7379d2c91cc762968358e3605367de8b383cdd53 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 14:57:59 +0900 Subject: [PATCH 12/13] =?UTF-8?q?style=20:=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/prgrms/catchtable/common/Role.java | 2 +- .../prgrms/catchtable/jwt/domain/RefreshToken.java | 2 +- .../catchtable/jwt/provider/JwtTokenProvider.java | 4 ++-- .../catchtable/jwt/service/JwtUserDetailsService.java | 11 +++++------ .../prgrms/catchtable/owner/service/OwnerService.java | 5 +++-- .../reservation/service/OwnerReservationService.java | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/prgrms/catchtable/common/Role.java b/src/main/java/com/prgrms/catchtable/common/Role.java index 487d631a..f2e3d637 100644 --- a/src/main/java/com/prgrms/catchtable/common/Role.java +++ b/src/main/java/com/prgrms/catchtable/common/Role.java @@ -16,7 +16,7 @@ public enum Role { private final String role; - public static Role of(String type){ + public static Role of(String type) { return Arrays.stream(values()) .filter(role -> role.isEqual(type)) .findAny() diff --git a/src/main/java/com/prgrms/catchtable/jwt/domain/RefreshToken.java b/src/main/java/com/prgrms/catchtable/jwt/domain/RefreshToken.java index cbac06d6..b53ca7b9 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/domain/RefreshToken.java +++ b/src/main/java/com/prgrms/catchtable/jwt/domain/RefreshToken.java @@ -1,6 +1,6 @@ package com.prgrms.catchtable.jwt.domain; -import static jakarta.persistence.EnumType.*; +import static jakarta.persistence.EnumType.STRING; import static lombok.AccessLevel.PROTECTED; import com.prgrms.catchtable.common.Role; diff --git a/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java b/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java index 54b73646..fe46bf71 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java +++ b/src/main/java/com/prgrms/catchtable/jwt/provider/JwtTokenProvider.java @@ -22,7 +22,7 @@ public class JwtTokenProvider { private final JwtConfig jwtConfig; private final JwtUserDetailsService jwtUserDetailsService; - private final String JWT_ROLE= "ROLE"; + private final String JWT_ROLE = "ROLE"; public Token createToken(String email, Role role) { @@ -92,7 +92,7 @@ private String getEmail(String token) { return claims.getSubject(); } - private Role getRole(String token){ + private Role getRole(String token) { Claims claims = Jwts.parserBuilder() .setSigningKey(jwtConfig.getClientSecret()) .build() diff --git a/src/main/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsService.java b/src/main/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsService.java index 9d0b2398..04caf6b4 100644 --- a/src/main/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsService.java +++ b/src/main/java/com/prgrms/catchtable/jwt/service/JwtUserDetailsService.java @@ -14,19 +14,18 @@ @Service @RequiredArgsConstructor -public class JwtUserDetailsService{ +public class JwtUserDetailsService { private final MemberRepository memberRepository; private final OwnerRepository ownerRepository; - public UserDetails loadUserByUsername(String email, Role role) throws UsernameNotFoundException { + public UserDetails loadUserByUsername(String email, Role role) + throws UsernameNotFoundException { - if(role.equals(Role.MEMBER)){ + if (role.equals(Role.MEMBER)) { return memberRepository.findMemberByEmail(email) .orElseThrow(() -> new NotFoundCustomException(NOT_EXIST_MEMBER)); - } - - else{ + } else { return ownerRepository.findOwnerByEmail(email) .orElseThrow(() -> new NotFoundCustomException(NOT_EXIST_OWNER)); } diff --git a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java index e1e9bf91..3998044c 100644 --- a/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java +++ b/src/main/java/com/prgrms/catchtable/owner/service/OwnerService.java @@ -1,6 +1,7 @@ package com.prgrms.catchtable.owner.service; -import static com.prgrms.catchtable.common.exception.ErrorCode.*; +import static com.prgrms.catchtable.common.exception.ErrorCode.ALREADY_EXIST_OWNER; +import static com.prgrms.catchtable.common.exception.ErrorCode.INVALID_EMAIL_OR_PASSWORD; import com.prgrms.catchtable.common.Role; import com.prgrms.catchtable.common.exception.custom.BadRequestCustomException; @@ -70,7 +71,7 @@ private void validatePassword(LoginOwnerRequest loginRequest, Owner loginOwner) } } - private Token createTotalToken(String email){ + private Token createTotalToken(String email) { Token totalToken = jwtTokenProvider.createToken(email, Role.OWNER); refreshTokenService.saveRefreshToken(totalToken); return totalToken; diff --git a/src/main/java/com/prgrms/catchtable/reservation/service/OwnerReservationService.java b/src/main/java/com/prgrms/catchtable/reservation/service/OwnerReservationService.java index 6972ccf3..085d99e4 100644 --- a/src/main/java/com/prgrms/catchtable/reservation/service/OwnerReservationService.java +++ b/src/main/java/com/prgrms/catchtable/reservation/service/OwnerReservationService.java @@ -40,7 +40,7 @@ public void modifyReservationStatus( ) { ReservationStatus modifyStatus = request.status(); // 요청으로 들어온 변경하려는 예약상태 추출 - if(modifyStatus == COMPLETED){ // 취소, 노쇼 처리가 아닌 경우 예외 + if (modifyStatus == COMPLETED) { // 취소, 노쇼 처리가 아닌 경우 예외 throw new BadRequestCustomException(ALREADY_COMPLETED_RESERVATION); } From 5616b5f8bf390d9066a027a2e303edc5b551c313 Mon Sep 17 00:00:00 2001 From: kkangh00n Date: Mon, 8 Jan 2024 15:17:01 +0900 Subject: [PATCH 13/13] fix : conflict resolve --- .../java/com/prgrms/catchtable/common/exception/ErrorCode.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java b/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java index 295993f8..8b9662cd 100644 --- a/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java +++ b/src/main/java/com/prgrms/catchtable/common/exception/ErrorCode.java @@ -18,6 +18,7 @@ public enum ErrorCode { NOT_EXIST_RESERVATION("존재하지 않는 예약입니다"), EXCEED_PEOPLE_COUNT("예약인원이 해당 시간의 남은 수용가능 인원 수를 초과했습니다."), ALREADY_COMPLETED_RESERVATION("이미 예약 상태인 예약입니다."), + SLACK_ID_IS_WRONG("요청한 슬랙 Id를 찾을 수 없거나 잘못 되었습니다"), CAN_NOT_COMPLETE_WAITING("입장 처리가 불가한 대기 상태입니다."), EXISTING_MEMBER_WAITING("이미 회원이 웨이팅 중인 가게가 존재합니다."), @@ -33,7 +34,7 @@ public enum ErrorCode { ALREADY_EXIST_OWNER("이미 존재하는 점주입니다"), INVALID_EMAIL_OR_PASSWORD("이메일 혹은 비밀번호를 확인해주세요"), - INVALID_INPUT_TYPE("잘못된 타입입니다."); + INVALID_INPUT_TYPE("성별 타입을 양식대로 입력해주세요"); private final String message; } \ No newline at end of file