code.cloudfoundry.org/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  }