mirror of
https://github.com/gravitl/netmaker.git
synced 2025-09-08 14:15:25 +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") {
|
if strings.Contains(route, "acls") {
|
||||||
r.Header.Set("TARGET_RSRC", models.AclRsrc.String())
|
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") {
|
if strings.Contains(route, "extclients") {
|
||||||
r.Header.Set("TARGET_RSRC", models.ExtClientsRsrc.String())
|
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())
|
logger.Log(0, "failed to insert user", err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
AddGlobalNetRolesToAdmins(*user)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ var DeleteNetworkRoles = func(netID string) {}
|
||||||
var CreateDefaultNetworkRolesAndGroups = func(netID models.NetworkID) {}
|
var CreateDefaultNetworkRolesAndGroups = func(netID models.NetworkID) {}
|
||||||
var CreateDefaultUserPolicies = func(netID models.NetworkID) {}
|
var CreateDefaultUserPolicies = func(netID models.NetworkID) {}
|
||||||
var GetUserGroupsInNetwork = func(netID models.NetworkID) (networkGrps map[models.UserGroupID]models.UserGroup) { return }
|
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
|
// GetRole - fetches role template by id
|
||||||
func GetRole(roleID models.UserRoleID) (models.UserRolePermissionTemplate, error) {
|
func GetRole(roleID models.UserRoleID) (models.UserRolePermissionTemplate, error) {
|
||||||
|
|
|
@ -62,7 +62,6 @@ func SetUserDefaults(user *models.User) {
|
||||||
if len(user.UserGroups) == 0 {
|
if len(user.UserGroups) == 0 {
|
||||||
user.UserGroups = make(map[models.UserGroupID]struct{})
|
user.UserGroups = make(map[models.UserGroupID]struct{})
|
||||||
}
|
}
|
||||||
AddGlobalNetRolesToAdmins(user)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// SortUsers - Sorts slice of Users by username
|
// SortUsers - Sorts slice of Users by username
|
||||||
|
|
|
@ -398,8 +398,7 @@ func syncUsers() {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
for _, user := range users {
|
for _, user := range users {
|
||||||
user := user
|
user := user
|
||||||
logic.AddGlobalNetRolesToAdmins(&user)
|
logic.AddGlobalNetRolesToAdmins(user)
|
||||||
logic.UpsertUser(user)
|
|
||||||
if user.PlatformRoleID == models.AdminRole && !user.IsAdmin {
|
if user.PlatformRoleID == models.AdminRole && !user.IsAdmin {
|
||||||
user.IsAdmin = true
|
user.IsAdmin = true
|
||||||
logic.UpsertUser(user)
|
logic.UpsertUser(user)
|
||||||
|
@ -409,6 +408,7 @@ func syncUsers() {
|
||||||
logic.UpsertUser(user)
|
logic.UpsertUser(user)
|
||||||
}
|
}
|
||||||
if user.PlatformRoleID.String() != "" {
|
if user.PlatformRoleID.String() != "" {
|
||||||
|
logic.MigrateUserRoleAndGroups(user)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
user.AuthType = models.BasicAuth
|
user.AuthType = models.BasicAuth
|
||||||
|
@ -431,7 +431,6 @@ func syncUsers() {
|
||||||
}
|
}
|
||||||
logic.UpsertUser(user)
|
logic.UpsertUser(user)
|
||||||
logic.MigrateUserRoleAndGroups(user)
|
logic.MigrateUserRoleAndGroups(user)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,7 @@ const (
|
||||||
EnrollmentKeysRsrc RsrcType = "enrollment_key"
|
EnrollmentKeysRsrc RsrcType = "enrollment_key"
|
||||||
UserRsrc RsrcType = "users"
|
UserRsrc RsrcType = "users"
|
||||||
AclRsrc RsrcType = "acl"
|
AclRsrc RsrcType = "acl"
|
||||||
|
TagRsrc RsrcType = "tag"
|
||||||
DnsRsrc RsrcType = "dns"
|
DnsRsrc RsrcType = "dns"
|
||||||
FailOverRsrc RsrcType = "fail_over"
|
FailOverRsrc RsrcType = "fail_over"
|
||||||
MetricRsrc RsrcType = "metrics"
|
MetricRsrc RsrcType = "metrics"
|
||||||
|
|
|
@ -28,7 +28,6 @@ func MigrateUserRoleAndGroups(user models.User) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
user.UserGroups[g.ID] = struct{}{}
|
user.UserGroups[g.ID] = struct{}{}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(user.NetworkRoles) > 0 {
|
if len(user.NetworkRoles) > 0 {
|
||||||
|
@ -44,9 +43,7 @@ func MigrateUserRoleAndGroups(user models.User) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
user.UserGroups[g.ID] = struct{}{}
|
user.UserGroups[g.ID] = struct{}{}
|
||||||
if err != nil {
|
user.NetworkRoles = make(map[models.NetworkID]map[models.UserRoleID]struct{})
|
||||||
continue
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1221,7 +1221,7 @@ func GetUserGroupsInNetwork(netID models.NetworkID) (networkGrps map[models.User
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func AddGlobalNetRolesToAdmins(u *models.User) {
|
func AddGlobalNetRolesToAdmins(u models.User) {
|
||||||
if u.PlatformRoleID != models.SuperAdminRole && u.PlatformRoleID != models.AdminRole {
|
if u.PlatformRoleID != models.SuperAdminRole && u.PlatformRoleID != models.AdminRole {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1229,4 +1229,5 @@ func AddGlobalNetRolesToAdmins(u *models.User) {
|
||||||
u.UserGroups = make(map[models.UserGroupID]struct{})
|
u.UserGroups = make(map[models.UserGroupID]struct{})
|
||||||
}
|
}
|
||||||
u.UserGroups[models.UserGroupID(fmt.Sprintf("global-%s-grp", models.NetworkAdmin))] = struct{}{}
|
u.UserGroups[models.UserGroupID(fmt.Sprintf("global-%s-grp", models.NetworkAdmin))] = struct{}{}
|
||||||
|
logic.UpsertUser(u)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue