diff --git a/internal/biz/enum/const.go b/internal/biz/enum/const.go index 5450be8f..2bd2aa94 100644 --- a/internal/biz/enum/const.go +++ b/internal/biz/enum/const.go @@ -30,17 +30,19 @@ const GetInstanceStatus = "get_instance_status" const ConnectInstance = "connect_instance" const InstanceProxy = "instance_proxy" -var All = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser, CreateRole, UpdateRole, DeleteRole, GetRole, SearchRole, ListPermission} +var All = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser, CreateRole, UpdateRole, DeleteRole, GetRole, + SearchRole, ListPermission, CreateRule, UpdateRule, DeleteRule, GetRule, SearchRule, CreateInstance, UpdateInstance, DeleteInstance, + GetInstance, SearchInstance, GetInstanceStatus, ConnectInstance, InstanceProxy} + var Admin = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser, CreateRole, UpdateRole, DeleteRole, GetRole, SearchRole, ListPermission} var AdminUser = []string{CreateUser, UpdateUser, DeleteUser, GetUser, SearchUser} -var AdminRole = []string{CreateRole, UpdateRole, DeleteRole, GetRole, SearchRole, ListPermission} var BuildRoles = make(map[string]map[string]interface{}, 0) func init() { BuildRoles["admin"] = map[string]interface{}{ "id": "admin", "name": "admin", - "permission": AdminUser, + "permission": Admin, "builtin": true, "description": "is admin", "created": time.Now(), diff --git a/internal/dto/role.go b/internal/dto/role.go index a919e4e4..fb56ebb1 100644 --- a/internal/dto/role.go +++ b/internal/dto/role.go @@ -1,10 +1,19 @@ package dto type CreateRole struct { - Name string `json:"name"` - Description string `json:"description" ` - RoleType string `json:"type" ` - Permission interface{} `json:"permission"` + Name string `json:"name"` + Description string `json:"description" ` + RoleType string `json:"type" ` + Permission RolePermission `json:"permission"` +} +type RolePermission struct { + Api []string `json:"api"` + Menu []Menu `json:"menu"` +} +type Menu struct { + Id string `json:"id"` + Name string `json:"name"` + Switch string `json:"switch"` } type UpdateRole struct { Description string `json:"description" `