github.com/nimakaviani/cli@v6.37.1-0.20180619223813-e734901a73fa+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,
    15  	spaceGUID string) (ApplicationSummary, Warnings, error) {
    16  	app, allWarnings, err := actor.GetApplicationByNameAndSpace(appName, spaceGUID)
    17  	if err != nil {
    18  		return ApplicationSummary{}, allWarnings, err
    19  	}
    20  
    21  	processSummaries, processWarnings, err := actor.getProcessSummariesForApp(app.GUID)
    22  	allWarnings = append(allWarnings, processWarnings...)
    23  	if err != nil {
    24  		return ApplicationSummary{}, allWarnings, err
    25  	}
    26  
    27  	droplet, warnings, err := actor.GetCurrentDropletByApplication(app.GUID)
    28  	allWarnings = append(allWarnings, Warnings(warnings)...)
    29  	if err != nil {
    30  		if _, ok := err.(actionerror.DropletNotFoundError); !ok {
    31  			return ApplicationSummary{}, allWarnings, err
    32  		}
    33  	}
    34  
    35  	summary := ApplicationSummary{
    36  		Application:      app,
    37  		ProcessSummaries: processSummaries,
    38  		CurrentDroplet:   droplet,
    39  	}
    40  	return summary, allWarnings, nil
    41  }