set superadmin to user if owner conf is set

This commit is contained in:
Abhishek Kondur 2023-11-27 20:13:29 +04:00
parent 81de838d93
commit 89e9a6f34e
2 changed files with 27 additions and 0 deletions

View file

@ -2,6 +2,7 @@ package migrate
import (
"encoding/json"
"log"
"golang.org/x/exp/slog"
@ -9,6 +10,7 @@ import (
"github.com/gravitl/netmaker/logger"
"github.com/gravitl/netmaker/logic"
"github.com/gravitl/netmaker/models"
"github.com/gravitl/netmaker/servercfg"
)
// Run - runs all migrations
@ -28,6 +30,26 @@ func assignSuperAdmin() {
return
}
createdSuperAdmin := false
owner := servercfg.GetOwnerEmail()
if owner != "" {
user, err := logic.GetUser(owner)
if err != nil {
log.Fatal("error getting user", "user", owner, "error", err.Error())
}
user.IsSuperAdmin = true
user.IsAdmin = false
err = logic.UpsertUser(*user)
if err != nil {
log.Fatal(
"error updating user to superadmin",
"user",
user.UserName,
"error",
err.Error(),
)
}
return
}
for _, u := range users {
if u.IsAdmin {
user, err := logic.GetUser(u.UserName)

View file

@ -256,6 +256,11 @@ func GetPublicBrokerEndpoint() string {
}
}
// GetOwnerEmail - gets the owner email (saas)
func GetOwnerEmail() string {
return os.Getenv("OWNER_EMAIL")
}
// GetMessageQueueEndpoint - gets the message queue endpoint
func GetMessageQueueEndpoint() (string, bool) {
host, _ := GetPublicIP()