github.com/mook-as/cf-cli@v7.0.0-beta.28.0.20200120190804-b91c115fae48+incompatible/actor/v3action/application_summary.go (about)

     1  package v3action
     2  
     3  import "code.cloudfoundry.org/cli/actor/actionerror"
     4  
     5  // ApplicationSummary represents an application with its processes and droplet.
     6  type ApplicationSummary struct {
     7  	Application
     8  	ProcessSummaries ProcessSummaries
     9  	CurrentDroplet   Droplet
    10  }
    11  
    12  // GetApplicationSummaryByNameAndSpace returns an application with process and
    13  // instance stats.
    14  func (actor Actor) GetApplicationSummaryByNameAndSpace(appName string, spaceGUID string, withObfuscatedValues bool) (ApplicationSummary, Warnings, error) {
    15  	app, allWarnings, err := actor.GetApplicationByNameAndSpace(appName, spaceGUID)
    16  	if err != nil {
    17  		return ApplicationSummary{}, allWarnings, err
    18  	}
    19  
    20  	processSummaries, processWarnings, err := actor.getProcessSummariesForApp(app.GUID, withObfuscatedValues)
    21  	allWarnings = append(allWarnings, processWarnings...)
    22  	if err != nil {
    23  		return ApplicationSummary{}, allWarnings, err
    24  	}
    25  
    26  	droplet, warnings, err := actor.GetCurrentDropletByApplication(app.GUID)
    27  	allWarnings = append(allWarnings, Warnings(warnings)...)
    28  	if err != nil {
    29  		if _, ok := err.(actionerror.DropletNotFoundError); !ok {
    30  			return ApplicationSummary{}, allWarnings, err
    31  		}
    32  	}
    33  
    34  	summary := ApplicationSummary{
    35  		Application:      app,
    36  		ProcessSummaries: processSummaries,
    37  		CurrentDroplet:   droplet,
    38  	}
    39  	return summary, allWarnings, nil
    40  }