package com.example.survey.enumeration; import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; /** * @author Pope */ public enum AuthEnum { /** * 管理员权限,可以访问所有接口 */ ADMIN("管理员", new HashSet() {{ add("/project/projectList : GET"); add("/project/respondentCount : GET"); add("/project/projectState : PUT"); add("/project/project : PUT"); add("/project/project : POST"); add("/respondent/respondent : POST"); add("/respondent/respondent : PUT"); add("/respondent/user : PUT"); add("/respondent/respondent : DELETE"); add("/respondent/respondentList : GET"); add("/record/record : POST"); add("/record/recordList : GET"); add("/record/recordValues : GET"); add("/record/record : PUT"); add("/record/record : DELETE"); add("/record/underReviewRecord : PUT"); add("/record/file : POST"); add("/user/userList : GET"); add("/user/user : POST"); add("/user/user : DELETE"); add("/user/userInfo : PUT"); add("/user/userRole : PUT"); add("/user/pwd : PUT"); add("/role/roleList : GET"); add("/role/role : PUT"); add("/role/role : DELETE"); add("/role/role : POST"); add("/role/authorityList : GET"); add("/metaData/metaData : GET"); add("/metaData/metaData : DELETE"); add("/metaData/metaDataList : GET"); add("/metaData/nameList : GET"); add("/metaData/metaData : PUT"); add("/metaData/metaData : POST"); add("/metaData/wordTemplate : POST"); }}), /** * 项目 */ QUERY_PROJECT("查询项目的权限", new HashSet() {{ add("/project/projectList : GET"); add("/project/respondentCount : GET"); }}), MODIFY_PROJECT("修改项目的权限", new HashSet() {{ add("/project/projectState : PUT"); add("/project/project : PUT"); }}), CREATE_PROJECT("创建项目的权限", new HashSet() {{ add("/project/project : POST"); }}), /** * 调查对象 */ CREATE_RESPONDENT("添加调查对象的权限", new HashSet() {{ add("/respondent/respondent : POST"); }}), MODIFY_RESPONDENT("修改调查对象的权限", new HashSet() {{ add("/respondent/respondent : PUT"); add("/respondent/user : PUT"); }}), DELETE_RESPONDENT("删除调查对象的权限", new HashSet() {{ add("/respondent/respondent : DELETE"); }}), QUERY_RESPONDENT("查询调查对象的权限", new HashSet() {{ add("/respondent/respondentList : GET"); }}), /** * 流调记录 */ CREATE_RECORD("添加流调记录的权限", new HashSet() {{ add("/record/record : POST"); }}), QUERY_RECORD("查询流调记录的权限", new HashSet() {{ add("/record/recordList : GET"); }}), VIEW_RECORD_DETAILS("查看流调记录详情的权限", new HashSet() {{ add("/record/recordValues : GET"); }}), MODIFY_RECORD("修改流调记录的权限", new HashSet() {{ add("/record/record : PUT"); }}), DELETE_RECORD("删除流调记录的权限", new HashSet() {{ add("/record/record : DELETE"); }}), EXAMINE_RECORD("审核流调记录的权限", new HashSet() {{ add("/record/underReviewRecord : PUT"); }}), UPLOAD_RECORD_FILE("上传流调记录相关文件的权限", new HashSet() {{ add("/record/file : POST"); }}), /** * 用户 */ QUERY_USER("查询用户的权限", new HashSet() {{ add("/user/userList : GET"); }}), CREATE_USER("添加用户的权限", new HashSet() {{ add("/user/user : POST"); }}), DELETE_USER("删除用户的权限", new HashSet() {{ add("/user/user : DELETE"); }}), MODIFY_USER("修改用户的权限", new HashSet() {{ add("/user/userInfo : PUT"); add("/user/userRole : PUT"); add("/user/pwd : PUT"); }}), /** * 角色 */ QUERY_ROLE("查询角色的权限", new HashSet() {{ add("/role/roleList : GET"); }}), MODIFY_ROLE("修改角色的权限", new HashSet() {{ add("/role/role : PUT"); }}), DELETE_ROLE("删除角色的权限", new HashSet() {{ add("/role/role : DELETE"); }}), CREATE_ROLE("增加角色的权限", new HashSet() {{ add("/role/role : POST"); }}), QUERY_AUTHORITY_LIST("查询权限列表的权限", new HashSet() {{ add("/role/authorityList : GET"); }}), /** * 元数据 */ QUERY_METADATA("查询元数据的权限", new HashSet() {{ add("/metadata/metadata : GET"); add("/metadata/metadataList : GET"); add("/metadata/nameList : GET"); }}), MODIFY_METADATA("修改元数据的权限", new HashSet() {{ add("/metadata/metadata : PUT"); }}), DELETE_METADATA("删除元数据的权限", new HashSet() {{ }}), CREATE_METADATA("添加元数据的权限", new HashSet() {{ add("/metadata/metadata : POST"); }}), BIND_TEMPLATE("上传元数据对应模板的权限", new HashSet() {{ add("/metaData/wordTemplate : POST"); }}), /** * 审计 */ QUERY_AUDIT("查询审计记录", new HashSet() {{ }}); private String name; private Set routes; AuthEnum(String name, Set routes) { this.name = name; this.routes = routes; } public static AuthEnum getRoleEnum(String name) { for (AuthEnum value : AuthEnum.values()) { if (value.name.equals(name)) { return value; } } return null; } public static List getNameList() { List res = new LinkedList<>(); for (AuthEnum value : AuthEnum.values()) { res.add(value.name); } return res; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Set getRoutes() { return routes; } public void setRoutes(Set routes) { this.routes = routes; } }