diff --git a/src/main/java/com/movelog/domain/auth/application/AuthService.java b/src/main/java/com/movelog/domain/auth/application/AuthService.java index 850157b..e01a0ff 100644 --- a/src/main/java/com/movelog/domain/auth/application/AuthService.java +++ b/src/main/java/com/movelog/domain/auth/application/AuthService.java @@ -58,4 +58,9 @@ public Message unlinkAccount(Long userId) { .message("회원 탈퇴에 성공 했습니다.") .build(); } + @Transactional + public void changeIsRegistered(Long id) { + User user = userRepository.findById(id).get(); + user.updateIsRegistered(); + } } diff --git a/src/main/java/com/movelog/domain/auth/presentation/AuthController.java b/src/main/java/com/movelog/domain/auth/presentation/AuthController.java index 57cca53..dcb0d63 100644 --- a/src/main/java/com/movelog/domain/auth/presentation/AuthController.java +++ b/src/main/java/com/movelog/domain/auth/presentation/AuthController.java @@ -24,8 +24,11 @@ import jakarta.persistence.EntityNotFoundException; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; +import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; +import java.util.Optional; + @Tag(name = "Authorization", description = "Authorization API") @RestController @RequestMapping("/auth") @@ -59,7 +62,7 @@ public ResponseEntity login(@RequestBody IdTokenReq idTokenReq) { String email = authService.findEmail(providerId); String accessToken = jwtUtil.createJwt("access", providerId, "ROLE_USER", 3600000L, email); - + System.out.println("accessToken = " + accessToken); User user = userRepository.findByProviderId(providerId) .orElseThrow(EntityNotFoundException::new); @@ -71,6 +74,17 @@ public ResponseEntity login(@RequestBody IdTokenReq idTokenReq) { return ResponseEntity.ok(authRes); } + @Operation(summary = "회원 가입", description = "회원가입을 진행합니다.") + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "로그인 성공", content = {@Content(mediaType = "application/json", array = @ArraySchema(schema = @Schema(implementation = AuthRes.class)))}), + @ApiResponse(responseCode = "400", description = "로그인 실패", content = {@Content(mediaType = "application/json", schema = @Schema(implementation = ErrorResponse.class))}), + }) + @PostMapping("/sign-up") + public ResponseEntity signUp(@AuthenticationPrincipal UserPrincipal userPrincipal) { + authService.changeIsRegistered(userPrincipal.getId()); + + return ResponseEntity.ok().build(); + } @Operation(summary = "회원 탈퇴", description = "해당 유저의 가입을 탈퇴합니다.") @@ -84,4 +98,5 @@ public ResponseEntity unlinkSocialAccount( ) { return ResponseEntity.ok(authService.unlinkAccount(userPrincipal.getId())); } + } diff --git a/src/main/java/com/movelog/domain/user/domain/User.java b/src/main/java/com/movelog/domain/user/domain/User.java index 9b317ac..a318d09 100644 --- a/src/main/java/com/movelog/domain/user/domain/User.java +++ b/src/main/java/com/movelog/domain/user/domain/User.java @@ -49,4 +49,8 @@ public User(String nickname, String username, String email, String role, String this.providerId = providerId; this.isRegistered = false; } + + public void updateIsRegistered() { + this.isRegistered = true; + } }