github.com/loggregator/cli@v6.33.1-0.20180224010324-82334f081791+incompatible/cf/requirements/domain.go (about) 1 package requirements 2 3 import ( 4 "code.cloudfoundry.org/cli/cf/api" 5 "code.cloudfoundry.org/cli/cf/configuration/coreconfig" 6 "code.cloudfoundry.org/cli/cf/models" 7 ) 8 9 //go:generate counterfeiter . DomainRequirement 10 11 type DomainRequirement interface { 12 Requirement 13 GetDomain() models.DomainFields 14 } 15 16 type domainAPIRequirement struct { 17 name string 18 config coreconfig.Reader 19 domainRepo api.DomainRepository 20 domain models.DomainFields 21 } 22 23 func NewDomainRequirement(name string, config coreconfig.Reader, domainRepo api.DomainRepository) (req *domainAPIRequirement) { 24 req = new(domainAPIRequirement) 25 req.name = name 26 req.config = config 27 req.domainRepo = domainRepo 28 return 29 } 30 31 func (req *domainAPIRequirement) Execute() error { 32 var apiErr error 33 req.domain, apiErr = req.domainRepo.FindByNameInOrg(req.name, req.config.OrganizationFields().GUID) 34 35 if apiErr != nil { 36 return apiErr 37 } 38 39 return nil 40 } 41 42 func (req *domainAPIRequirement) GetDomain() models.DomainFields { 43 return req.domain 44 }