You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.1 KiB
Java

package cn.zyp.stusystem.controller;
import cn.zyp.stusystem.common.Result;
import cn.zyp.stusystem.dto.SaveRolePermissionsDTO;
import cn.zyp.stusystem.service.RolePermissionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/role")
public class RolePermissionController {
@Autowired
private RolePermissionService rolePermissionService;
/**
* 获取角色的权限列表
*/
@GetMapping("/{roleId}/permissions")
public Result<List<String>> getRolePermissions(@PathVariable Long roleId) {
List<String> permissionCodes = rolePermissionService.getPermissionCodesByRoleId(roleId);
return Result.success(permissionCodes);
}
/**
* 保存角色的权限配置
*/
@PostMapping("/{roleId}/permissions")
public Result<Boolean> saveRolePermissions(
@PathVariable Long roleId,
@RequestBody SaveRolePermissionsDTO dto) {
rolePermissionService.saveRolePermissions(roleId, dto.getPermissions());
return Result.success(true);
}
}