Skip to content

Commit 5c2c178

Browse files
authored
Merge pull request #275 from LalitDeore/multi-region
Fix Multi tenant issue
2 parents cbe2f82 + dd305f7 commit 5c2c178

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

shared.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)