github.com/jghiloni/cli@v6.28.1-0.20170628223758-0ce05fe032a2+incompatible/actor/pushaction/application.go (about)

     1  package pushaction
     2  
     3  import log "github.com/sirupsen/logrus"
     4  
     5  func (actor Actor) CreateOrUpdateApp(config ApplicationConfig) (ApplicationConfig, Event, Warnings, error) {
     6  	log.Debugf("creating or updating application")
     7  	if config.UpdatingApplication() {
     8  		log.Debugf("updating application: %#v", config.DesiredApplication)
     9  		app, warnings, err := actor.V2Actor.UpdateApplication(config.DesiredApplication)
    10  		if err != nil {
    11  			log.Errorln("updating application:", err)
    12  			return ApplicationConfig{}, "", Warnings(warnings), err
    13  		}
    14  
    15  		config.DesiredApplication = app
    16  		config.CurrentApplication = config.DesiredApplication
    17  		return config, UpdatedApplication, Warnings(warnings), err
    18  	} else {
    19  		log.Debugf("creating application: %#v", config.DesiredApplication)
    20  		app, warnings, err := actor.V2Actor.CreateApplication(config.DesiredApplication)
    21  		if err != nil {
    22  			log.Errorln("creating application:", err)
    23  			return ApplicationConfig{}, "", Warnings(warnings), err
    24  		}
    25  
    26  		config.DesiredApplication = app
    27  		config.CurrentApplication = config.DesiredApplication
    28  		return config, CreatedApplication, Warnings(warnings), err
    29  	}
    30  }