package jnpf.dmsController.permission;
|
|
import jakarta.validation.Valid;
|
import jnpf.base.ActionResult;
|
import jnpf.dmsEntity.permission.form.PermissionBatchDecisionForm;
|
import jnpf.dmsEntity.permission.form.PermissionDecisionForm;
|
import jnpf.dmsEntity.permission.vo.DmsAdminCapabilitiesVO;
|
import jnpf.dmsEntity.permission.vo.DmsPermissionDecisionVO;
|
import jnpf.dmsPermission.DmsCurrentIdentity;
|
import jnpf.dmsService.DmsPermissionDecisionService;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.web.bind.annotation.GetMapping;
|
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.RestController;
|
|
import java.util.List;
|
|
@RestController
|
@RequestMapping
|
@RequiredArgsConstructor
|
public class PermissionDecisionController {
|
private final DmsPermissionDecisionService decisionService;
|
private final DmsCurrentIdentity currentIdentity;
|
|
@PostMapping("/permission-decisions/evaluate")
|
public ActionResult<DmsPermissionDecisionVO> evaluate(
|
@RequestBody @Valid PermissionDecisionForm form) {
|
return ActionResult.success(decisionService.evaluate(form));
|
}
|
|
@PostMapping("/permission-decisions/batch-evaluate")
|
public ActionResult<List<DmsPermissionDecisionVO>> batchEvaluate(
|
@RequestBody @Valid PermissionBatchDecisionForm form) {
|
return ActionResult.success(decisionService.evaluate(form.getRequests()));
|
}
|
|
@GetMapping("/permission-admin/capabilities")
|
public ActionResult<DmsAdminCapabilitiesVO> capabilities() {
|
return ActionResult.success(new DmsAdminCapabilitiesVO(currentIdentity.isPermissionAdministrator()));
|
}
|
}
|