mirror of
https://github.com/vran-dev/databasir.git
synced 2025-08-08 17:32:14 +08:00
feat: add user/document/discussion event (#59)
This commit is contained in:
@@ -3,10 +3,10 @@ package com.databasir.api;
|
||||
import com.databasir.api.config.security.DatabasirUserDetails;
|
||||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.remark.data.DiscussionCreateRequest;
|
||||
import com.databasir.core.domain.remark.data.DiscussionListCondition;
|
||||
import com.databasir.core.domain.remark.data.DiscussionResponse;
|
||||
import com.databasir.core.domain.remark.service.DocumentDiscussionService;
|
||||
import com.databasir.core.domain.discussion.data.DiscussionCreateRequest;
|
||||
import com.databasir.core.domain.discussion.data.DiscussionListCondition;
|
||||
import com.databasir.core.domain.discussion.data.DiscussionResponse;
|
||||
import com.databasir.core.domain.discussion.service.DocumentDiscussionService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package com.databasir.api;
|
||||
|
||||
import com.databasir.api.common.LoginUserContext;
|
||||
import com.databasir.api.validator.UserOperationValidator;
|
||||
import com.databasir.common.JsonData;
|
||||
import com.databasir.common.exception.Forbidden;
|
||||
@@ -7,6 +8,7 @@ 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;
|
||||
@@ -27,6 +29,8 @@ 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,
|
||||
@@ -60,7 +64,7 @@ public class UserController {
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "创建用户")
|
||||
public JsonData<Void> create(@RequestBody @Valid UserCreateRequest request) {
|
||||
userService.create(request);
|
||||
userService.create(request, UserSource.MANUAL);
|
||||
return JsonData.ok();
|
||||
}
|
||||
|
||||
@@ -73,7 +77,8 @@ public class UserController {
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "重置用户密码", involvedUserId = "#userId")
|
||||
public JsonData<Void> renewPassword(@PathVariable Integer userId) {
|
||||
userService.renewPassword(userId);
|
||||
Integer operatorUserId = LoginUserContext.getLoginUserId();
|
||||
userService.renewPassword(operatorUserId, userId);
|
||||
return JsonData.ok();
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,14 @@
|
||||
package com.databasir.api.common;
|
||||
|
||||
import com.databasir.api.config.security.DatabasirUserDetails;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
|
||||
public class LoginUserContext {
|
||||
|
||||
public static Integer getLoginUserId() {
|
||||
DatabasirUserDetails principal = (DatabasirUserDetails) SecurityContextHolder.getContext()
|
||||
.getAuthentication()
|
||||
.getPrincipal();
|
||||
return principal.getUserPojo().getId();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user