mirror of
https://github.com/vran-dev/databasir.git
synced 2025-08-28 16:29:35 +08:00
feat: add delete user api
This commit is contained in:
@@ -10,6 +10,8 @@ public interface Routes {
|
||||
|
||||
String GET_ONE = BASE + "/users/{userId}";
|
||||
|
||||
String DELETE_ONE = BASE + "/users/{userId}";
|
||||
|
||||
String ENABLE = BASE + "/users/{userId}/enable";
|
||||
|
||||
String DISABLE = BASE + "/users/{userId}/disable";
|
||||
|
@@ -8,7 +8,6 @@ import com.databasir.core.domain.DomainErrors;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.user.data.*;
|
||||
import com.databasir.core.domain.user.service.UserService;
|
||||
import com.databasir.core.infrastructure.event.EventPublisher;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -29,8 +28,6 @@ public class UserController {
|
||||
|
||||
private final UserOperationValidator userOperationValidator;
|
||||
|
||||
private final EventPublisher eventPublisher;
|
||||
|
||||
@GetMapping(Routes.User.LIST)
|
||||
public JsonData<Page<UserPageResponse>> list(@PageableDefault(sort = "id", direction = Sort.Direction.DESC)
|
||||
Pageable pageable,
|
||||
@@ -73,6 +70,16 @@ public class UserController {
|
||||
return JsonData.ok(userService.get(userId));
|
||||
}
|
||||
|
||||
@DeleteMapping(Routes.User.DELETE_ONE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
public JsonData<Void> deleteOne(@PathVariable Integer userId) {
|
||||
if (userOperationValidator.isMyself(userId)) {
|
||||
throw DomainErrors.CANNOT_DELETE_SELF.exception();
|
||||
}
|
||||
userService.deleteOne(userId);
|
||||
return JsonData.ok();
|
||||
}
|
||||
|
||||
@PostMapping(Routes.User.RENEW_PASSWORD)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "重置用户密码", involvedUserId = "#userId")
|
||||
|
Reference in New Issue
Block a user