Skip to content

Commit 1c9cf78

Browse files
author
supersonicbi
committed
(feature)(auth)Support deletion of user.
1 parent 1ab5d9c commit 1c9cf78

File tree

7 files changed

+33
-7
lines changed

7 files changed

+33
-7
lines changed

auth/api/src/main/java/com/tencent/supersonic/auth/api/authentication/adaptor/UserAdaptor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ public interface UserAdaptor {
2121

2222
void register(UserReq userReq);
2323

24+
void deleteUser(long userId);
25+
2426
String login(UserReq userReq, HttpServletRequest request);
2527

2628
String login(UserReq userReq, String appKey);

auth/api/src/main/java/com/tencent/supersonic/auth/api/authentication/service/UserService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ User getCurrentUser(HttpServletRequest httpServletRequest,
2323

2424
void register(UserReq userCmd);
2525

26+
void deleteUser(long userId);
27+
2628
String login(UserReq userCmd, HttpServletRequest request);
2729

2830
String login(UserReq userCmd, String appKey);

auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/adaptor/DefaultUserAdaptor.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@ public void register(UserReq userReq) {
9191
userRepository.addUser(userDO);
9292
}
9393

94+
@Override
95+
public void deleteUser(long userId) {
96+
UserRepository userRepository = ContextUtils.getBean(UserRepository.class);
97+
userRepository.deleteUser(userId);
98+
}
99+
94100
@Override
95101
public String login(UserReq userReq, HttpServletRequest request) {
96102
TokenService tokenService = ContextUtils.getBean(TokenService.class);

auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/persistence/repository/UserRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,6 @@ public interface UserRepository {
2424
void deleteUserTokenByName(String userName);
2525

2626
void deleteUserToken(Long tokenId);
27+
28+
void deleteUser(long userId);
2729
}

auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/persistence/repository/impl/UserRepositoryImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,9 @@ public void deleteUserTokenByName(String userName) {
7676
public void deleteUserToken(Long tokenId) {
7777
userTokenDOMapper.deleteById(tokenId);
7878
}
79+
80+
@Override
81+
public void deleteUser(long userId) {
82+
userDOMapper.deleteById(userId);
83+
}
7984
}

auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/rest/UserController.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,7 @@
99
import jakarta.servlet.http.HttpServletRequest;
1010
import jakarta.servlet.http.HttpServletResponse;
1111
import lombok.extern.slf4j.Slf4j;
12-
import org.springframework.web.bind.annotation.GetMapping;
13-
import org.springframework.web.bind.annotation.PathVariable;
14-
import org.springframework.web.bind.annotation.PostMapping;
15-
import org.springframework.web.bind.annotation.RequestBody;
16-
import org.springframework.web.bind.annotation.RequestMapping;
17-
import org.springframework.web.bind.annotation.RequestParam;
18-
import org.springframework.web.bind.annotation.RestController;
12+
import org.springframework.web.bind.annotation.*;
1913

2014
import java.util.List;
2115
import java.util.Set;
@@ -67,6 +61,16 @@ public void register(@RequestBody UserReq userCmd) {
6761
userService.register(userCmd);
6862
}
6963

64+
@DeleteMapping("/delete/{userId}")
65+
public void delete(@PathVariable("userId") long userId, HttpServletRequest httpServletRequest,
66+
HttpServletResponse httpServletResponse) throws IllegalAccessException {
67+
User user = userService.getCurrentUser(httpServletRequest, httpServletResponse);
68+
if (user.getIsAdmin() != 1) {
69+
throw new IllegalAccessException("only admin can delete user");
70+
}
71+
userService.deleteUser(userId);
72+
}
73+
7074
@PostMapping("/login")
7175
public String login(@RequestBody UserReq userCmd, HttpServletRequest request) {
7276
return userService.login(userCmd, request);

auth/authentication/src/main/java/com/tencent/supersonic/auth/authentication/service/UserServiceImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ public void register(UserReq userReq) {
7070
ComponentFactory.getUserAdaptor().register(userReq);
7171
}
7272

73+
@Override
74+
public void deleteUser(long userId) {
75+
ComponentFactory.getUserAdaptor().deleteUser(userId);
76+
}
77+
7378
@Override
7479
public String login(UserReq userReq, HttpServletRequest request) {
7580
return ComponentFactory.getUserAdaptor().login(userReq, request);

0 commit comments

Comments
 (0)