|
@@ -30,25 +30,12 @@ const (
|
|
NetmakerDesktopApp = "netmaker-desktop"
|
|
NetmakerDesktopApp = "netmaker-desktop"
|
|
)
|
|
)
|
|
|
|
|
|
-var (
|
|
|
|
- superUser = models.User{}
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
-func ClearSuperUserCache() {
|
|
|
|
- superUser = models.User{}
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
var IsOAuthConfigured = func() bool { return false }
|
|
var IsOAuthConfigured = func() bool { return false }
|
|
var ResetAuthProvider = func() {}
|
|
var ResetAuthProvider = func() {}
|
|
var ResetIDPSyncHook = func() {}
|
|
var ResetIDPSyncHook = func() {}
|
|
|
|
|
|
// HasSuperAdmin - checks if server has an superadmin/owner
|
|
// HasSuperAdmin - checks if server has an superadmin/owner
|
|
func HasSuperAdmin() (bool, error) {
|
|
func HasSuperAdmin() (bool, error) {
|
|
-
|
|
|
|
- if superUser.IsSuperAdmin {
|
|
|
|
- return true, nil
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
collection, err := database.FetchRecords(database.USERS_TABLE_NAME)
|
|
collection, err := database.FetchRecords(database.USERS_TABLE_NAME)
|
|
if err != nil {
|
|
if err != nil {
|
|
if database.IsEmptyRecord(err) {
|
|
if database.IsEmptyRecord(err) {
|
|
@@ -63,7 +50,7 @@ func HasSuperAdmin() (bool, error) {
|
|
if err != nil {
|
|
if err != nil {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
- if user.PlatformRoleID == models.SuperAdminRole || user.IsSuperAdmin {
|
|
|
|
|
|
+ if user.PlatformRoleID == models.SuperAdminRole {
|
|
return true, nil
|
|
return true, nil
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -215,6 +202,8 @@ func CreateSuperAdmin(u *models.User) error {
|
|
if hassuperadmin {
|
|
if hassuperadmin {
|
|
return errors.New("superadmin user already exists")
|
|
return errors.New("superadmin user already exists")
|
|
}
|
|
}
|
|
|
|
+ u.IsSuperAdmin = true
|
|
|
|
+ u.IsAdmin = true
|
|
u.PlatformRoleID = models.SuperAdminRole
|
|
u.PlatformRoleID = models.SuperAdminRole
|
|
return CreateUser(u)
|
|
return CreateUser(u)
|
|
}
|
|
}
|
|
@@ -282,9 +271,7 @@ func UpsertUser(user models.User) error {
|
|
slog.Error("error inserting user", "user", user.UserName, "error", err.Error())
|
|
slog.Error("error inserting user", "user", user.UserName, "error", err.Error())
|
|
return err
|
|
return err
|
|
}
|
|
}
|
|
- if user.IsSuperAdmin {
|
|
|
|
- superUser = user
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
return nil
|
|
return nil
|
|
}
|
|
}
|
|
|
|
|