diff --git a/src/main/java/com/genius/gitget/challenge/certification/controller/CertificationController.java b/src/main/java/com/genius/gitget/challenge/certification/controller/CertificationController.java index 07f32680..79842ad0 100644 --- a/src/main/java/com/genius/gitget/challenge/certification/controller/CertificationController.java +++ b/src/main/java/com/genius/gitget/challenge/certification/controller/CertificationController.java @@ -17,7 +17,7 @@ import com.genius.gitget.challenge.participant.service.ParticipantService; import com.genius.gitget.challenge.user.domain.User; import com.genius.gitget.challenge.user.service.UserService; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.response.dto.SingleResponse; import com.genius.gitget.global.util.response.dto.SlicingResponse; import java.time.LocalDate; @@ -28,7 +28,6 @@ import org.springframework.data.domain.Slice; import org.springframework.data.web.PageableDefault; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -61,11 +60,11 @@ public ResponseEntity> getInstanceInform @PostMapping("/today") public ResponseEntity> certificateByGithub( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestBody CertificationRequest certificationRequest ) { CertificationResponse certificationResponse = certificationFacade.updateCertification( - userPrincipal.getUser(), certificationRequest); + user, certificationRequest); return ResponseEntity.ok().body( new SingleResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), certificationResponse) @@ -74,10 +73,9 @@ public ResponseEntity> certificateByGithub @PostMapping("/pass") public ResponseEntity> passCertification( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestBody CertificationRequest certificationRequest ) { - User user = userPrincipal.getUser(); ActivatedResponse activatedResponse = certificationFacade.passCertification( user.getId(), certificationRequest); @@ -88,11 +86,11 @@ public ResponseEntity> passCertification( @GetMapping("/week/{instanceId}") public ResponseEntity> getWeekCertification( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable Long instanceId ) { LocalDate kstDate = DateUtil.convertToKST(LocalDateTime.now()); - Participant participant = participantService.findByJoinInfo(userPrincipal.getUser().getId(), instanceId); + Participant participant = participantService.findByJoinInfo(user.getId(), instanceId); WeekResponse weekResponse = certificationFacade.getMyWeekCertifications(participant.getId(), kstDate); return ResponseEntity.ok().body( @@ -102,12 +100,11 @@ public ResponseEntity> getWeekCertification( @GetMapping("/week/all/{instanceId}") public ResponseEntity> getAllUserWeekCertification( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable Long instanceId, @PageableDefault Pageable pageable ) { LocalDate kstDate = DateUtil.convertToKST(LocalDateTime.now()); - User user = userPrincipal.getUser(); Slice certifications = certificationFacade.getOthersWeekCertifications( user.getId(), instanceId, kstDate, pageable); @@ -134,15 +131,13 @@ public ResponseEntity> getTotalCertifications( @GetMapping("/information/{instanceId}") public ResponseEntity> getCertificationInformation( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable Long instanceId ) { LocalDate kstDate = DateUtil.convertToKST(LocalDateTime.now()); Instance instance = instanceService.findInstanceById(instanceId); - Participant participant = participantService.findByJoinInfo( - userPrincipal.getUser().getId(), - instanceId); + Participant participant = participantService.findByJoinInfo(user.getId(), instanceId); CertificationInformation certificationInformation = certificationFacade.getCertificationInformation( instance, participant, kstDate); diff --git a/src/main/java/com/genius/gitget/challenge/certification/controller/GithubController.java b/src/main/java/com/genius/gitget/challenge/certification/controller/GithubController.java index 385bdd41..750f11db 100644 --- a/src/main/java/com/genius/gitget/challenge/certification/controller/GithubController.java +++ b/src/main/java/com/genius/gitget/challenge/certification/controller/GithubController.java @@ -6,7 +6,8 @@ import com.genius.gitget.challenge.certification.dto.github.PullRequestResponse; import com.genius.gitget.challenge.certification.facade.GithubFacade; import com.genius.gitget.challenge.certification.util.DateUtil; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.response.dto.CommonResponse; import com.genius.gitget.global.util.response.dto.ListResponse; import java.time.LocalDateTime; @@ -14,7 +15,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -31,10 +31,10 @@ public class GithubController { @PostMapping("/register/token") public ResponseEntity registerGithubToken( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestBody GithubTokenRequest githubTokenRequest ) { - githubFacade.registerGithubPersonalToken(userPrincipal.getUser(), githubTokenRequest.githubToken()); + githubFacade.registerGithubPersonalToken(user, githubTokenRequest.githubToken()); return ResponseEntity.ok().body( new CommonResponse(SUCCESS.getStatus(), SUCCESS.getMessage()) @@ -43,9 +43,9 @@ public ResponseEntity registerGithubToken( @GetMapping("/repositories") public ResponseEntity> getPublicRepositories( - @AuthenticationPrincipal UserPrincipal userPrincipal + @GitGetUser User user ) { - List repositories = githubFacade.getPublicRepositories(userPrincipal.getUser()); + List repositories = githubFacade.getPublicRepositories(user); return ResponseEntity.ok().body( new ListResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), repositories) @@ -54,9 +54,9 @@ public ResponseEntity> getPublicRepositories( @GetMapping("/verify/token") public ResponseEntity verifyGithubToken( - @AuthenticationPrincipal UserPrincipal userPrincipal + @GitGetUser User user ) { - githubFacade.verifyGithubToken(userPrincipal.getUser()); + githubFacade.verifyGithubToken(user); return ResponseEntity.ok().body( new CommonResponse(SUCCESS.getStatus(), SUCCESS.getMessage()) @@ -65,11 +65,11 @@ public ResponseEntity verifyGithubToken( @GetMapping("/verify/repository") public ResponseEntity verifyRepository( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestParam String repo ) { - githubFacade.verifyRepository(userPrincipal.getUser(), repo); + githubFacade.verifyRepository(user, repo); return ResponseEntity.ok().body( new CommonResponse(SUCCESS.getStatus(), SUCCESS.getMessage()) @@ -78,12 +78,12 @@ public ResponseEntity verifyRepository( @GetMapping("/verify/pull-request") public ResponseEntity> verifyPullRequest( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestParam String repo ) { List pullRequestResponses = githubFacade.verifyPullRequest( - userPrincipal.getUser(), repo, DateUtil.convertToKST(LocalDateTime.now()) + user, repo, DateUtil.convertToKST(LocalDateTime.now()) ); return ResponseEntity.ok().body( diff --git a/src/main/java/com/genius/gitget/challenge/instance/controller/InstanceDetailController.java b/src/main/java/com/genius/gitget/challenge/instance/controller/InstanceDetailController.java index 0dbaf390..b12926b1 100644 --- a/src/main/java/com/genius/gitget/challenge/instance/controller/InstanceDetailController.java +++ b/src/main/java/com/genius/gitget/challenge/instance/controller/InstanceDetailController.java @@ -9,14 +9,14 @@ import com.genius.gitget.challenge.instance.dto.detail.JoinRequest; import com.genius.gitget.challenge.instance.dto.detail.JoinResponse; import com.genius.gitget.challenge.instance.service.InstanceDetailFacade; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.response.dto.SingleResponse; import java.time.LocalDate; import java.time.LocalDateTime; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -35,11 +35,11 @@ public class InstanceDetailController { @GetMapping("/{instanceId}") public ResponseEntity> getInstanceDetail( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable Long instanceId ) { InstanceResponse instanceDetailInformation = instanceDetailFacade.getInstanceDetailInformation( - userPrincipal.getUser(), instanceId); + user, instanceId); return ResponseEntity.ok().body( new SingleResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), instanceDetailInformation) @@ -48,7 +48,7 @@ public ResponseEntity> getInstanceDetail( @PostMapping("/{instanceId}") public ResponseEntity> joinChallenge( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable Long instanceId, @RequestParam String repo ) { @@ -58,7 +58,7 @@ public ResponseEntity> joinChallenge( .repository(repo) .todayDate(kstDate) .build(); - JoinResponse joinResponse = instanceDetailFacade.joinNewChallenge(userPrincipal.getUser(), joinRequest); + JoinResponse joinResponse = instanceDetailFacade.joinNewChallenge(user, joinRequest); return ResponseEntity.ok().body( new SingleResponse<>(JOIN_SUCCESS.getStatus(), JOIN_SUCCESS.getMessage(), joinResponse) @@ -67,10 +67,10 @@ public ResponseEntity> joinChallenge( @DeleteMapping("/{instanceId}") public ResponseEntity> quitChallenge( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable Long instanceId ) { - JoinResponse joinResponse = instanceDetailFacade.quitChallenge(userPrincipal.getUser(), instanceId); + JoinResponse joinResponse = instanceDetailFacade.quitChallenge(user, instanceId); return ResponseEntity.ok().body( new SingleResponse<>(QUIT_SUCCESS.getStatus(), QUIT_SUCCESS.getMessage(), joinResponse) diff --git a/src/main/java/com/genius/gitget/challenge/instance/controller/InstanceHomeController.java b/src/main/java/com/genius/gitget/challenge/instance/controller/InstanceHomeController.java index f0f83a3b..dd8721e7 100644 --- a/src/main/java/com/genius/gitget/challenge/instance/controller/InstanceHomeController.java +++ b/src/main/java/com/genius/gitget/challenge/instance/controller/InstanceHomeController.java @@ -6,7 +6,8 @@ import com.genius.gitget.challenge.instance.dto.search.InstanceSearchRequest; import com.genius.gitget.challenge.instance.dto.search.InstanceSearchResponse; import com.genius.gitget.challenge.instance.facade.InstanceHomeFacade; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.exception.SuccessCode; import com.genius.gitget.global.util.response.dto.PagingResponse; import com.genius.gitget.global.util.response.dto.SlicingResponse; @@ -18,7 +19,6 @@ import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Direction; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -46,13 +46,13 @@ public ResponseEntity> searchInstances( @GetMapping("/recommend") public ResponseEntity> getRecommendInstances( Pageable pageable, - @AuthenticationPrincipal UserPrincipal userPrincipal) { + @GitGetUser User user) { PageRequest pageRequest = PageRequest.of(pageable.getPageNumber(), pageable.getPageSize(), Sort.by(Direction.DESC, "participantCount")); Slice recommendations = instanceHomeFacade.recommendInstances( - userPrincipal.getUser(), pageRequest); + user, pageRequest); return ResponseEntity.ok().body( new SlicingResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), recommendations) ); diff --git a/src/main/java/com/genius/gitget/challenge/likes/controller/LikesController.java b/src/main/java/com/genius/gitget/challenge/likes/controller/LikesController.java index 95fb667a..5eabc5dd 100644 --- a/src/main/java/com/genius/gitget/challenge/likes/controller/LikesController.java +++ b/src/main/java/com/genius/gitget/challenge/likes/controller/LikesController.java @@ -4,7 +4,8 @@ import com.genius.gitget.challenge.likes.dto.UserLikesAddResponse; import com.genius.gitget.challenge.likes.dto.UserLikesResponse; import com.genius.gitget.challenge.likes.facade.LikesFacade; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.exception.SuccessCode; import com.genius.gitget.global.util.response.dto.CommonResponse; import com.genius.gitget.global.util.response.dto.PagingResponse; @@ -15,7 +16,6 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -35,10 +35,10 @@ public class LikesController { @GetMapping("/likes") public ResponseEntity> getLikesListOfUser( Pageable pageable, - @AuthenticationPrincipal UserPrincipal userPrincipal) { + @GitGetUser User user) { PageRequest pageRequest = PageRequest.of(pageable.getPageNumber(), pageable.getPageSize()); - Page likesResponses = likesFacade.getLikesList(userPrincipal.getUser(), pageRequest); + Page likesResponses = likesFacade.getLikesList(user, pageRequest); return ResponseEntity.ok().body( new PagingResponse<>(SuccessCode.SUCCESS.getStatus(), SuccessCode.SUCCESS.getMessage(), likesResponses) @@ -48,9 +48,9 @@ public ResponseEntity> getLikesListOfUser( // 좋아요 목록 추가 @PostMapping("/likes") public ResponseEntity> addLikes( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestBody UserLikesAddRequest userLikesAddRequest) { - UserLikesAddResponse userLikesAddResponse = likesFacade.addLikes(userPrincipal.getUser(), + UserLikesAddResponse userLikesAddResponse = likesFacade.addLikes(user, userLikesAddRequest.getIdentifier(), userLikesAddRequest.getInstanceId()); return ResponseEntity.ok().body( @@ -61,9 +61,9 @@ public ResponseEntity> addLikes( // 좋아요 목록 삭제 @DeleteMapping("/likes/{likesId}") - public ResponseEntity deleteLikes(@AuthenticationPrincipal UserPrincipal userPrincipal, + public ResponseEntity deleteLikes(@GitGetUser User user, @PathVariable(value = "likesId") Long likesId) { - likesFacade.deleteLikes(userPrincipal.getUser(), likesId); + likesFacade.deleteLikes(user, likesId); return ResponseEntity.ok().body( new CommonResponse(SuccessCode.SUCCESS.getStatus(), SuccessCode.SUCCESS.getMessage()) ); diff --git a/src/main/java/com/genius/gitget/challenge/myChallenge/controller/MyChallengeController.java b/src/main/java/com/genius/gitget/challenge/myChallenge/controller/MyChallengeController.java index 22f17812..3ebe05eb 100644 --- a/src/main/java/com/genius/gitget/challenge/myChallenge/controller/MyChallengeController.java +++ b/src/main/java/com/genius/gitget/challenge/myChallenge/controller/MyChallengeController.java @@ -8,7 +8,8 @@ import com.genius.gitget.challenge.myChallenge.dto.PreActivityResponse; import com.genius.gitget.challenge.myChallenge.dto.RewardRequest; import com.genius.gitget.challenge.myChallenge.facade.MyChallengeFacade; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.response.dto.ListResponse; import com.genius.gitget.global.util.response.dto.SingleResponse; import java.time.LocalDate; @@ -16,7 +17,6 @@ import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -32,11 +32,10 @@ public class MyChallengeController { @GetMapping("/my/pre-activity") public ResponseEntity> getPreActivityChallenges( - @AuthenticationPrincipal UserPrincipal userPrincipal + @GitGetUser User user ) { List preActivityInstances = myChallengeFacade.getPreActivityInstances( - userPrincipal.getUser(), - DateUtil.convertToKST(LocalDateTime.now())); + user, DateUtil.convertToKST(LocalDateTime.now())); return ResponseEntity.ok().body( new ListResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), preActivityInstances) @@ -46,11 +45,10 @@ public ResponseEntity> getPreActivityChallenge @GetMapping("/my/activity") public ResponseEntity> getActivatedChallenges( - @AuthenticationPrincipal UserPrincipal userPrincipal + @GitGetUser User user ) { List activatedInstances = myChallengeFacade.getActivatedInstances( - userPrincipal.getUser(), - DateUtil.convertToKST(LocalDateTime.now())); + user, DateUtil.convertToKST(LocalDateTime.now())); return ResponseEntity.ok().body( new ListResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), activatedInstances) @@ -59,11 +57,10 @@ public ResponseEntity> getActivatedChallenges( @GetMapping("/my/done") public ResponseEntity> getDoneChallenges( - @AuthenticationPrincipal UserPrincipal userPrincipal + @GitGetUser User user ) { List doneInstances = myChallengeFacade.getDoneInstances( - userPrincipal.getUser(), - DateUtil.convertToKST(LocalDateTime.now())); + user, DateUtil.convertToKST(LocalDateTime.now())); return ResponseEntity.ok().body( new ListResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), doneInstances) @@ -72,11 +69,11 @@ public ResponseEntity> getDoneChallenges( @GetMapping("/reward/{instanceId}") public ResponseEntity> getRewards( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable Long instanceId ) { LocalDate kstDate = DateUtil.convertToKST(LocalDateTime.now()); - RewardRequest rewardRequest = new RewardRequest(userPrincipal.getUser().getId(), instanceId, kstDate); + RewardRequest rewardRequest = new RewardRequest(user.getId(), instanceId, kstDate); DoneResponse doneResponse = myChallengeFacade.getRewards(rewardRequest); return ResponseEntity.ok().body( diff --git a/src/main/java/com/genius/gitget/global/security/controller/AuthController.java b/src/main/java/com/genius/gitget/global/security/controller/AuthController.java index 269b65ec..71e358fa 100644 --- a/src/main/java/com/genius/gitget/global/security/controller/AuthController.java +++ b/src/main/java/com/genius/gitget/global/security/controller/AuthController.java @@ -5,10 +5,10 @@ import com.genius.gitget.challenge.user.domain.User; import com.genius.gitget.challenge.user.service.UserService; -import com.genius.gitget.global.security.domain.UserPrincipal; import com.genius.gitget.global.security.dto.AuthResponse; import com.genius.gitget.global.security.dto.TokenRequest; import com.genius.gitget.global.security.service.JwtFacade; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.exception.BusinessException; import com.genius.gitget.global.util.response.dto.CommonResponse; import com.genius.gitget.global.util.response.dto.SingleResponse; @@ -16,7 +16,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -51,10 +50,8 @@ public ResponseEntity> generateToken(HttpServletRes } @PostMapping("/logout") - public ResponseEntity logout( - @AuthenticationPrincipal UserPrincipal userPrincipal, - HttpServletResponse response) { - jwtFacade.logout(response, userPrincipal.getUser().getIdentifier()); + public ResponseEntity logout(@GitGetUser User user, HttpServletResponse response) { + jwtFacade.logout(response, user.getIdentifier()); return ResponseEntity.ok().body( new CommonResponse(SUCCESS.getStatus(), SUCCESS.getMessage()) diff --git a/src/main/java/com/genius/gitget/global/util/annotation/GitGetUser.java b/src/main/java/com/genius/gitget/global/util/annotation/GitGetUser.java new file mode 100644 index 00000000..bd20f7a4 --- /dev/null +++ b/src/main/java/com/genius/gitget/global/util/annotation/GitGetUser.java @@ -0,0 +1,13 @@ +package com.genius.gitget.global.util.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import org.springframework.security.core.annotation.AuthenticationPrincipal; + +@Target({ElementType.PARAMETER, ElementType.ANNOTATION_TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : user") +public @interface GitGetUser { +} diff --git a/src/main/java/com/genius/gitget/profile/controller/ProfileController.java b/src/main/java/com/genius/gitget/profile/controller/ProfileController.java index 0be708a9..854baad2 100644 --- a/src/main/java/com/genius/gitget/profile/controller/ProfileController.java +++ b/src/main/java/com/genius/gitget/profile/controller/ProfileController.java @@ -2,7 +2,8 @@ import static com.genius.gitget.global.util.exception.SuccessCode.SUCCESS; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.response.dto.CommonResponse; import com.genius.gitget.global.util.response.dto.SingleResponse; import com.genius.gitget.profile.dto.UserChallengeResultResponse; @@ -18,7 +19,6 @@ import com.genius.gitget.profile.service.ProfileFacade; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -35,9 +35,8 @@ public class ProfileController { // 마이페이지 - 사용자 상세 정보 조회 @GetMapping public ResponseEntity> getUserDetailsInformation( - @AuthenticationPrincipal UserPrincipal userPrincipal) { - UserDetailsInformationResponse userInformation = profileFacade.getUserDetailsInformation( - userPrincipal.getUser()); + @GitGetUser User user) { + UserDetailsInformationResponse userInformation = profileFacade.getUserDetailsInformation(user); return ResponseEntity.ok() .body(new SingleResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), userInformation) @@ -58,10 +57,10 @@ public ResponseEntity> getUserInformatio // 마이페이지 - 회원 정보 수정 @PostMapping("/information") public ResponseEntity> updateUserInformation( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestBody UserInformationUpdateRequest userInformationUpdateRequest) { - Long userId = profileFacade.updateUserInformation(userPrincipal.getUser(), userInformationUpdateRequest); + Long userId = profileFacade.updateUserInformation(user, userInformationUpdateRequest); UserIndexResponse userIndexResponse = new UserIndexResponse(userId); return ResponseEntity.ok().body( @@ -71,9 +70,8 @@ public ResponseEntity> updateUserInformation( // 마이페이지 - 관심사 조회 @GetMapping("/interest") - public ResponseEntity> getUserInterest( - @AuthenticationPrincipal UserPrincipal userPrincipal) { - UserInterestResponse userInterest = profileFacade.getUserInterest(userPrincipal.getUser()); + public ResponseEntity> getUserInterest(@GitGetUser User user) { + UserInterestResponse userInterest = profileFacade.getUserInterest(user); return ResponseEntity.ok() .body(new SingleResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), @@ -83,9 +81,9 @@ public ResponseEntity> getUserInterest( // 마이페이지 - 관심사 수정 @PostMapping("/interest") - public ResponseEntity updateUserTags(@AuthenticationPrincipal UserPrincipal userPrincipal, + public ResponseEntity updateUserTags(@GitGetUser User user, @RequestBody UserInterestUpdateRequest userInterestUpdateRequest) { - profileFacade.updateUserTags(userPrincipal.getUser(), userInterestUpdateRequest); + profileFacade.updateUserTags(user, userInterestUpdateRequest); return ResponseEntity.ok() .body(new CommonResponse(SUCCESS.getStatus(), SUCCESS.getMessage())); @@ -94,10 +92,9 @@ public ResponseEntity updateUserTags(@AuthenticationPrincipal Us // 마이페이지 - 챌린지 현황 @GetMapping("/challenges") - public ResponseEntity> getUserChallengeResult( - @AuthenticationPrincipal UserPrincipal userPrincipal) { - UserChallengeResultResponse userChallengeResult = profileFacade.getUserChallengeResult( - userPrincipal.getUser()); + public ResponseEntity> getUserChallengeResult(@GitGetUser User user) { + UserChallengeResultResponse userChallengeResult = profileFacade.getUserChallengeResult(user); + return ResponseEntity.ok() .body(new SingleResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), userChallengeResult)); @@ -106,9 +103,9 @@ public ResponseEntity> getUserChalle // 마이페이지 - 탈퇴하기 @DeleteMapping - public ResponseEntity deleteUserInformation(@AuthenticationPrincipal UserPrincipal userPrincipal, + public ResponseEntity deleteUserInformation(@GitGetUser User user, @RequestBody UserSignoutRequest userSignoutRequest) { - profileFacade.deleteUserInformation(userPrincipal.getUser(), userSignoutRequest.getReason()); + profileFacade.deleteUserInformation(user, userSignoutRequest.getReason()); return ResponseEntity.ok() .body(new CommonResponse(SUCCESS.getStatus(), SUCCESS.getMessage())); @@ -117,9 +114,8 @@ public ResponseEntity deleteUserInformation(@AuthenticationPrinc // 포인트 조회 @GetMapping("/point") - public ResponseEntity> getUserPoint( - @AuthenticationPrincipal UserPrincipal userPrincipal) { - UserPointResponse userPoint = profileFacade.getUserPoint(userPrincipal.getUser()); + public ResponseEntity> getUserPoint(@GitGetUser User user) { + UserPointResponse userPoint = profileFacade.getUserPoint(user); return ResponseEntity.ok() .body(new SingleResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), diff --git a/src/main/java/com/genius/gitget/store/item/controller/StoreController.java b/src/main/java/com/genius/gitget/store/item/controller/StoreController.java index 5d58c671..3aab21e3 100644 --- a/src/main/java/com/genius/gitget/store/item/controller/StoreController.java +++ b/src/main/java/com/genius/gitget/store/item/controller/StoreController.java @@ -3,7 +3,8 @@ import static com.genius.gitget.global.util.exception.SuccessCode.SUCCESS; import com.genius.gitget.challenge.certification.util.DateUtil; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.response.dto.CommonResponse; import com.genius.gitget.global.util.response.dto.ListResponse; import com.genius.gitget.global.util.response.dto.SingleResponse; @@ -16,7 +17,6 @@ import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -29,15 +29,14 @@ @RequestMapping("/api") public class StoreController { private final StoreFacade storeFacade; -// private final ItemService itemService; @GetMapping("/items") public ResponseEntity> getItemList( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestParam String category ) { ItemCategory itemCategory = ItemCategory.findCategory(category); - List itemResponses = storeFacade.getItemsByCategory(userPrincipal.getUser(), itemCategory); + List itemResponses = storeFacade.getItemsByCategory(user, itemCategory); return ResponseEntity.ok().body( new ListResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), itemResponses) @@ -46,10 +45,10 @@ public ResponseEntity> getItemList( @PostMapping("/items/order/{identifier}") public ResponseEntity> purchaseItem( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable int identifier ) { - ItemResponse itemResponse = storeFacade.orderItem(userPrincipal.getUser(), identifier); + ItemResponse itemResponse = storeFacade.orderItem(user, identifier); return ResponseEntity.ok().body( new SingleResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), itemResponse) @@ -58,11 +57,11 @@ public ResponseEntity> purchaseItem( @PostMapping("/items/use/{identifier}") public ResponseEntity useItem( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @PathVariable int identifier, @RequestParam(required = false) Long instanceId ) { - OrderResponse orderResponse = storeFacade.useItem(userPrincipal.getUser(), identifier, + OrderResponse orderResponse = storeFacade.useItem(user, identifier, instanceId, DateUtil.convertToKST(LocalDateTime.now())); return ResponseEntity.ok().body( @@ -71,10 +70,8 @@ public ResponseEntity useItem( } @PostMapping("/items/unuse") - public ResponseEntity> unmountItem( - @AuthenticationPrincipal UserPrincipal userPrincipal - ) { - List profileResponses = storeFacade.unmountFrame(userPrincipal.getUser()); + public ResponseEntity> unmountItem(@GitGetUser User user) { + List profileResponses = storeFacade.unmountFrame(user); return ResponseEntity.ok().body( new ListResponse<>(SUCCESS.getStatus(), SUCCESS.getMessage(), profileResponses) diff --git a/src/main/java/com/genius/gitget/store/payment/controller/PaymentController.java b/src/main/java/com/genius/gitget/store/payment/controller/PaymentController.java index 99017a14..b38ae9ef 100644 --- a/src/main/java/com/genius/gitget/store/payment/controller/PaymentController.java +++ b/src/main/java/com/genius/gitget/store/payment/controller/PaymentController.java @@ -1,6 +1,7 @@ package com.genius.gitget.store.payment.controller; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.exception.SuccessCode; import com.genius.gitget.global.util.response.dto.PagingResponse; import com.genius.gitget.store.payment.dto.PaymentDetailsResponse; @@ -11,7 +12,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.web.PageableDefault; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -25,13 +25,11 @@ public class PaymentController { private final PaymentService paymentService; @GetMapping - public ResponseEntity> getPaymentDetails(@AuthenticationPrincipal - UserPrincipal userPrincipal, + public ResponseEntity> getPaymentDetails(@GitGetUser User user, @PageableDefault Pageable pageable) { - Page paymentDetails = paymentService.getPaymentDetails(userPrincipal.getUser(), - pageable); + Page paymentDetails = paymentService.getPaymentDetails(user, pageable); return ResponseEntity.ok().body( new PagingResponse<>(SuccessCode.SUCCESS.getStatus(), SuccessCode.SUCCESS.getMessage(), paymentDetails) diff --git a/src/main/java/com/genius/gitget/store/payment/controller/PaymentTossController.java b/src/main/java/com/genius/gitget/store/payment/controller/PaymentTossController.java index 8abe77c9..0cfd9d9f 100644 --- a/src/main/java/com/genius/gitget/store/payment/controller/PaymentTossController.java +++ b/src/main/java/com/genius/gitget/store/payment/controller/PaymentTossController.java @@ -1,6 +1,7 @@ package com.genius.gitget.store.payment.controller; -import com.genius.gitget.global.security.domain.UserPrincipal; +import com.genius.gitget.challenge.user.domain.User; +import com.genius.gitget.global.util.annotation.GitGetUser; import com.genius.gitget.global.util.exception.SuccessCode; import com.genius.gitget.global.util.response.dto.CommonResponse; import com.genius.gitget.global.util.response.dto.SingleResponse; @@ -13,7 +14,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -29,9 +29,9 @@ public class PaymentTossController { @PostMapping public ResponseEntity> requestTossPayment( - @AuthenticationPrincipal UserPrincipal userPrincipal, + @GitGetUser User user, @RequestBody PaymentRequest paymentRequest) { - PaymentResponse paymentResponse = paymentService.requestTossPayment(userPrincipal.getUser(), paymentRequest); + PaymentResponse paymentResponse = paymentService.requestTossPayment(user, paymentRequest); return ResponseEntity.ok().body( new SingleResponse<>(SuccessCode.SUCCESS.getStatus(), SuccessCode.SUCCESS.getMessage(), paymentResponse) );