You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.9 KiB
138 lines
4.9 KiB
package com.epmet.controller;
|
|
|
|
import com.epmet.commons.tools.utils.Result;
|
|
import com.epmet.commons.tools.validator.ValidatorUtils;
|
|
import com.epmet.dto.form.*;
|
|
import com.epmet.dto.result.AccessConfigOpeDefaultScopesResultDTO;
|
|
import com.epmet.dto.result.AccessConfigOpesResultDTO;
|
|
import com.epmet.dto.result.AccessConfigOptionsResultDTO;
|
|
import com.epmet.dto.result.RoleOperationDefaultResultDTO;
|
|
import com.epmet.service.AccessConfigService;
|
|
import oracle.jdbc.proxy.annotation.Post;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.validation.constraints.NotBlank;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
|
|
@RestController
|
|
@RequestMapping("config")
|
|
public class AccessConfigController {
|
|
|
|
@Autowired
|
|
private AccessConfigService accessConfigService;
|
|
|
|
/**
|
|
* 根据roleKey查询角色默认操作列表(包括assigned字段,标识该角色是否已经具有该操作权限)
|
|
* @param roleKey
|
|
* @return
|
|
*/
|
|
@PostMapping("roledefaultops/{roleKey}")
|
|
public Result listRoleDefaultOps(@PathVariable("roleKey") String roleKey) {
|
|
List<RoleOperationDefaultResultDTO> defaultOps = accessConfigService.listRoleDefaultOpsByRoleKey(roleKey);
|
|
return new Result().ok(defaultOps);
|
|
}
|
|
|
|
/**
|
|
* 根据角色ID列出角色的操作列表(及该操作的scope范围)
|
|
* @param roleId
|
|
* @return
|
|
*/
|
|
@PostMapping("roleopes/{roleId}")
|
|
public Result listRoleOperations(@PathVariable("roleId") String roleId) {
|
|
List<AccessConfigOpesResultDTO> opes = accessConfigService.listOpesByRole(roleId);
|
|
return new Result().ok(opes);
|
|
}
|
|
|
|
/**
|
|
* 保存角色的操作权限列表
|
|
* @return
|
|
*/
|
|
@PostMapping("saveroleopes")
|
|
public Result saveRoleOpes(@RequestBody AccessConfigOpesFormDTO formDTO) {
|
|
accessConfigService.saveRoleOpes(formDTO.getRoleId(), formDTO.getOpes());
|
|
return new Result();
|
|
}
|
|
|
|
/**
|
|
* 查询可配置项列表
|
|
* @return
|
|
*/
|
|
@PostMapping("configoptions")
|
|
public Result listConfigOptions(@RequestBody AccessConfigOptionsFormDTO accessConfigFormDTO) {
|
|
ValidatorUtils.validateEntity(accessConfigFormDTO);
|
|
AccessConfigOptionsResultDTO options = accessConfigService.listScopeOptionsForAccessConfig(accessConfigFormDTO.getRoleId(), accessConfigFormDTO.getOperationKey());
|
|
return new Result().ok(options);
|
|
}
|
|
|
|
/**
|
|
* 保存设置
|
|
* @param config
|
|
* @return
|
|
*/
|
|
@PostMapping("saveconfig")
|
|
public Result saveSettings(@RequestBody AccessConfigSaveConfigDTO config) {
|
|
ValidatorUtils.validateEntity(config);
|
|
String roleId = config.getRoleId();
|
|
String operationKey = config.getOperationKey();
|
|
Set<String> scopeKeys = config.getScopeKeys();
|
|
accessConfigService.saveConfig(roleId, operationKey, scopeKeys);
|
|
return new Result();
|
|
}
|
|
|
|
/**
|
|
* 保存角色默认操作权限列表
|
|
* @param form
|
|
* @return
|
|
*/
|
|
@PostMapping("roledefaultopes/save")
|
|
public Result saveRoleDefaultOperations(@RequestBody AccessConfigRoleDefaultOpesFormDTO form) {
|
|
ValidatorUtils.validateEntity(form);
|
|
accessConfigService.saveRoleDefaultOperations(form.getRoleKey(), form.getOperationKeys());
|
|
return new Result();
|
|
}
|
|
|
|
/**
|
|
* 查询操作的默认范围列表
|
|
* @param form
|
|
* @return
|
|
*/
|
|
@PostMapping("opedefaultscopes/list")
|
|
public Result listOpeDefaultScopes(@RequestBody AccessConfigOpeDefaultScopesFormDTO form) {
|
|
ValidatorUtils.validateEntity(form, AccessConfigOpeDefaultScopesFormDTO.ListOpeDefaultScopesGroup.class);
|
|
List<AccessConfigOpeDefaultScopesResultDTO> scopes = accessConfigService.listOpeDefaultScopes4Role(form.getRoleKey(), form.getOperationKey());
|
|
return new Result().ok(scopes);
|
|
}
|
|
|
|
/**
|
|
* 保存操作的默认范围配置
|
|
* @param form
|
|
* @return
|
|
*/
|
|
@PostMapping("opedefaultscopes/save")
|
|
public Result saveOpeDefaultScopes(@RequestBody AccessConfigOpeDefaultScopesFormDTO form) {
|
|
ValidatorUtils.validateEntity(form, AccessConfigOpeDefaultScopesFormDTO.SaveOpeDefaultScopesGroup.class);
|
|
accessConfigService.saveOpeDefaultScopes(form.getRoleKey(), form.getOperationKey(), form.getScopeKeys());
|
|
return new Result();
|
|
}
|
|
|
|
/**
|
|
* @Description 给角色添加操作权限和操作范围
|
|
* @return
|
|
* @author wxz
|
|
* @date 2020.11.17 17:41
|
|
*/
|
|
@PostMapping("add-ope-and-scopes-4role")
|
|
public Result addOpeAndScopes4Role(@RequestBody AccessConfigAdd4RoletFormDTO form) {
|
|
ValidatorUtils.validateEntity(form);
|
|
String roleKey = form.getRoleKey();
|
|
String operationKey = form.getOperationKey();
|
|
List<String> scopeKeys = form.getScopeKeys();
|
|
|
|
accessConfigService.addOpeAndScopes4Role(roleKey, operationKey, scopeKeys);
|
|
return new Result();
|
|
}
|
|
|
|
|
|
}
|
|
|