Refactor getPermissionsAndRolesByUser() related code

This commit is contained in:
Yang Luo
2023-09-24 08:01:18 +08:00
parent 111d1a5786
commit 687830697e
5 changed files with 27 additions and 21 deletions

View File

@ -252,15 +252,23 @@ func (role *Role) GetId() string {
return fmt.Sprintf("%s/%s", role.Owner, role.Name)
}
func GetRolesByUser(userId string) ([]*Role, error) {
func getRolesByUserInternal(userId string) ([]*Role, error) {
roles := []*Role{}
err := ormer.Engine.Where("users like ?", "%"+userId+"\"%").Find(&roles)
if err != nil {
return roles, err
}
allRolesIds := make([]string, 0, len(roles))
return roles, nil
}
func getRolesByUser(userId string) ([]*Role, error) {
roles, err := getRolesByUserInternal(userId)
if err != nil {
return roles, err
}
allRolesIds := []string{}
for _, role := range roles {
allRolesIds = append(allRolesIds, role.GetId())
}
@ -336,16 +344,6 @@ func GetMaskedRoles(roles []*Role) []*Role {
return roles
}
func GetRolesByNamePrefix(owner string, prefix string) ([]*Role, error) {
roles := []*Role{}
err := ormer.Engine.Where("owner=? and name like ?", owner, prefix+"%").Find(&roles)
if err != nil {
return roles, err
}
return roles, nil
}
// GetAncestorRoles returns a list of roles that contain the given roleIds
func GetAncestorRoles(roleIds ...string) ([]*Role, error) {
var (