github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/requirements/domain.go (about) 1 package requirements 2 3 import ( 4 "github.com/cloudfoundry/cli/cf/api" 5 "github.com/cloudfoundry/cli/cf/configuration/core_config" 6 "github.com/cloudfoundry/cli/cf/models" 7 "github.com/cloudfoundry/cli/cf/terminal" 8 ) 9 10 type DomainRequirement interface { 11 Requirement 12 GetDomain() models.DomainFields 13 } 14 15 type domainApiRequirement struct { 16 name string 17 ui terminal.UI 18 config core_config.Reader 19 domainRepo api.DomainRepository 20 domain models.DomainFields 21 } 22 23 func NewDomainRequirement(name string, ui terminal.UI, config core_config.Reader, domainRepo api.DomainRepository) (req *domainApiRequirement) { 24 req = new(domainApiRequirement) 25 req.name = name 26 req.ui = ui 27 req.config = config 28 req.domainRepo = domainRepo 29 return 30 } 31 32 func (req *domainApiRequirement) Execute() bool { 33 var apiErr error 34 req.domain, apiErr = req.domainRepo.FindByNameInOrg(req.name, req.config.OrganizationFields().Guid) 35 36 if apiErr != nil { 37 req.ui.Failed(apiErr.Error()) 38 return false 39 } 40 41 return true 42 } 43 44 func (req *domainApiRequirement) GetDomain() models.DomainFields { 45 return req.domain 46 }