github.com/jenkins-x/jx/v2@v2.1.155/pkg/auth/auth_config_service.go (about) 1 package auth 2 3 // Config gets the AuthConfig from the service 4 func (s *AuthConfigService) Config() *AuthConfig { 5 if s.config == nil { 6 s.config = &AuthConfig{} 7 } 8 return s.config 9 } 10 11 // SetConfig sets the AuthConfig object 12 func (s *AuthConfigService) SetConfig(c *AuthConfig) { 13 s.config = c 14 } 15 16 // SaveUserAuth saves the given user auth for the server url 17 func (s *AuthConfigService) SaveUserAuth(url string, userAuth *UserAuth) error { 18 config := s.config 19 config.SetUserAuth(url, userAuth) 20 user := userAuth.Username 21 if user != "" { 22 config.DefaultUsername = user 23 } 24 25 // Set Pipeline user once only. 26 if config.PipeLineUsername == "" { 27 config.PipeLineUsername = user 28 config.PipeLineServer = url 29 } 30 31 config.CurrentServer = url 32 return s.handler.SaveConfig(s.config) 33 } 34 35 // DeleteServer removes the given server from the configuration 36 func (s *AuthConfigService) DeleteServer(url string) error { 37 s.config.DeleteServer(url) 38 return s.handler.SaveConfig(s.config) 39 } 40 41 // LoadConfig loads the configuration from the users JX config directory 42 func (s *AuthConfigService) LoadConfig() (*AuthConfig, error) { 43 var err error 44 s.config, err = s.handler.LoadConfig() 45 return s.config, err 46 } 47 48 // SaveConfig saves the configuration to disk 49 func (s *AuthConfigService) SaveConfig() error { 50 return s.handler.SaveConfig(s.Config()) 51 } 52 53 // NewAuthConfigService generates a AuthConfigService with a custom saver. This should not be used directly 54 func NewAuthConfigService(handler ConfigHandler) *AuthConfigService { 55 return &AuthConfigService{handler: handler} 56 }