66import kattsyn .dev .rentplace .auth .JwtAuthentication ;
77import kattsyn .dev .rentplace .dtos .JwtRequest ;
88import kattsyn .dev .rentplace .dtos .JwtResponse ;
9+ import kattsyn .dev .rentplace .dtos .RegisterRequest ;
910import kattsyn .dev .rentplace .dtos .UserDTO ;
1011import kattsyn .dev .rentplace .entities .User ;
1112import kattsyn .dev .rentplace .services .AuthService ;
@@ -34,10 +35,22 @@ public class AuthServiceImpl implements AuthService {
3435 private final JwtProvider jwtProvider ;
3536 private final VerificationCodeService verificationCodeService ;
3637
38+ @ Override
39+ public JwtResponse register (@ NonNull RegisterRequest registerRequest ) throws AuthException {
40+ User user = userService .createUserWithRegisterRequest (registerRequest );
41+
42+ return getJwtResponse (user , registerRequest .getEmail (), registerRequest .getCode ());
43+ }
44+
45+ @ Override
3746 public JwtResponse login (@ NonNull JwtRequest authRequest ) throws AuthException {
3847 final User user = userService .getUserByEmail (authRequest .getEmail ());
3948
40- if (verificationCodeService .validateCode (authRequest .getEmail (), authRequest .getCode ())) {
49+ return getJwtResponse (user , authRequest .getEmail (), authRequest .getCode ());
50+ }
51+
52+ private JwtResponse getJwtResponse (User user , String email , String code ) throws AuthException {
53+ if (verificationCodeService .validateCode (email , code )) {
4154 final String accessToken = jwtProvider .generateAccessToken (user );
4255 final String refreshToken = jwtProvider .generateRefreshToken (user );
4356 refreshStorage .put (user .getEmail (), refreshToken );
@@ -47,6 +60,11 @@ public JwtResponse login(@NonNull JwtRequest authRequest) throws AuthException {
4760 }
4861 }
4962
63+ @ Override
64+ public boolean validateCode (JwtRequest request ) {
65+ return verificationCodeService .validateCode (request .getEmail (), request .getCode ());
66+ }
67+
5068 public JwtResponse getAccessToken (@ NonNull String refreshToken ) {
5169 if (jwtProvider .validateRefreshToken (refreshToken )) {
5270 final Claims claims = jwtProvider .getRefreshClaims (refreshToken );
@@ -87,6 +105,8 @@ public UserDTO getUserInfo() throws AuthException {
87105 return userService .getUserDTOByEmail (email );
88106 }
89107
108+
109+
90110 public JwtAuthentication getAuthInfo () {
91111 return (JwtAuthentication ) SecurityContextHolder .getContext ().getAuthentication ();
92112 }
0 commit comments