File tree Expand file tree Collapse file tree 3 files changed +39
-0
lines changed
src/main/java/com/rentify/rentify_api/user Expand file tree Collapse file tree 3 files changed +39
-0
lines changed Original file line number Diff line number Diff line change 22
33import com .rentify .rentify_api .common .response .ApiResponse ;
44import com .rentify .rentify_api .user .dto .CreateUserRequest ;
5+ import com .rentify .rentify_api .user .dto .LoginRequest ;
56import com .rentify .rentify_api .user .dto .UserResponse ;
67import com .rentify .rentify_api .user .service .UserService ;
78import io .swagger .v3 .oas .annotations .tags .Tag ;
@@ -39,4 +40,17 @@ public ResponseEntity<ApiResponse<UserResponse>> getUserById(@PathVariable Long
3940 UserResponse response = userService .getUserInfo (id );
4041 return ResponseEntity .ok (ApiResponse .success (response ));
4142 }
43+
44+ @ PostMapping ("/login" )
45+ public ResponseEntity <ApiResponse <Void >> Login (@ RequestBody LoginRequest request ){
46+ userService .login (request );
47+
48+ return ResponseEntity .ok (ApiResponse .success ());
49+ }
50+
51+ @ PostMapping ("/logout" )
52+ public ResponseEntity <ApiResponse <Void >> logout () {
53+ return ResponseEntity .ok (ApiResponse .success ());
54+ }
55+
4256}
Original file line number Diff line number Diff line change 1+ package com .rentify .rentify_api .user .dto ;
2+
3+ import lombok .Getter ;
4+
5+ @ Getter
6+ public class LoginRequest {
7+ private String email ;
8+ private String password ;
9+ }
Original file line number Diff line number Diff line change 11package com .rentify .rentify_api .user .service ;
22
33import com .rentify .rentify_api .user .dto .CreateUserRequest ;
4+ import com .rentify .rentify_api .user .dto .LoginRequest ;
45import com .rentify .rentify_api .user .dto .UserResponse ;
56import com .rentify .rentify_api .user .entity .User ;
67import com .rentify .rentify_api .user .entity .UserRole ;
@@ -63,4 +64,19 @@ public UserResponse getUserInfo(Long id) {
6364 .isActive (user .getIsActive ())
6465 .build ();
6566 }
67+
68+ @ Transactional (readOnly = true )
69+ public void login (LoginRequest request ) {
70+
71+ User user = userRepository .findByEmail (request .getEmail ())
72+ .orElseThrow (UserNotFoundException ::new );
73+
74+ if (!passwordEncoder .matches (request .getPassword (), user .getPassword ())) {
75+ throw new IllegalArgumentException ("비밀번호가 일치하지 않습니다." );
76+ }
77+
78+ if (!user .getIsActive ()) {
79+ throw new IllegalStateException ("비활성화된 계정입니다." );
80+ }
81+ }
6682}
You can’t perform that action at this time.
0 commit comments