You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shenyu.apache.org by xi...@apache.org on 2022/04/02 14:08:19 UTC
[incubator-shenyu] branch master updated: #3175 admin interface permission (#3178)
This is an automated email from the ASF dual-hosted git repository.
xiaoyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new e5b1716 #3175 admin interface permission (#3178)
e5b1716 is described below
commit e5b17166cb4240c0866590e30d75033179641ffa
Author: nuo-promise <46...@users.noreply.github.com>
AuthorDate: Sat Apr 2 22:08:12 2022 +0800
#3175 admin interface permission (#3178)
---
.../shenyu/admin/controller/DashboardUserController.java | 11 ++++++-----
.../apache/shenyu/admin/controller/MetaDataController.java | 11 +++++++++++
.../org/apache/shenyu/admin/controller/PluginController.java | 10 ++++++++++
.../shenyu/admin/controller/PluginHandleController.java | 6 ++++++
.../apache/shenyu/admin/controller/ResourceController.java | 9 +++++++++
.../org/apache/shenyu/admin/controller/RoleController.java | 7 +++++++
.../apache/shenyu/admin/controller/ShenyuDictController.java | 9 +++++++++
7 files changed, 58 insertions(+), 5 deletions(-)
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/DashboardUserController.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/DashboardUserController.java
index 16ac175..b91102c 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/DashboardUserController.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/DashboardUserController.java
@@ -72,8 +72,8 @@ public class DashboardUserController {
* @param pageSize page size
* @return {@linkplain ShenyuAdminResult}
*/
- @RequiresPermissions("system:manager:list")
@GetMapping("")
+ @RequiresPermissions("system:manager:list")
public ShenyuAdminResult queryDashboardUsers(final String userName,
@NotNull(message = "currentPage not null") final Integer currentPage,
@NotNull(message = "pageSize not null") final Integer pageSize) {
@@ -93,8 +93,8 @@ public class DashboardUserController {
* @param id dashboard user id.
* @return {@linkplain ShenyuAdminResult}
*/
- @RequiresPermissions("system:manager:list")
@GetMapping("/{id}")
+ @RequiresPermissions("system:manager:list")
public ShenyuAdminResult detailDashboardUser(@PathVariable("id") final String id) {
DashboardUserEditVO dashboardUserEditVO = dashboardUserService.findById(id);
return Optional.ofNullable(dashboardUserEditVO)
@@ -108,8 +108,8 @@ public class DashboardUserController {
* @param dashboardUserDTO dashboard user.
* @return {@linkplain ShenyuAdminResult}
*/
- @RequiresPermissions("system:manager:add")
@PostMapping("")
+ @RequiresPermissions("system:manager:add")
public ShenyuAdminResult createDashboardUser(@Valid @RequestBody final DashboardUserDTO dashboardUserDTO) {
return Optional.ofNullable(dashboardUserDTO)
.map(item -> {
@@ -129,8 +129,8 @@ public class DashboardUserController {
* @param dashboardUserDTO dashboard user.
* @return {@linkplain ShenyuAdminResult}
*/
- @RequiresPermissions("system:manager:edit")
@PutMapping("/{id}")
+ @RequiresPermissions("system:manager:edit")
public ShenyuAdminResult updateDashboardUser(@PathVariable("id")
@Existed(provider = DashboardUserMapper.class,
message = "user is not found") final String id,
@@ -152,6 +152,7 @@ public class DashboardUserController {
* @return {@linkplain ShenyuAdminResult}
*/
@PutMapping("/modify-password/{id}")
+ @RequiresPermissions("system:manager:edit")
public ShenyuAdminResult modifyPassword(@PathVariable("id")
@Existed(provider = DashboardUserMapper.class,
message = "user is not found") final String id,
@@ -165,8 +166,8 @@ public class DashboardUserController {
* @param ids primary key.
* @return {@linkplain ShenyuAdminResult}
*/
- @RequiresPermissions("system:manager:delete")
@DeleteMapping("/batch")
+ @RequiresPermissions("system:manager:delete")
public ShenyuAdminResult deleteDashboardUser(@RequestBody @NotEmpty final List<@NotBlank String> ids) {
Integer deleteCount = dashboardUserService.delete(ids);
return ShenyuAdminResult.success(ShenyuResultMessage.DELETE_SUCCESS, deleteCount);
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/MetaDataController.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/MetaDataController.java
index 0e07183..beabb7e 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/MetaDataController.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/MetaDataController.java
@@ -27,6 +27,8 @@ import org.apache.shenyu.admin.model.result.ShenyuAdminResult;
import org.apache.shenyu.admin.model.vo.MetaDataVO;
import org.apache.shenyu.admin.service.MetaDataService;
import org.apache.shenyu.admin.utils.ShenyuResultMessage;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -65,6 +67,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@GetMapping("/queryList")
+ @RequiresPermissions("system:meta:list")
public ShenyuAdminResult queryList(final String appName,
@NotNull(message = "currentPage not null") final Integer currentPage,
@NotNull(message = "pageSize not null") final Integer pageSize) {
@@ -78,6 +81,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@GetMapping("/findAll")
+ @RequiresPermissions("system:meta:list")
public ShenyuAdminResult findAll() {
return ShenyuAdminResult.success(ShenyuResultMessage.QUERY_SUCCESS, metaDataService.findAll());
}
@@ -88,6 +92,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@GetMapping("/findAllGroup")
+ @RequiresPermissions("system:meta:list")
public ShenyuAdminResult findAllGroup() {
return ShenyuAdminResult.success(ShenyuResultMessage.QUERY_SUCCESS, metaDataService.findAllGroup());
}
@@ -99,6 +104,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@GetMapping("/{id}")
+ @RequiresPermissions("system:meta:edit")
public ShenyuAdminResult detail(@PathVariable("id") final String id) {
return ShenyuAdminResult.success(ShenyuResultMessage.DETAIL_SUCCESS, metaDataService.findById(id));
}
@@ -110,6 +116,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@PostMapping("/createOrUpdate")
+ @RequiresPermissions(value = {"system:meta:add", "system:meta:edit"}, logical = Logical.OR)
public ShenyuAdminResult createOrUpdate(@Valid @RequestBody final MetaDataDTO metaDataDTO) {
return ShenyuAdminResult.success(metaDataService.createOrUpdate(metaDataDTO));
}
@@ -121,6 +128,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@PostMapping("/batchDeleted")
+ @RequiresPermissions("system:meta:delete")
public ShenyuAdminResult batchDeleted(@RequestBody @NotEmpty final List<@NotBlank String> ids) {
Integer deleteCount = metaDataService.delete(ids);
return ShenyuAdminResult.success(ShenyuResultMessage.DELETE_SUCCESS, deleteCount);
@@ -133,6 +141,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@DeleteMapping("/batchDeleted")
+ @RequiresPermissions("system:meta:delete")
public ShenyuAdminResult batchDelete(@RequestBody @NotEmpty final List<@NotBlank String> ids) {
return batchDeleted(ids);
}
@@ -144,6 +153,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@PostMapping("/batchEnabled")
+ @RequiresPermissions("system:meta:disable")
public ShenyuAdminResult batchEnabled(@Valid @RequestBody final BatchCommonDTO batchCommonDTO) {
final String result = metaDataService.enabled(batchCommonDTO.getIds(), batchCommonDTO.getEnabled());
if (StringUtils.isNoneBlank(result)) {
@@ -158,6 +168,7 @@ public class MetaDataController {
* @return the shenyu result
*/
@PostMapping("/syncData")
+ @RequiresPermissions("system:meta:modify")
public ShenyuAdminResult syncData() {
metaDataService.syncData();
return ShenyuAdminResult.success();
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java
index 5fbce86..c40b9ef 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginController.java
@@ -32,6 +32,7 @@ import org.apache.shenyu.admin.utils.ShenyuResultMessage;
import org.apache.shenyu.admin.validation.annotation.Existed;
import org.apache.shenyu.common.dto.PluginData;
import org.apache.shenyu.common.enums.DataEventTypeEnum;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -75,6 +76,7 @@ public class PluginController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("")
+ @RequiresPermissions("system:plugin:list")
public ShenyuAdminResult queryPlugins(final String name, final Integer enabled,
@NotNull final Integer currentPage,
@NotNull final Integer pageSize) {
@@ -88,6 +90,7 @@ public class PluginController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/all")
+ @RequiresPermissions("system:plugin:list")
public ShenyuAdminResult queryAllPlugins() {
List<PluginData> pluginDataList = pluginService.listAll();
return ShenyuAdminResult.success(ShenyuResultMessage.QUERY_SUCCESS, pluginDataList);
@@ -100,6 +103,7 @@ public class PluginController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/{id}")
+ @RequiresPermissions("system:plugin:edit")
public ShenyuAdminResult detailPlugin(@PathVariable("id")
@Existed(message = "plugin is not existed",
provider = PluginMapper.class) final String id) {
@@ -114,6 +118,7 @@ public class PluginController {
* @return {@linkplain ShenyuAdminResult}
*/
@PostMapping("")
+ @RequiresPermissions("system:plugin:add")
public ShenyuAdminResult createPlugin(@Valid @RequestBody final PluginDTO pluginDTO) {
return ShenyuAdminResult.success(pluginService.createOrUpdate(pluginDTO));
}
@@ -126,6 +131,7 @@ public class PluginController {
* @return {@linkplain ShenyuAdminResult}
*/
@PutMapping("/{id}")
+ @RequiresPermissions("system:plugin:edit")
public ShenyuAdminResult updatePlugin(@PathVariable("id")
@Existed(message = "plugin is not existed",
provider = PluginMapper.class) final String id,
@@ -141,6 +147,7 @@ public class PluginController {
* @return {@linkplain ShenyuAdminResult}
*/
@DeleteMapping("/batch")
+ @RequiresPermissions("system:plugin:delete")
public ShenyuAdminResult deletePlugins(@RequestBody @NotEmpty final List<@NotBlank String> ids) {
final String result = pluginService.delete(ids);
if (StringUtils.isNoneBlank(result)) {
@@ -156,6 +163,7 @@ public class PluginController {
* @return the mono
*/
@PostMapping("/enabled")
+ @RequiresPermissions("system:plugin:disable")
public ShenyuAdminResult enabled(@Valid @RequestBody final BatchCommonDTO batchCommonDTO) {
final String result = pluginService.enabled(batchCommonDTO.getIds(), batchCommonDTO.getEnabled());
if (StringUtils.isNoneBlank(result)) {
@@ -170,6 +178,7 @@ public class PluginController {
* @return {@linkplain ShenyuAdminResult}
*/
@PostMapping("/syncPluginAll")
+ @RequiresPermissions("system:plugin:modify")
public ShenyuAdminResult syncPluginAll() {
boolean success = syncDataService.syncAll(DataEventTypeEnum.REFRESH);
if (success) {
@@ -186,6 +195,7 @@ public class PluginController {
* @return the mono
*/
@PutMapping("/syncPluginData/{id}")
+ @RequiresPermissions("system:plugin:modify")
public ShenyuAdminResult syncPluginData(@PathVariable("id")
@Existed(message = "plugin is not existed",
provider = PluginMapper.class) final String id) {
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginHandleController.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginHandleController.java
index 31a4d73..93beb8b 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginHandleController.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/PluginHandleController.java
@@ -27,6 +27,7 @@ import org.apache.shenyu.admin.model.vo.PluginHandleVO;
import org.apache.shenyu.admin.service.PluginHandleService;
import org.apache.shenyu.admin.utils.ShenyuResultMessage;
import org.apache.shenyu.admin.validation.annotation.Existed;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -67,6 +68,7 @@ public class PluginHandleController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("")
+ @RequiresPermissions("system:pluginHandler:list")
public ShenyuAdminResult queryPluginHandles(final String pluginId, final String field,
@NotNull final Integer currentPage,
@NotNull final Integer pageSize) {
@@ -93,6 +95,7 @@ public class PluginHandleController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/{id}")
+ @RequiresPermissions("system:pluginHandler:edit")
public ShenyuAdminResult detailRule(@PathVariable("id") @Valid
@Existed(provider = PluginHandleMapper.class,
message = "rule not exited") final String id) {
@@ -107,6 +110,7 @@ public class PluginHandleController {
* @return {@link ShenyuAdminResult}
*/
@PostMapping("")
+ @RequiresPermissions("system:pluginHandler:add")
public ShenyuAdminResult createPluginHandle(@Valid @RequestBody final PluginHandleDTO pluginHandleDTO) {
Integer createCount = pluginHandleService.createOrUpdate(pluginHandleDTO);
return ShenyuAdminResult.success(ShenyuResultMessage.CREATE_SUCCESS, createCount);
@@ -120,6 +124,7 @@ public class PluginHandleController {
* @return {@linkplain ShenyuAdminResult}
*/
@PutMapping("/{id}")
+ @RequiresPermissions("system:pluginHandler:edit")
public ShenyuAdminResult updatePluginHandle(@PathVariable("id") @Valid
@Existed(provider = PluginHandleMapper.class,
message = "rule not exited") final String id,
@@ -135,6 +140,7 @@ public class PluginHandleController {
* @return {@linkplain ShenyuAdminResult}
*/
@DeleteMapping("/batch")
+ @RequiresPermissions("system:pluginHandler:delete")
public ShenyuAdminResult deletePluginHandles(@RequestBody @NotEmpty final List<@NotBlank String> ids) {
return ShenyuAdminResult.success(ShenyuResultMessage.DELETE_SUCCESS, pluginHandleService.deletePluginHandles(ids));
}
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ResourceController.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ResourceController.java
index cec9a7d..c89fd96 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ResourceController.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ResourceController.java
@@ -29,6 +29,8 @@ import org.apache.shenyu.admin.model.vo.ResourceVO;
import org.apache.shenyu.admin.service.ResourceService;
import org.apache.shenyu.admin.utils.ShenyuResultMessage;
import org.apache.shenyu.admin.validation.annotation.Existed;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -69,6 +71,7 @@ public class ResourceController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("")
+ @RequiresPermissions("system:resource:list")
public ShenyuAdminResult queryResource(final String title,
@NotNull final Integer currentPage,
@NotNull final Integer pageSize) {
@@ -85,6 +88,7 @@ public class ResourceController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/menu")
+ @RequiresPermissions("system:manager:configureDataPermission")
public ShenyuAdminResult getMenuTree() {
List<MenuInfo> menuInfoList = resourceService.getMenuTree();
if (CollectionUtils.isNotEmpty(menuInfoList)) {
@@ -100,6 +104,7 @@ public class ResourceController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/button")
+ @RequiresPermissions("system:resource:addButton")
public ShenyuAdminResult getButton(final String id) {
List<ResourceVO> resourceVOList = resourceService.findByParentId(id);
if (CollectionUtils.isNotEmpty(resourceVOList)) {
@@ -115,6 +120,7 @@ public class ResourceController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/{id}")
+ @RequiresPermissions(value = {"system:resource:editButton", "system:resource:editMenu"}, logical = Logical.OR)
public ShenyuAdminResult detailResource(@PathVariable("id") final String id) {
return Optional.ofNullable(resourceService.findById(id))
.map(item -> ShenyuAdminResult.success(ShenyuResultMessage.DETAIL_SUCCESS, item))
@@ -128,6 +134,7 @@ public class ResourceController {
* @return {@linkplain ShenyuAdminResult}
*/
@PostMapping("")
+ @RequiresPermissions(value = {"system:resource:addMenu", "system:resource:addButton"}, logical = Logical.OR)
public ShenyuAdminResult createResource(@Valid @RequestBody final ResourceDTO resourceDTO) {
return ShenyuAdminResult.success(ShenyuResultMessage.CREATE_SUCCESS, resourceService.createOrUpdate(resourceDTO));
}
@@ -140,6 +147,7 @@ public class ResourceController {
* @return {@linkplain ShenyuAdminResult}
*/
@PutMapping("/{id}")
+ @RequiresPermissions(value = {"system:resource:editMenu", "system:resource:editButton"}, logical = Logical.OR)
public ShenyuAdminResult updateResource(@PathVariable("id") @Valid
@Existed(provider = ResourceMapper.class,
message = "resource not existed") final String id,
@@ -155,6 +163,7 @@ public class ResourceController {
* @return {@linkplain ShenyuAdminResult}
*/
@DeleteMapping("/batch")
+ @RequiresPermissions(value = {"system:resource:deleteMenu", "system:resource:deleteButton"}, logical = Logical.OR)
public ShenyuAdminResult deleteResource(@RequestBody @NotEmpty final List<@NotBlank String> ids) {
return ShenyuAdminResult.success(ShenyuResultMessage.DELETE_SUCCESS, resourceService.delete(ids));
}
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/RoleController.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/RoleController.java
index 4a27000..92842b4 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/RoleController.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/RoleController.java
@@ -28,6 +28,7 @@ import org.apache.shenyu.admin.model.vo.RoleVO;
import org.apache.shenyu.admin.service.RoleService;
import org.apache.shenyu.admin.utils.ShenyuResultMessage;
import org.apache.shenyu.admin.validation.annotation.Existed;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -67,6 +68,7 @@ public class RoleController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/getAllRoles")
+ @RequiresPermissions("system:role:list")
public ShenyuAdminResult selectAll() {
return ShenyuAdminResult.success(ShenyuResultMessage.QUERY_SUCCESS, roleService.selectAll());
}
@@ -80,6 +82,7 @@ public class RoleController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("")
+ @RequiresPermissions("system:role:list")
public ShenyuAdminResult queryRole(final String roleName,
@NotNull final Integer currentPage,
@NotNull final Integer pageSize) {
@@ -94,6 +97,7 @@ public class RoleController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/{id}")
+ @RequiresPermissions("system:role:edit")
public ShenyuAdminResult detailRole(@PathVariable("id") @Valid
@Existed(provider = RoleMapper.class,
message = "role is not existed") final String id) {
@@ -110,6 +114,7 @@ public class RoleController {
* @return {@linkplain ShenyuAdminResult}
*/
@PostMapping("")
+ @RequiresPermissions("system:role:add")
public ShenyuAdminResult createRole(@Valid @RequestBody final RoleDTO roleDTO) {
if (SUPER.equals(roleDTO.getRoleName())) {
return ShenyuAdminResult.error(ShenyuResultMessage.ROLE_CREATE_ERROR);
@@ -125,6 +130,7 @@ public class RoleController {
* @return {@linkplain ShenyuAdminResult}
*/
@PutMapping("/{id}")
+ @RequiresPermissions("system:role:edit")
public ShenyuAdminResult updateRole(@PathVariable("id") @Valid
@Existed(provider = RoleMapper.class,
message = "role is not existed") final String id,
@@ -140,6 +146,7 @@ public class RoleController {
* @return {@linkplain ShenyuAdminResult}
*/
@DeleteMapping("/batch")
+ @RequiresPermissions("system:role:delete")
public ShenyuAdminResult deleteRole(@RequestBody @NotEmpty final List<@NotBlank String> ids) {
return ShenyuAdminResult.success(ShenyuResultMessage.DELETE_SUCCESS, roleService.delete(ids));
}
diff --git a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ShenyuDictController.java b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ShenyuDictController.java
index dfe62bf..6e62e70 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ShenyuDictController.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/ShenyuDictController.java
@@ -26,6 +26,8 @@ import org.apache.shenyu.admin.model.result.ShenyuAdminResult;
import org.apache.shenyu.admin.service.ShenyuDictService;
import org.apache.shenyu.admin.utils.ShenyuResultMessage;
import org.apache.shenyu.admin.validation.annotation.Existed;
+import org.apache.shiro.authz.annotation.Logical;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -67,6 +69,7 @@ public class ShenyuDictController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("")
+ @RequiresPermissions("system:dict:list")
public ShenyuAdminResult queryDicts(final String type, final String dictCode, final String dictName,
@NotNull final Integer currentPage,
@NotNull final Integer pageSize) {
@@ -81,6 +84,7 @@ public class ShenyuDictController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/all/{type}")
+ @RequiresPermissions("system:dict:list")
public ShenyuAdminResult findByType(@PathVariable("type") final String type) {
return ShenyuAdminResult.success(ShenyuResultMessage.QUERY_SUCCESS, shenyuDictService.list(type));
}
@@ -92,6 +96,7 @@ public class ShenyuDictController {
* @return {@linkplain ShenyuAdminResult}
*/
@GetMapping("/{id}")
+ @RequiresPermissions("system:dict:edit")
public ShenyuAdminResult detail(@PathVariable("id") @Valid
@Existed(provider = ShenyuDictMapper.class,
message = "dict is not existed") final String id) {
@@ -105,6 +110,7 @@ public class ShenyuDictController {
* @return {@link ShenyuAdminResult}
*/
@PostMapping("")
+ @RequiresPermissions(value = {"system:dict:add", "system:dict:edit"}, logical = Logical.OR)
public ShenyuAdminResult createShenyuDict(@Valid @RequestBody final ShenyuDictDTO shenyuDictDTO) {
return ShenyuAdminResult.success(ShenyuResultMessage.CREATE_SUCCESS, shenyuDictService.createOrUpdate(shenyuDictDTO));
}
@@ -117,6 +123,7 @@ public class ShenyuDictController {
* @return {@linkplain ShenyuAdminResult}
*/
@PutMapping("/{id}")
+ @RequiresPermissions("system:dict:edit")
public ShenyuAdminResult updateShenyuDict(@PathVariable("id") @Valid
@Existed(provider = ShenyuDictMapper.class,
message = "dict is not existed") final String id,
@@ -132,6 +139,7 @@ public class ShenyuDictController {
* @return {@linkplain ShenyuAdminResult}
*/
@DeleteMapping("/batch")
+ @RequiresPermissions("system:dict:delete")
public ShenyuAdminResult deleteShenyuDicts(@RequestBody @NotEmpty final List<@NotBlank String> ids) {
return ShenyuAdminResult.success(ShenyuResultMessage.DELETE_SUCCESS, shenyuDictService.deleteShenyuDicts(ids));
}
@@ -143,6 +151,7 @@ public class ShenyuDictController {
* @return the shenyu result
*/
@PostMapping("/batchEnabled")
+ @RequiresPermissions("system:dict:disable")
public ShenyuAdminResult batchEnabled(@Valid @RequestBody final BatchCommonDTO batchCommonDTO) {
final Integer result = shenyuDictService.enabled(batchCommonDTO.getIds(), batchCommonDTO.getEnabled());
return ShenyuAdminResult.success("batch enable success", result);