github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/requirements/organization.go (about) 1 package requirements 2 3 import ( 4 "github.com/cloudfoundry/cli/cf/api/organizations" 5 "github.com/cloudfoundry/cli/cf/models" 6 "github.com/cloudfoundry/cli/cf/terminal" 7 ) 8 9 type OrganizationRequirement interface { 10 Requirement 11 SetOrganizationName(string) 12 GetOrganization() models.Organization 13 } 14 15 type organizationApiRequirement struct { 16 name string 17 ui terminal.UI 18 orgRepo organizations.OrganizationRepository 19 org models.Organization 20 } 21 22 func NewOrganizationRequirement(name string, ui terminal.UI, sR organizations.OrganizationRepository) *organizationApiRequirement { 23 req := &organizationApiRequirement{} 24 req.name = name 25 req.ui = ui 26 req.orgRepo = sR 27 return req 28 } 29 30 func (req *organizationApiRequirement) Execute() (success bool) { 31 var apiErr error 32 req.org, apiErr = req.orgRepo.FindByName(req.name) 33 34 if apiErr != nil { 35 req.ui.Failed(apiErr.Error()) 36 return false 37 } 38 39 return true 40 } 41 42 func (req *organizationApiRequirement) SetOrganizationName(name string) { 43 req.name = name 44 } 45 46 func (req *organizationApiRequirement) GetOrganization() models.Organization { 47 return req.org 48 }