github.com/sleungcy/cli@v7.1.0+incompatible/actor/v2action/organization_summary.go (about) 1 package v2action 2 3 import "sort" 4 5 type OrganizationSummary struct { 6 Organization 7 QuotaName string 8 DomainNames []string 9 SpaceNames []string 10 } 11 12 func (actor Actor) GetOrganizationSummaryByName(orgName string) (OrganizationSummary, Warnings, error) { 13 var allWarnings Warnings 14 15 org, warnings, err := actor.GetOrganizationByName(orgName) 16 allWarnings = append(allWarnings, warnings...) 17 if err != nil { 18 return OrganizationSummary{}, allWarnings, err 19 } 20 21 orgSummary := OrganizationSummary{ 22 Organization: org, 23 } 24 25 domains, warnings, err := actor.GetOrganizationDomains(org.GUID) 26 allWarnings = append(allWarnings, warnings...) 27 if err != nil { 28 return OrganizationSummary{}, allWarnings, err 29 } 30 31 for _, domain := range domains { 32 orgSummary.DomainNames = append(orgSummary.DomainNames, domain.Name) 33 } 34 sort.Strings(orgSummary.DomainNames) 35 36 quota, warnings, err := actor.GetOrganizationQuota(org.QuotaDefinitionGUID) 37 allWarnings = append(allWarnings, warnings...) 38 if err != nil { 39 return OrganizationSummary{}, allWarnings, err 40 } 41 orgSummary.QuotaName = quota.Name 42 43 spaces, warnings, err := actor.GetOrganizationSpaces(org.GUID) 44 allWarnings = append(allWarnings, warnings...) 45 if err != nil { 46 return OrganizationSummary{}, allWarnings, err 47 } 48 49 for _, space := range spaces { 50 orgSummary.SpaceNames = append(orgSummary.SpaceNames, space.Name) 51 } 52 sort.Strings(orgSummary.SpaceNames) 53 54 return orgSummary, allWarnings, nil 55 }