mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-05 20:54:18 +08:00
user roles and groups migration
This commit is contained in:
parent
1b035d980e
commit
4b99435cbc
8 changed files with 11 additions and 11 deletions
|
@ -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())
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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{})
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue