@@ -1085,6 +1085,14 @@ func HandleGetOrg(resp http.ResponseWriter, request *http.Request) {
10851085
10861086 org.SyncFeatures.EmailTrigger.Limit = 0
10871087
1088+
1089+ org.SyncFeatures.MultiTenant.Usage = int64(len(org.ChildOrgs) + 1)
1090+
1091+ if org.SyncUsage.MultiTenant.Counter != int64(len(org.ChildOrgs)+1) {
1092+ org.SyncUsage.MultiTenant.Counter = int64(len(org.ChildOrgs) + 1)
1093+ orgChanged = true
1094+ }
1095+
10881096 if orgChanged {
10891097 log.Printf("[DEBUG] Org features for %s (%s) changed. Updating.", org.Name, org.Id)
10901098 err = SetOrg(ctx, *org, org.Id)
@@ -1098,7 +1106,6 @@ func HandleGetOrg(resp http.ResponseWriter, request *http.Request) {
10981106 org.SyncFeatures.AppExecutions.Usage = info.MonthlyAppExecutions
10991107 }
11001108
1101- org.SyncFeatures.MultiTenant.Usage = int64(len(org.ChildOrgs) + 1)
11021109 envs, err := GetEnvironments(ctx, fileId)
11031110 if err == nil {
11041111 //log.Printf("Envs: %s", len(envs))
@@ -30370,7 +30377,7 @@ func HandleDeleteOrg(resp http.ResponseWriter, request *http.Request) {
3037030377 }
3037130378 }
3037230379
30373- if !isAdmin {
30380+ if !isAdmin && !user.SupportAccess {
3037430381 log.Printf("[WARNING] User %s is not an admin in org '%s'. Not deleting.", user.Username, fileId)
3037530382 resp.WriteHeader(401)
3037630383 resp.Write([]byte(`{"success": false, "reason": "User is not an admin in the parent org"}`))
@@ -30421,6 +30428,16 @@ func HandleDeleteOrg(resp http.ResponseWriter, request *http.Request) {
3042130428 }
3042230429
3042330430 parentOrg.ChildOrgs = newChildOrg
30431+ allChildOrgs, err := GetAllChildOrgs(ctx, parentOrg.Id)
30432+ if err != nil {
30433+ log.Printf("[WARNING] Failed getting all child orgs for parent org '%s': %s", parentOrg.Id, err)
30434+ resp.WriteHeader(500)
30435+ resp.Write([]byte(`{"success": false, "reason": "Failed getting all child orgs"}`))
30436+ return
30437+ }
30438+
30439+ parentOrg.SyncUsage.MultiTenant.Counter = int64(len(allChildOrgs)) + 1
30440+ parentOrg.SyncFeatures.MultiTenant.Usage = int64(len(allChildOrgs)) + 1
3042430441
3042530442 err = SetOrg(ctx, *parentOrg, parentOrg.Id)
3042630443 if err != nil {
0 commit comments