From 98d8d864f94a0241749ca4e94adcd6ffe900a12a Mon Sep 17 00:00:00 2001 From: seungyeonnnnnni Date: Mon, 13 Nov 2023 10:43:44 +0900 Subject: [PATCH 1/6] =?UTF-8?q?chore=20:=20querydsl=20generated=20?= =?UTF-8?q?=EC=A0=80=EC=9E=A5=20=ED=8C=A8=ED=82=A4=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 --- build.gradle | 2 +- .../{domain/member => global}/feign/MemberFeignUseCase.java | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/main/java/gwangjang/server/{domain/member => global}/feign/MemberFeignUseCase.java (100%) diff --git a/build.gradle b/build.gradle index 83f53c8..8adb162 100644 --- a/build.gradle +++ b/build.gradle @@ -99,7 +99,7 @@ bootJar{ // QueryDsl 빌드 옵션 (선택) // QueryDsl 디렉토리 경로 -def querydslDir = "$buildDir/generated/querydsl" +def querydslDir = "src/main/generated/querydsl" // 경로 추가 >> QueryDsl 소스 코드 컴파일 시 빌드 sourceSets { diff --git a/src/main/java/gwangjang/server/domain/member/feign/MemberFeignUseCase.java b/src/main/java/gwangjang/server/global/feign/MemberFeignUseCase.java similarity index 100% rename from src/main/java/gwangjang/server/domain/member/feign/MemberFeignUseCase.java rename to src/main/java/gwangjang/server/global/feign/MemberFeignUseCase.java From 8bbb0d5df1318764780cc9dcbfb9cc5638a5e2e5 Mon Sep 17 00:00:00 2001 From: seungyeonnnnnni Date: Mon, 13 Nov 2023 10:44:28 +0900 Subject: [PATCH 2/6] =?UTF-8?q?fix=20:=20feign=20=ED=8C=A8=ED=82=A4?= =?UTF-8?q?=EC=A7=80=20=EC=9C=84=EC=B9=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + build/resources/main/bootstrap.yml | 5 ----- .../server/domain/auth/presentation/AuthController.java | 4 ---- .../domain/member/presentation/MemberFeignController.java | 2 +- .../gwangjang/server/global/feign/MemberFeignUseCase.java | 2 +- 5 files changed, 3 insertions(+), 11 deletions(-) delete mode 100644 build/resources/main/bootstrap.yml diff --git a/.gitignore b/.gitignore index c7cff53..a2495f7 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ build/resources/main/application.yml build/tmp/compileJava/previous-compilation-data.bin src/main/resources/application.yml +src/main/generated \ No newline at end of file diff --git a/build/resources/main/bootstrap.yml b/build/resources/main/bootstrap.yml deleted file mode 100644 index 26dc913..0000000 --- a/build/resources/main/bootstrap.yml +++ /dev/null @@ -1,5 +0,0 @@ -#spring: -# cloud: -# config: -# uri: http://127.0.0.1:8888 -# name: ecommerce # 파일명이라고 생각하면 된다. abc.yml이라고 생성했었다면 abc 로 작성 \ No newline at end of file diff --git a/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java b/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java index b88d4e7..acfee6c 100644 --- a/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java +++ b/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java @@ -7,17 +7,13 @@ import gwangjang.server.domain.auth.application.dto.response.SignInResponse; import gwangjang.server.domain.auth.application.service.*; import gwangjang.server.domain.auth.application.service.kakao.KakaoTokenUserCase; -import gwangjang.server.domain.member.adapter.consumer.web.dto.post.MemberDto; -import gwangjang.server.domain.member.feign.MemberFeignUseCase; import gwangjang.server.global.response.SuccessResponse; import gwangjang.server.global.security.dto.User; -import jakarta.validation.Valid; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.security.core.annotation.AuthenticationPrincipal; -import org.springframework.security.core.parameters.P; import org.springframework.web.bind.annotation.*; diff --git a/src/main/java/gwangjang/server/domain/member/presentation/MemberFeignController.java b/src/main/java/gwangjang/server/domain/member/presentation/MemberFeignController.java index 223f6a9..33714e9 100644 --- a/src/main/java/gwangjang/server/domain/member/presentation/MemberFeignController.java +++ b/src/main/java/gwangjang/server/domain/member/presentation/MemberFeignController.java @@ -1,7 +1,7 @@ package gwangjang.server.domain.member.presentation; import gwangjang.server.domain.member.adapter.consumer.web.dto.post.MemberDto; -import gwangjang.server.domain.member.feign.MemberFeignUseCase; +import gwangjang.server.global.feign.MemberFeignUseCase; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; diff --git a/src/main/java/gwangjang/server/global/feign/MemberFeignUseCase.java b/src/main/java/gwangjang/server/global/feign/MemberFeignUseCase.java index 7c8d8a4..2a7fa23 100644 --- a/src/main/java/gwangjang/server/global/feign/MemberFeignUseCase.java +++ b/src/main/java/gwangjang/server/global/feign/MemberFeignUseCase.java @@ -1,4 +1,4 @@ -package gwangjang.server.domain.member.feign; +package gwangjang.server.global.feign; import gwangjang.server.domain.auth.application.mapper.MemberMapper; import gwangjang.server.domain.member.adapter.consumer.web.dto.post.MemberDto; From 5a31c03d814cc98592e146d1c50512dcaaa553b7 Mon Sep 17 00:00:00 2001 From: seungyeonnnnnni Date: Mon, 13 Nov 2023 10:45:49 +0900 Subject: [PATCH 3/6] =?UTF-8?q?chore=20:=20www-form=20=EA=B4=80=EB=A0=A8?= =?UTF-8?q?=20=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/presentation/AuthController.java | 18 +-- .../presentation/AuthControllerForJson.java | 108 ------------------ .../member/presentation/MemberController.java | 2 - 3 files changed, 6 insertions(+), 122 deletions(-) delete mode 100644 src/main/java/gwangjang/server/domain/auth/presentation/AuthControllerForJson.java diff --git a/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java b/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java index acfee6c..7f58f66 100644 --- a/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java +++ b/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java @@ -11,19 +11,15 @@ import gwangjang.server.global.security.dto.User; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; - import static gwangjang.server.domain.auth.presentation.constant.AuthResponseMessage.*; @RestController @AllArgsConstructor -//@CrossOrigin(origins = "*") -@RequestMapping(value = "/auth",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) -//@RequestMapping(value = "/auth") +@RequestMapping(value = "/auth") @Slf4j public class AuthController { @@ -39,13 +35,13 @@ public class AuthController { @PostMapping("/signIn") - public ResponseEntity> signIn(LocalSignInRequest localSignInRequest) { + public ResponseEntity> signIn(@RequestBody LocalSignInRequest localSignInRequest) { return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.localSignIn(localSignInRequest))); } @PostMapping("/signIn/{provider}") public ResponseEntity> socialSignIn(@PathVariable String provider, - SignInRequest signInRequest) { + @RequestBody SignInRequest signInRequest) { return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.signIn(signInRequest.getToken(), provider))); } @@ -59,7 +55,7 @@ public ResponseEntity> socialSignUp(@PathVariabl } @PostMapping("/signUp") - public ResponseEntity> signUp( LocalSignUpRequest signUpRequest) { + public ResponseEntity> signUp(@RequestBody LocalSignUpRequest signUpRequest) { return ResponseEntity.ok(SuccessResponse.create(SIGN_UP_SUCCESS.getMessage(), this.signUpService.localSignUp(signUpRequest))); } @@ -78,7 +74,7 @@ public ResponseEntity> checkNickname(@Pat @PostMapping("/test/{provider}") public ResponseEntity> testLogin(@PathVariable String provider, - TestRequest testRequest){ + @RequestBody TestRequest testRequest){ return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.testSignIn(testRequest.getSocialId(),provider))); } @@ -102,11 +98,9 @@ public ResponseEntity> sendEmailAuth(@PathVa } @PostMapping("/email") - public ResponseEntity> checkEmailAuth( CheckEmailRequest checkEmailRequest){ + public ResponseEntity> checkEmailAuth(@RequestBody CheckEmailRequest checkEmailRequest){ return ResponseEntity.ok(SuccessResponse.create(CHECK_EMAIL_AUTH_SUCCESS.getMessage(),checkEmailUserCase.checkEmailAuth(checkEmailRequest))); } - - } \ No newline at end of file diff --git a/src/main/java/gwangjang/server/domain/auth/presentation/AuthControllerForJson.java b/src/main/java/gwangjang/server/domain/auth/presentation/AuthControllerForJson.java deleted file mode 100644 index 8a1d1d3..0000000 --- a/src/main/java/gwangjang/server/domain/auth/presentation/AuthControllerForJson.java +++ /dev/null @@ -1,108 +0,0 @@ -package gwangjang.server.domain.auth.presentation; - -import gwangjang.server.domain.auth.application.dto.request.*; -import gwangjang.server.domain.auth.application.dto.response.CheckEmailResponse; -import gwangjang.server.domain.auth.application.dto.response.CheckNicknameResponse; -import gwangjang.server.domain.auth.application.dto.response.ReissueTokenResponse; -import gwangjang.server.domain.auth.application.dto.response.SignInResponse; -import gwangjang.server.domain.auth.application.service.*; -import gwangjang.server.domain.auth.application.service.kakao.KakaoTokenUserCase; -import gwangjang.server.global.response.SuccessResponse; -import gwangjang.server.global.security.dto.User; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; -import org.springframework.web.bind.annotation.*; - -import static gwangjang.server.domain.auth.presentation.constant.AuthResponseMessage.*; - -@RestController -@AllArgsConstructor -//@CrossOrigin(origins = "*") -//@RequestMapping(value = "/auth",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) -@RequestMapping(value = "/auth") -@Slf4j -public class AuthControllerForJson { - - private final SignInUserCase authService; - - private final SignUpUserCase signUpService; - - private final ReissueTokenUserCase reissueTokenService; - private final CheckNicknameUserCase checkNicknameService; - private final KakaoTokenUserCase kakaoTokenUserCase; - private final CheckEmailUserCase checkEmailUserCase; - - - - @PostMapping("/signIn") - public ResponseEntity> signIn(@RequestBody LocalSignInRequest localSignInRequest) { - return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.localSignIn(localSignInRequest))); - } - - @PostMapping("/signIn/{provider}") - public ResponseEntity> socialSignIn(@PathVariable String provider, - @RequestBody SignInRequest signInRequest) { - return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.signIn(signInRequest.getToken(), provider))); - } - - - @PutMapping("/signUp/{provider}") - public ResponseEntity> socialSignUp(@PathVariable String provider, - @RequestHeader(value = "Authorization") String token, - SignUpRequest signUpRequest) { - token = (token != null && token.startsWith("Bearer ")) ? token.substring(7) : token; - return ResponseEntity.ok(SuccessResponse.create(SIGN_UP_SUCCESS.getMessage(), this.signUpService.signUp(token, signUpRequest))); - } - - @PostMapping("/signUp") - public ResponseEntity> signUp(@RequestBody LocalSignUpRequest signUpRequest) { - return ResponseEntity.ok(SuccessResponse.create(SIGN_UP_SUCCESS.getMessage(), this.signUpService.localSignUp(signUpRequest))); - } - - @GetMapping("/reissue") - public ResponseEntity> reissue(@RequestHeader(value = "RefreshToken") String token) { - ReissueTokenResponse reissueToken = reissueTokenService.reissueToken(token); - return ResponseEntity.ok(SuccessResponse.create(REISSUE_TOKEN_SUCCESS.getMessage(), reissueToken)); - } - - - @GetMapping("/nickname/{nickname}") - public ResponseEntity> checkNickname(@PathVariable String nickname){ - return ResponseEntity.ok(SuccessResponse.create(CHECK_NICKNAME_SUCCESS.getMessage(), checkNicknameService.checkNickname(nickname))); - } - - - @PostMapping("/test/{provider}") - public ResponseEntity> testLogin(@PathVariable String provider, - @RequestBody TestRequest testRequest){ - return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.testSignIn(testRequest.getSocialId(),provider))); - } - - @PostMapping("/test/hi") - public ResponseEntity> test(@AuthenticationPrincipal User user){ - - log.info("/test/hi -> start "); - log.info(user.getEmail()); - return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(),user.getEmail())); - } - - @GetMapping("/oauth/kakao") - public ResponseEntity> kakaoCallBack(@RequestParam String code){ - log.info("/oauth/kakao redirect success"); - return ResponseEntity.ok(SuccessResponse.create(KAKAO_CALL_BACK_SUCCESS.getMessage(),kakaoTokenUserCase.getAccessToken(code).getAccess_token())); - } - - @PostMapping("/email/{email}") - public ResponseEntity> sendEmailAuth(@PathVariable String email){ - return ResponseEntity.ok(SuccessResponse.create(CHECK_EMAIL_SUCCESS.getMessage(),checkEmailUserCase.requestEmail(email))); - } - - @PostMapping("/email") - public ResponseEntity> checkEmailAuth(@RequestBody CheckEmailRequest checkEmailRequest){ - return ResponseEntity.ok(SuccessResponse.create(CHECK_EMAIL_AUTH_SUCCESS.getMessage(),checkEmailUserCase.checkEmailAuth(checkEmailRequest))); - } - - -} \ No newline at end of file diff --git a/src/main/java/gwangjang/server/domain/member/presentation/MemberController.java b/src/main/java/gwangjang/server/domain/member/presentation/MemberController.java index 6374051..0631828 100644 --- a/src/main/java/gwangjang/server/domain/member/presentation/MemberController.java +++ b/src/main/java/gwangjang/server/domain/member/presentation/MemberController.java @@ -20,8 +20,6 @@ @RestController @AllArgsConstructor -//@CrossOrigin(origins = "*") -//@RequestMapping(value = "/auth",consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) @RequestMapping(value = "/auth") @Slf4j public class MemberController { From 15eaa6b82e16e83a1738cea5450dc5b301e00e9a Mon Sep 17 00:00:00 2001 From: seungyeonnnnnni Date: Mon, 13 Nov 2023 11:05:58 +0900 Subject: [PATCH 4/6] =?UTF-8?q?feat=20:=20=EC=B9=B4=EC=B9=B4=EC=98=A4=20?= =?UTF-8?q?=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EC=B6=94=EA=B0=80=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EA=B8=B0=EC=9E=85=20=EB=A1=9C=EC=A7=81=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/auth/application/dto/request/SignUpRequest.java | 2 +- .../domain/auth/application/service/MemberAuthUserCase.java | 1 - .../domain/auth/application/service/SignUpUserCase.java | 2 +- .../server/domain/auth/presentation/AuthController.java | 2 +- .../server/domain/member/domain/entity/Member.java | 6 +----- 5 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/main/java/gwangjang/server/domain/auth/application/dto/request/SignUpRequest.java b/src/main/java/gwangjang/server/domain/auth/application/dto/request/SignUpRequest.java index f7e6730..8c4feb8 100644 --- a/src/main/java/gwangjang/server/domain/auth/application/dto/request/SignUpRequest.java +++ b/src/main/java/gwangjang/server/domain/auth/application/dto/request/SignUpRequest.java @@ -14,7 +14,7 @@ public class SignUpRequest { - private String nickName; + private String nickname; private String gender; diff --git a/src/main/java/gwangjang/server/domain/auth/application/service/MemberAuthUserCase.java b/src/main/java/gwangjang/server/domain/auth/application/service/MemberAuthUserCase.java index 5480870..dd1e476 100644 --- a/src/main/java/gwangjang/server/domain/auth/application/service/MemberAuthUserCase.java +++ b/src/main/java/gwangjang/server/domain/auth/application/service/MemberAuthUserCase.java @@ -20,7 +20,6 @@ public class MemberAuthUserCase { public Member auth(Member member, String providerInfo) { Member signInMember = memberSaveService.saveMember(member); checkRegistration(signInMember, providerInfo); - member.tempSignUp(); return signInMember; } diff --git a/src/main/java/gwangjang/server/domain/auth/application/service/SignUpUserCase.java b/src/main/java/gwangjang/server/domain/auth/application/service/SignUpUserCase.java index 420fa97..d533861 100644 --- a/src/main/java/gwangjang/server/domain/auth/application/service/SignUpUserCase.java +++ b/src/main/java/gwangjang/server/domain/auth/application/service/SignUpUserCase.java @@ -37,7 +37,7 @@ public SignInResponse signUp(String token, SignUpRequest signUpRequest) { String socialId = tokenUtil.getSocialId(token); Member member = memberQueryService.getMemberBySocialId(socialId); //2. signUp 처리 - String nickName=signUpRequest.getNickName(); + String nickName=signUpRequest.getNickname(); if(memberCheckService.checkNickname(nickName)) throw new NicknameDuplicationException(); //닉네임 중복검사 (이중체크) member.signUp(signUpRequest); //3. security 처리 diff --git a/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java b/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java index 7f58f66..2b281bd 100644 --- a/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java +++ b/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java @@ -49,7 +49,7 @@ public ResponseEntity> socialSignIn(@PathVariabl @PutMapping("/signUp/{provider}") public ResponseEntity> socialSignUp(@PathVariable String provider, @RequestHeader(value = "Authorization") String token, - SignUpRequest signUpRequest) { + @RequestBody SignUpRequest signUpRequest) { token = (token != null && token.startsWith("Bearer ")) ? token.substring(7) : token; return ResponseEntity.ok(SuccessResponse.create(SIGN_UP_SUCCESS.getMessage(), this.signUpService.signUp(token, signUpRequest))); } diff --git a/src/main/java/gwangjang/server/domain/member/domain/entity/Member.java b/src/main/java/gwangjang/server/domain/member/domain/entity/Member.java index f241e16..cc1cce8 100644 --- a/src/main/java/gwangjang/server/domain/member/domain/entity/Member.java +++ b/src/main/java/gwangjang/server/domain/member/domain/entity/Member.java @@ -54,12 +54,8 @@ public class Member { private String birth; private String gender; - public void tempSignUp() { - this.registrationStatus = RegistrationStatus.COMPLETED; - } - public void signUp(SignUpRequest signUpRequest) { - this.nickname = signUpRequest.getNickName(); + this.nickname = signUpRequest.getNickname(); this.registrationStatus = RegistrationStatus.COMPLETED; } From c458ab2cf7a544422ef500c16d8678dbe894ac02 Mon Sep 17 00:00:00 2001 From: seungyeonnnnnni Date: Mon, 13 Nov 2023 11:16:55 +0900 Subject: [PATCH 5/6] =?UTF-8?q?feat=20:=20=EC=95=84=EC=9D=B4=EB=94=94=20?= =?UTF-8?q?=EC=A4=91=EB=B3=B5=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/response/CheckLoginIdResponse.java | 14 +++++++ .../service/CheckLoginIdUseCase.java | 21 ++++++++++ .../auth/presentation/AuthController.java | 42 ++++++++----------- .../constant/AuthResponseMessage.java | 1 + .../repository/MemberCustomRepository.java | 1 + .../MemberCustomRepositoryImpl.java | 8 ++++ .../domain/service/MemberCheckService.java | 4 +- .../server/global/response/ErrorCode.java | 5 --- 8 files changed, 65 insertions(+), 31 deletions(-) create mode 100644 src/main/java/gwangjang/server/domain/auth/application/dto/response/CheckLoginIdResponse.java create mode 100644 src/main/java/gwangjang/server/domain/auth/application/service/CheckLoginIdUseCase.java diff --git a/src/main/java/gwangjang/server/domain/auth/application/dto/response/CheckLoginIdResponse.java b/src/main/java/gwangjang/server/domain/auth/application/dto/response/CheckLoginIdResponse.java new file mode 100644 index 0000000..57681fe --- /dev/null +++ b/src/main/java/gwangjang/server/domain/auth/application/dto/response/CheckLoginIdResponse.java @@ -0,0 +1,14 @@ +package gwangjang.server.domain.auth.application.dto.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Getter +public class CheckLoginIdResponse { + private Boolean isChecked; +} diff --git a/src/main/java/gwangjang/server/domain/auth/application/service/CheckLoginIdUseCase.java b/src/main/java/gwangjang/server/domain/auth/application/service/CheckLoginIdUseCase.java new file mode 100644 index 0000000..c9e5d65 --- /dev/null +++ b/src/main/java/gwangjang/server/domain/auth/application/service/CheckLoginIdUseCase.java @@ -0,0 +1,21 @@ +package gwangjang.server.domain.auth.application.service; + + +import gwangjang.server.domain.auth.application.dto.response.CheckLoginIdResponse; +import gwangjang.server.domain.auth.application.dto.response.CheckNicknameResponse; +import gwangjang.server.domain.member.domain.service.MemberCheckService; +import jakarta.transaction.Transactional; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +@Service +@Transactional +@RequiredArgsConstructor +public class CheckLoginIdUseCase { + + private final MemberCheckService memberCheckService; + public CheckLoginIdResponse checkLoginId(String loginId){ + boolean isDuplicated=memberCheckService.checkLoginId(loginId); + return new CheckLoginIdResponse(isDuplicated); + } +} diff --git a/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java b/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java index 2b281bd..5c68c8e 100644 --- a/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java +++ b/src/main/java/gwangjang/server/domain/auth/presentation/AuthController.java @@ -1,10 +1,7 @@ package gwangjang.server.domain.auth.presentation; import gwangjang.server.domain.auth.application.dto.request.*; -import gwangjang.server.domain.auth.application.dto.response.CheckEmailResponse; -import gwangjang.server.domain.auth.application.dto.response.CheckNicknameResponse; -import gwangjang.server.domain.auth.application.dto.response.ReissueTokenResponse; -import gwangjang.server.domain.auth.application.dto.response.SignInResponse; +import gwangjang.server.domain.auth.application.dto.response.*; import gwangjang.server.domain.auth.application.service.*; import gwangjang.server.domain.auth.application.service.kakao.KakaoTokenUserCase; import gwangjang.server.global.response.SuccessResponse; @@ -31,7 +28,7 @@ public class AuthController { private final CheckNicknameUserCase checkNicknameService; private final KakaoTokenUserCase kakaoTokenUserCase; private final CheckEmailUserCase checkEmailUserCase; - + private final CheckLoginIdUseCase checkLoginIdUseCase; @PostMapping("/signIn") @@ -41,7 +38,7 @@ public ResponseEntity> signIn(@RequestBody Local @PostMapping("/signIn/{provider}") public ResponseEntity> socialSignIn(@PathVariable String provider, - @RequestBody SignInRequest signInRequest) { + @RequestBody SignInRequest signInRequest) { return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.signIn(signInRequest.getToken(), provider))); } @@ -49,7 +46,7 @@ public ResponseEntity> socialSignIn(@PathVariabl @PutMapping("/signUp/{provider}") public ResponseEntity> socialSignUp(@PathVariable String provider, @RequestHeader(value = "Authorization") String token, - @RequestBody SignUpRequest signUpRequest) { + @RequestBody SignUpRequest signUpRequest) { token = (token != null && token.startsWith("Bearer ")) ? token.substring(7) : token; return ResponseEntity.ok(SuccessResponse.create(SIGN_UP_SUCCESS.getMessage(), this.signUpService.signUp(token, signUpRequest))); } @@ -67,40 +64,35 @@ public ResponseEntity> reissue(@RequestHea @GetMapping("/nickname/{nickname}") - public ResponseEntity> checkNickname(@PathVariable String nickname){ + public ResponseEntity> checkNickname(@PathVariable String nickname) { return ResponseEntity.ok(SuccessResponse.create(CHECK_NICKNAME_SUCCESS.getMessage(), checkNicknameService.checkNickname(nickname))); } @PostMapping("/test/{provider}") public ResponseEntity> testLogin(@PathVariable String provider, - @RequestBody TestRequest testRequest){ - return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.testSignIn(testRequest.getSocialId(),provider))); - } - - @PostMapping("/test/hi") - public ResponseEntity> test(@AuthenticationPrincipal User user){ - - log.info("/test/hi -> start "); - log.info(user.getEmail()); - return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(),user.getEmail())); + @RequestBody TestRequest testRequest) { + return ResponseEntity.ok(SuccessResponse.create(SIGN_IN_SUCCESS.getMessage(), this.authService.testSignIn(testRequest.getSocialId(), provider))); } @GetMapping("/oauth/kakao") - public ResponseEntity> kakaoCallBack(@RequestParam String code){ + public ResponseEntity> kakaoCallBack(@RequestParam String code) { log.info("/oauth/kakao redirect success"); - return ResponseEntity.ok(SuccessResponse.create(KAKAO_CALL_BACK_SUCCESS.getMessage(),kakaoTokenUserCase.getAccessToken(code).getAccess_token())); + return ResponseEntity.ok(SuccessResponse.create(KAKAO_CALL_BACK_SUCCESS.getMessage(), kakaoTokenUserCase.getAccessToken(code).getAccess_token())); } @PostMapping("/email/{email}") - public ResponseEntity> sendEmailAuth(@PathVariable String email){ - return ResponseEntity.ok(SuccessResponse.create(CHECK_EMAIL_SUCCESS.getMessage(),checkEmailUserCase.requestEmail(email))); + public ResponseEntity> sendEmailAuth(@PathVariable String email) { + return ResponseEntity.ok(SuccessResponse.create(CHECK_EMAIL_SUCCESS.getMessage(), checkEmailUserCase.requestEmail(email))); } @PostMapping("/email") - public ResponseEntity> checkEmailAuth(@RequestBody CheckEmailRequest checkEmailRequest){ - return ResponseEntity.ok(SuccessResponse.create(CHECK_EMAIL_AUTH_SUCCESS.getMessage(),checkEmailUserCase.checkEmailAuth(checkEmailRequest))); + public ResponseEntity> checkEmailAuth(@RequestBody CheckEmailRequest checkEmailRequest) { + return ResponseEntity.ok(SuccessResponse.create(CHECK_EMAIL_AUTH_SUCCESS.getMessage(), checkEmailUserCase.checkEmailAuth(checkEmailRequest))); } - + @GetMapping("/loginId/{loginId}") + public ResponseEntity> sendIdDuplicate(@PathVariable String loginId) { + return ResponseEntity.ok(SuccessResponse.create(CHECK_LOGINID_SUCCESS.getMessage(), checkLoginIdUseCase.checkLoginId(loginId))); + } } \ No newline at end of file diff --git a/src/main/java/gwangjang/server/domain/auth/presentation/constant/AuthResponseMessage.java b/src/main/java/gwangjang/server/domain/auth/presentation/constant/AuthResponseMessage.java index 3bbd889..3a8f5a4 100644 --- a/src/main/java/gwangjang/server/domain/auth/presentation/constant/AuthResponseMessage.java +++ b/src/main/java/gwangjang/server/domain/auth/presentation/constant/AuthResponseMessage.java @@ -11,6 +11,7 @@ public enum AuthResponseMessage { REISSUE_TOKEN_SUCCESS("토큰을 재발급했습니다"), CHECK_NICKNAME_SUCCESS("닉네임 중복검사를 했습니다"), CHECK_EMAIL_SUCCESS("이메일 인증을 요청 했습니다"), + CHECK_LOGINID_SUCCESS("아이디 중복검사를 했습니다"), CHECK_EMAIL_AUTH_SUCCESS("이메일 인증을 성공 했습니다"), KAKAO_CALL_BACK_SUCCESS("카카오 리다이렉트를 완료 했습니다"); private final String message; diff --git a/src/main/java/gwangjang/server/domain/member/domain/repository/MemberCustomRepository.java b/src/main/java/gwangjang/server/domain/member/domain/repository/MemberCustomRepository.java index ef4a047..5ce0523 100644 --- a/src/main/java/gwangjang/server/domain/member/domain/repository/MemberCustomRepository.java +++ b/src/main/java/gwangjang/server/domain/member/domain/repository/MemberCustomRepository.java @@ -4,4 +4,5 @@ public interface MemberCustomRepository { boolean checkNickname(String nickname); boolean checkEmail(String email); + boolean checkLoginId(String loginId); } diff --git a/src/main/java/gwangjang/server/domain/member/domain/repository/MemberCustomRepositoryImpl.java b/src/main/java/gwangjang/server/domain/member/domain/repository/MemberCustomRepositoryImpl.java index def8386..e969693 100644 --- a/src/main/java/gwangjang/server/domain/member/domain/repository/MemberCustomRepositoryImpl.java +++ b/src/main/java/gwangjang/server/domain/member/domain/repository/MemberCustomRepositoryImpl.java @@ -31,5 +31,13 @@ public boolean checkEmail(String email) { .where(member.email.eq(email)) .fetchFirst() != null; } + @Override + public boolean checkLoginId(String loginId) { + return queryFactory + .selectOne() + .from(member) + .where(member.loginId.eq(loginId)) + .fetchFirst() != null; + } } diff --git a/src/main/java/gwangjang/server/domain/member/domain/service/MemberCheckService.java b/src/main/java/gwangjang/server/domain/member/domain/service/MemberCheckService.java index 7476500..e0f5440 100644 --- a/src/main/java/gwangjang/server/domain/member/domain/service/MemberCheckService.java +++ b/src/main/java/gwangjang/server/domain/member/domain/service/MemberCheckService.java @@ -16,8 +16,10 @@ public boolean checkNickname(String nickname) { return memberRepository.checkNickname(nickname); } public boolean checkEmail(String email) { - log.info("checkEmail done"); return memberRepository.checkEmail(email); } + public boolean checkLoginId(String loginId) { + return memberRepository.checkLoginId(loginId); + } } diff --git a/src/main/java/gwangjang/server/global/response/ErrorCode.java b/src/main/java/gwangjang/server/global/response/ErrorCode.java index d7eb3be..82f0238 100644 --- a/src/main/java/gwangjang/server/global/response/ErrorCode.java +++ b/src/main/java/gwangjang/server/global/response/ErrorCode.java @@ -12,11 +12,6 @@ public enum ErrorCode { INTERNAL_SERVER_ERROR("500", "서버에서 요청을 처리하는 동안 오류가 발생했습니다."), NOT_FOUND_REFRESH_TOKEN_ERROR( "J0008", "유효하지 않는 RefreshToken 입니다."), - //FCM 토큰 관련 - INITIALIZE_ERROR("F0001", "Firebase Admin SDK 초기화에 실패했습니다."), - NOTIFICATION_ERROR("F0002", "메시지 전송에 실패했습니다."), - MESSAGING_ERROR("F0003", "firebaseConfigPath를 읽어오는데 실패하였습니다"), - //유저 관련 에러 코드 NOT_FOUND_BY_SOCIAL_ID_ERROR( "U0001", "해당 socialId인 유저가 존재하지 않습니다."), ACCOUNT_ALREADY_EXIST("AU0001", "해당 email로 다른 소셜 플랫폼으로 가입하였습니다."), From e58f8a5ad37181a6191f25ad19f51f112a63c4df Mon Sep 17 00:00:00 2001 From: seungyeonnnnnni Date: Mon, 13 Nov 2023 11:27:57 +0900 Subject: [PATCH 6/6] =?UTF-8?q?chore=20:=20pr=20=ED=85=9C=ED=94=8C?= =?UTF-8?q?=EB=A6=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/pull_request_template.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..9c36590 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,13 @@ +## PR 타입 +- [ ] 기능 추가 +- [ ] 버그 수정 +- [ ] 의존성, 환경 변수, 빌드 관련 업데이트 +- [ ] 기타 사소한 수정 + +## 개요 + +## 변경 사항 + +## 코드 리뷰 시 참고 사항 + +## 테스트 결과