Skip to content

Commit a48ec4c

Browse files
committed
Merge branch 'develop/be' of https://github.com/Moadong/moadong into refactor/#210-payload-field
2 parents 9c67a22 + 1e9ebe3 commit a48ec4c

File tree

6 files changed

+44
-12
lines changed

6 files changed

+44
-12
lines changed

backend/src/main/java/moadong/club/entity/Club.java

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public class Club {
3939
@NotNull
4040
private ClubState state;
4141

42+
private String userId;
43+
4244

4345
@Field("recruitmentInformation")
4446
private ClubRecruitmentInformation clubRecruitmentInformation;

backend/src/main/java/moadong/club/repository/ClubRepository.java

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
public interface ClubRepository extends MongoRepository<Club, String> {
1515
Optional<Club> findClubById(ObjectId id);
1616
Optional<List<Club>> findClubByState(ClubState clubState);
17+
18+
Optional<Club> findClubByUserId(String userId);
1719
@Query("{'division': {$regex: '^?0$', $options: 'i'}}")
1820
Optional<List<Club>> findClubByDivisionIgnoreCaseExact(String division);
1921

backend/src/main/java/moadong/user/controller/UserController.java

+15-8
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,22 @@
66
import jakarta.servlet.http.HttpServletResponse;
77
import lombok.AllArgsConstructor;
88
import moadong.global.payload.Response;
9+
import moadong.global.util.JwtProvider;
910
import moadong.user.annotation.CurrentUser;
1011
import moadong.user.payload.CustomUserDetails;
1112
import moadong.user.payload.request.UserLoginRequest;
1213
import moadong.user.payload.request.UserRegisterRequest;
1314
import moadong.user.payload.request.UserUpdateRequest;
1415
import moadong.user.payload.response.AccessTokenResponse;
16+
import moadong.user.payload.response.FindUserClubResponse;
17+
import moadong.user.payload.response.LoginResponse;
1518
import moadong.user.service.UserCommandService;
1619
import moadong.user.view.UserSwaggerView;
1720
import org.springframework.http.ResponseEntity;
1821
import org.springframework.security.access.prepost.PreAuthorize;
22+
import org.springframework.security.core.annotation.AuthenticationPrincipal;
1923
import org.springframework.validation.annotation.Validated;
20-
import org.springframework.web.bind.annotation.CookieValue;
21-
import org.springframework.web.bind.annotation.PostMapping;
22-
import org.springframework.web.bind.annotation.PutMapping;
23-
import org.springframework.web.bind.annotation.RequestBody;
24-
import org.springframework.web.bind.annotation.RequestMapping;
25-
import org.springframework.web.bind.annotation.RestController;
24+
import org.springframework.web.bind.annotation.*;
2625

2726
@RestController
2827
@RequestMapping("/auth/user")
@@ -31,6 +30,7 @@
3130
public class UserController {
3231

3332
private final UserCommandService userCommandService;
33+
private final JwtProvider jwtProvider;
3434

3535
@PostMapping("/register")
3636
@Operation(
@@ -45,8 +45,8 @@ public ResponseEntity<?> registerUser(@RequestBody @Validated UserRegisterReques
4545
@PostMapping("/login")
4646
public ResponseEntity<?> loginUser(@RequestBody @Validated UserLoginRequest request,
4747
HttpServletResponse response) {
48-
AccessTokenResponse accessTokenResponse = userCommandService.loginUser(request, response);
49-
return Response.ok(accessTokenResponse);
48+
LoginResponse loginResponse = userCommandService.loginUser(request, response);
49+
return Response.ok(loginResponse);
5050
}
5151

5252
@PostMapping("/refresh")
@@ -66,4 +66,11 @@ public ResponseEntity<?> update(@CurrentUser CustomUserDetails user,
6666
return Response.ok("success update");
6767
}
6868

69+
@PostMapping("/find/club")
70+
@PreAuthorize("isAuthenticated()")
71+
@SecurityRequirement(name = "BearerAuth")
72+
public ResponseEntity<?> findUserClub(@AuthenticationPrincipal CustomUserDetails userDetails){
73+
return Response.ok(new FindUserClubResponse(userDetails.getId()));
74+
}
75+
6976
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package moadong.user.payload.response;
2+
3+
public record FindUserClubResponse(
4+
String clubId
5+
) {
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package moadong.user.payload.response;
2+
3+
public record LoginResponse(
4+
String accessToken,
5+
String clubId
6+
) {
7+
}

backend/src/main/java/moadong/user/service/UserCommandService.java

+12-4
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
import moadong.global.exception.RestApiException;
1111
import moadong.global.util.JwtProvider;
1212
import moadong.user.entity.User;
13+
import moadong.user.payload.CustomUserDetails;
1314
import moadong.user.payload.request.UserLoginRequest;
1415
import moadong.user.payload.request.UserRegisterRequest;
1516
import moadong.user.payload.request.UserUpdateRequest;
1617
import moadong.user.payload.response.AccessTokenResponse;
18+
import moadong.user.payload.response.LoginResponse;
1719
import moadong.user.repository.UserInformationRepository;
1820
import moadong.user.repository.UserRepository;
1921
import org.springframework.http.ResponseCookie;
@@ -24,6 +26,8 @@
2426
import org.springframework.security.crypto.password.PasswordEncoder;
2527
import org.springframework.stereotype.Service;
2628

29+
import java.util.Optional;
30+
2731
@Service
2832
@AllArgsConstructor
2933
public class UserCommandService {
@@ -53,14 +57,14 @@ private void createClub() {
5357
clubRepository.save(club);
5458
}
5559

56-
public AccessTokenResponse loginUser(UserLoginRequest userLoginRequest,
57-
HttpServletResponse response) {
60+
public LoginResponse loginUser(UserLoginRequest userLoginRequest,
61+
HttpServletResponse response) {
5862
try {
5963
Authentication authenticate = authenticationManager.authenticate(
6064
new UsernamePasswordAuthenticationToken(userLoginRequest.userId(),
6165
userLoginRequest.password()));
6266

63-
UserDetails userDetails = (UserDetails) authenticate.getPrincipal();
67+
CustomUserDetails userDetails = (CustomUserDetails) authenticate.getPrincipal();
6468
String accessToken = jwtProvider.generateAccessToken(userDetails.getUsername());
6569
String refreshToken = jwtProvider.generateRefreshToken(userDetails.getUsername());
6670

@@ -72,7 +76,11 @@ public AccessTokenResponse loginUser(UserLoginRequest userLoginRequest,
7276
.build();
7377
response.addHeader("Set-Cookie", cookie.toString());
7478

75-
return new AccessTokenResponse(accessToken);
79+
System.out.println(userDetails.getId());
80+
Club club = clubRepository.findClubByUserId(userDetails.getId())
81+
.orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND));
82+
83+
return new LoginResponse(accessToken,club.getId());
7684
} catch (MongoWriteException e) {
7785
throw new RestApiException(ErrorCode.USER_ALREADY_EXIST);
7886
}

0 commit comments

Comments
 (0)