mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 11:07:06 +00:00
(feature)(auth)Support deletion of user.
This commit is contained in:
@@ -21,6 +21,8 @@ public interface UserAdaptor {
|
||||
|
||||
void register(UserReq userReq);
|
||||
|
||||
void deleteUser(long userId);
|
||||
|
||||
String login(UserReq userReq, HttpServletRequest request);
|
||||
|
||||
String login(UserReq userReq, String appKey);
|
||||
|
||||
@@ -23,6 +23,8 @@ public interface UserService {
|
||||
|
||||
void register(UserReq userCmd);
|
||||
|
||||
void deleteUser(long userId);
|
||||
|
||||
String login(UserReq userCmd, HttpServletRequest request);
|
||||
|
||||
String login(UserReq userCmd, String appKey);
|
||||
|
||||
@@ -91,6 +91,12 @@ public class DefaultUserAdaptor implements UserAdaptor {
|
||||
userRepository.addUser(userDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteUser(long userId) {
|
||||
UserRepository userRepository = ContextUtils.getBean(UserRepository.class);
|
||||
userRepository.deleteUser(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String login(UserReq userReq, HttpServletRequest request) {
|
||||
TokenService tokenService = ContextUtils.getBean(TokenService.class);
|
||||
|
||||
@@ -24,4 +24,6 @@ public interface UserRepository {
|
||||
void deleteUserTokenByName(String userName);
|
||||
|
||||
void deleteUserToken(Long tokenId);
|
||||
|
||||
void deleteUser(long userId);
|
||||
}
|
||||
|
||||
@@ -76,4 +76,9 @@ public class UserRepositoryImpl implements UserRepository {
|
||||
public void deleteUserToken(Long tokenId) {
|
||||
userTokenDOMapper.deleteById(tokenId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteUser(long userId) {
|
||||
userDOMapper.deleteById(userId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,13 +9,7 @@ import com.tencent.supersonic.common.pojo.User;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -67,6 +61,16 @@ public class UserController {
|
||||
userService.register(userCmd);
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete/{userId}")
|
||||
public void delete(@PathVariable("userId") long userId, HttpServletRequest httpServletRequest,
|
||||
HttpServletResponse httpServletResponse) throws IllegalAccessException {
|
||||
User user = userService.getCurrentUser(httpServletRequest, httpServletResponse);
|
||||
if (user.getIsAdmin() != 1) {
|
||||
throw new IllegalAccessException("only admin can delete user");
|
||||
}
|
||||
userService.deleteUser(userId);
|
||||
}
|
||||
|
||||
@PostMapping("/login")
|
||||
public String login(@RequestBody UserReq userCmd, HttpServletRequest request) {
|
||||
return userService.login(userCmd, request);
|
||||
|
||||
@@ -70,6 +70,11 @@ public class UserServiceImpl implements UserService {
|
||||
ComponentFactory.getUserAdaptor().register(userReq);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteUser(long userId) {
|
||||
ComponentFactory.getUserAdaptor().deleteUser(userId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String login(UserReq userReq, HttpServletRequest request) {
|
||||
return ComponentFactory.getUserAdaptor().login(userReq, request);
|
||||
|
||||
Reference in New Issue
Block a user