mirror of
https://github.com/gravitl/netmaker.git
synced 2026-10-12 02:15:06 +00:00
Merge branch 'NM-383' of https://github.com/gravitl/netmaker into feat/ipam
This commit is contained in:
@@ -11,15 +11,13 @@ import (
|
||||
"github.com/gravitl/netmaker/scope"
|
||||
)
|
||||
|
||||
const TableName_Users = "users"
|
||||
|
||||
var SyncOrgAndTenants = CreateLocalDefaults
|
||||
var MigrateOrgAndTenants = migrateOrgAndTenants
|
||||
|
||||
func initializeTenants(ctx context.Context) error {
|
||||
return SyncOrgAndTenants(ctx)
|
||||
return MigrateOrgAndTenants(ctx)
|
||||
}
|
||||
|
||||
func CreateLocalDefaults(ctx context.Context) error {
|
||||
func migrateOrgAndTenants(ctx context.Context) error {
|
||||
org, err := EnsureLocalOrganization(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -110,6 +108,7 @@ func rekeyTenantScopedKeys(ctx context.Context, oldID, newID string) error {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: rekey extclient, not extclient record.
|
||||
var extClientKeys []string
|
||||
if err := db.FromContext(ctx).Model(&types.ExtClientRecord{}).
|
||||
Where("tenant_id = ?", oldID).
|
||||
@@ -209,62 +208,14 @@ func RekeyTenant(ctx context.Context, oldID, newID string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func RekeyOrganization(ctx context.Context, oldID, newID string) error {
|
||||
if oldID == newID {
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := db.FromContext(ctx).Model(&schema.Tenant{}).
|
||||
Where("organization_id = ?", oldID).
|
||||
Update("organization_id", newID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := db.FromContext(ctx).Model(&schema.OrgMembership{}).
|
||||
Where("organization_id = ?", oldID).
|
||||
Update("organization_id", newID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, model := range scopedModels() {
|
||||
if err := db.FromContext(ctx).Model(model).
|
||||
Where("scope = ? AND scope_id = ?", scope.OrgScope, oldID).
|
||||
Update("scope_id", newID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return db.FromContext(ctx).Model(&schema.Organization{}).
|
||||
Where("id = ?", oldID).
|
||||
Update("id", newID).Error
|
||||
}
|
||||
|
||||
func isNewDeployment(ctx context.Context) (bool, error) {
|
||||
if db.FromContext(ctx).Migrator().HasTable(TableName_Users) {
|
||||
numUsers, err := kvCount(ctx, TableName_Users)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
numUsers, err := (&schema.User{}).Count(ctx)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
if numUsers == 0 {
|
||||
numUsers, err = (&schema.User{}).Count(ctx)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
if numUsers == 0 {
|
||||
return true, nil
|
||||
}
|
||||
}
|
||||
} else {
|
||||
numUsers, err := (&schema.User{}).Count(ctx)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
|
||||
if numUsers == 0 {
|
||||
return true, nil
|
||||
}
|
||||
if numUsers == 0 {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
return false, nil
|
||||
|
||||
Reference in New Issue
Block a user