github.com/rakutentech/cli@v6.12.5-0.20151006231303-24468b65536e+incompatible/cf/requirements/user.go (about) 1 package requirements 2 3 import ( 4 "github.com/cloudfoundry/cli/cf/api" 5 "github.com/cloudfoundry/cli/cf/models" 6 "github.com/cloudfoundry/cli/cf/terminal" 7 ) 8 9 type UserRequirement interface { 10 Requirement 11 GetUser() models.UserFields 12 } 13 14 type userApiRequirement struct { 15 username string 16 ui terminal.UI 17 userRepo api.UserRepository 18 user models.UserFields 19 } 20 21 func NewUserRequirement(username string, ui terminal.UI, userRepo api.UserRepository) (req *userApiRequirement) { 22 req = new(userApiRequirement) 23 req.username = username 24 req.ui = ui 25 req.userRepo = userRepo 26 return 27 } 28 29 func (req *userApiRequirement) Execute() (success bool) { 30 var apiErr error 31 req.user, apiErr = req.userRepo.FindByUsername(req.username) 32 33 if apiErr != nil { 34 req.ui.Failed(apiErr.Error()) 35 return false 36 } 37 38 return true 39 } 40 41 func (req *userApiRequirement) GetUser() models.UserFields { 42 return req.user 43 }