From e42b5db5a068a81d4b15d2813569d7ffe5476864 Mon Sep 17 00:00:00 2001 From: Tim Date: Wed, 16 Jul 2025 12:54:10 +0800 Subject: [PATCH] feat: login logic --- open-isle-cli/src/views/SignupReasonPageView.vue | 2 +- src/main/java/com/openisle/config/SecurityConfig.java | 1 + src/main/java/com/openisle/controller/AuthController.java | 2 +- src/main/java/com/openisle/service/UserService.java | 7 +++++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/open-isle-cli/src/views/SignupReasonPageView.vue b/open-isle-cli/src/views/SignupReasonPageView.vue index 18e7a91e0..bde7e4db4 100644 --- a/open-isle-cli/src/views/SignupReasonPageView.vue +++ b/open-isle-cli/src/views/SignupReasonPageView.vue @@ -50,9 +50,9 @@ export default { method: 'POST', headers: { 'Content-Type': 'application/json', - 'Authorization': `Bearer ${this.token}` }, body: JSON.stringify({ + token: this.token, reason: this.reason }) }) diff --git a/src/main/java/com/openisle/config/SecurityConfig.java b/src/main/java/com/openisle/config/SecurityConfig.java index 45616f3f1..00771b39c 100644 --- a/src/main/java/com/openisle/config/SecurityConfig.java +++ b/src/main/java/com/openisle/config/SecurityConfig.java @@ -102,6 +102,7 @@ public class SecurityConfig { .requestMatchers(HttpMethod.GET, "/api/tags/**").permitAll() .requestMatchers(HttpMethod.GET, "/api/config/**").permitAll() .requestMatchers(HttpMethod.POST,"/api/auth/google").permitAll() + .requestMatchers(HttpMethod.POST,"/api/auth/reason").permitAll() .requestMatchers(HttpMethod.GET, "/api/search/**").permitAll() .requestMatchers(HttpMethod.GET, "/api/users/**").permitAll() .requestMatchers(HttpMethod.GET, "/api/reaction-types").permitAll() diff --git a/src/main/java/com/openisle/controller/AuthController.java b/src/main/java/com/openisle/controller/AuthController.java index ea04a58af..fdc97936d 100644 --- a/src/main/java/com/openisle/controller/AuthController.java +++ b/src/main/java/com/openisle/controller/AuthController.java @@ -153,7 +153,7 @@ public class AuthController { return ResponseEntity.ok().body(Map.of("valid", true)); } - userService.register(user.getUsername(), user.getEmail(), user.getPassword(), req.getReason(), registerModeService.getRegisterMode()); + user = userService.updateReason(user.getUsername(), req.getReason()); notificationService.createRegisterRequestNotifications(user, req.getReason()); return ResponseEntity.ok().body(Map.of("valid", true)); } diff --git a/src/main/java/com/openisle/service/UserService.java b/src/main/java/com/openisle/service/UserService.java index 35edf1bf4..4549a0cfe 100644 --- a/src/main/java/com/openisle/service/UserService.java +++ b/src/main/java/com/openisle/service/UserService.java @@ -124,6 +124,13 @@ public class UserService { return userRepository.save(user); } + public User updateReason(String username, String reason) { + User user = userRepository.findByUsername(username) + .orElseThrow(() -> new com.openisle.exception.NotFoundException("User not found")); + user.setRegisterReason(reason); + return userRepository.save(user); + } + public User updateProfile(String currentUsername, String newUsername, String introduction) { User user = userRepository.findByUsername(currentUsername) .orElseThrow(() -> new com.openisle.exception.NotFoundException("User not found"));