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  }