user roles and groups migration

This commit is contained in:
abhishek9686 2024-10-31 11:58:54 +04:00
parent 1b035d980e
commit 4b99435cbc
8 changed files with 11 additions and 11 deletions

View file

@ -60,6 +60,9 @@ func userMiddleWare(handler http.Handler) http.Handler {
if strings.Contains(route, "acls") {
r.Header.Set("TARGET_RSRC", models.AclRsrc.String())
}
if strings.Contains(route, "tags") {
r.Header.Set("TARGET_RSRC", models.TagRsrc.String())
}
if strings.Contains(route, "extclients") {
r.Header.Set("TARGET_RSRC", models.ExtClientsRsrc.String())
}

View file

@ -186,7 +186,7 @@ func CreateUser(user *models.User) error {
logger.Log(0, "failed to insert user", err.Error())
return err
}
AddGlobalNetRolesToAdmins(*user)
return nil
}

View file

@ -60,7 +60,7 @@ var DeleteNetworkRoles = func(netID string) {}
var CreateDefaultNetworkRolesAndGroups = func(netID models.NetworkID) {}
var CreateDefaultUserPolicies = func(netID models.NetworkID) {}
var GetUserGroupsInNetwork = func(netID models.NetworkID) (networkGrps map[models.UserGroupID]models.UserGroup) { return }
var AddGlobalNetRolesToAdmins = func(u *models.User) {}
var AddGlobalNetRolesToAdmins = func(u models.User) {}
// GetRole - fetches role template by id
func GetRole(roleID models.UserRoleID) (models.UserRolePermissionTemplate, error) {

View file

@ -62,7 +62,6 @@ func SetUserDefaults(user *models.User) {
if len(user.UserGroups) == 0 {
user.UserGroups = make(map[models.UserGroupID]struct{})
}
AddGlobalNetRolesToAdmins(user)
}
// SortUsers - Sorts slice of Users by username

View file

@ -398,8 +398,7 @@ func syncUsers() {
if err == nil {
for _, user := range users {
user := user
logic.AddGlobalNetRolesToAdmins(&user)
logic.UpsertUser(user)
logic.AddGlobalNetRolesToAdmins(user)
if user.PlatformRoleID == models.AdminRole && !user.IsAdmin {
user.IsAdmin = true
logic.UpsertUser(user)
@ -409,6 +408,7 @@ func syncUsers() {
logic.UpsertUser(user)
}
if user.PlatformRoleID.String() != "" {
logic.MigrateUserRoleAndGroups(user)
continue
}
user.AuthType = models.BasicAuth
@ -431,7 +431,6 @@ func syncUsers() {
}
logic.UpsertUser(user)
logic.MigrateUserRoleAndGroups(user)
}
}

View file

@ -62,6 +62,7 @@ const (
EnrollmentKeysRsrc RsrcType = "enrollment_key"
UserRsrc RsrcType = "users"
AclRsrc RsrcType = "acl"
TagRsrc RsrcType = "tag"
DnsRsrc RsrcType = "dns"
FailOverRsrc RsrcType = "fail_over"
MetricRsrc RsrcType = "metrics"

View file

@ -28,7 +28,6 @@ func MigrateUserRoleAndGroups(user models.User) {
continue
}
user.UserGroups[g.ID] = struct{}{}
}
}
if len(user.NetworkRoles) > 0 {
@ -44,9 +43,7 @@ func MigrateUserRoleAndGroups(user models.User) {
continue
}
user.UserGroups[g.ID] = struct{}{}
if err != nil {
continue
}
user.NetworkRoles = make(map[models.NetworkID]map[models.UserRoleID]struct{})
}
}

View file

@ -1221,7 +1221,7 @@ func GetUserGroupsInNetwork(netID models.NetworkID) (networkGrps map[models.User
return
}
func AddGlobalNetRolesToAdmins(u *models.User) {
func AddGlobalNetRolesToAdmins(u models.User) {
if u.PlatformRoleID != models.SuperAdminRole && u.PlatformRoleID != models.AdminRole {
return
}
@ -1229,4 +1229,5 @@ func AddGlobalNetRolesToAdmins(u *models.User) {
u.UserGroups = make(map[models.UserGroupID]struct{})
}
u.UserGroups[models.UserGroupID(fmt.Sprintf("global-%s-grp", models.NetworkAdmin))] = struct{}{}
logic.UpsertUser(u)
}