github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/cli/commands/login/new.go (about) 1 package login 2 3 import ( 4 loginFlags "github.com/taubyte/tau-cli/flags/login" 5 loginI18n "github.com/taubyte/tau-cli/i18n/login" 6 loginLib "github.com/taubyte/tau-cli/lib/login" 7 "github.com/taubyte/tau-cli/prompts" 8 loginPrompts "github.com/taubyte/tau-cli/prompts/login" 9 "github.com/urfave/cli/v2" 10 ) 11 12 func New(ctx *cli.Context, options []string) error { 13 name := prompts.GetOrRequireAName(ctx, loginPrompts.ProfileName) 14 15 var setDefault bool 16 if len(options) > 0 { 17 setDefault = prompts.GetOrAskForBool(ctx, loginFlags.SetDefault.Name, loginPrompts.UseAsDefault) 18 } else { 19 setDefault = true 20 } 21 22 provider, token, err := loginPrompts.GetOrRequireAProviderAndToken(ctx) 23 if err != nil { 24 return err // Already verbose 25 } 26 27 err = loginLib.New(name, provider, token, setDefault) 28 if err != nil { 29 return loginI18n.CreateFailed(name, err) 30 } 31 32 if setDefault { 33 loginI18n.CreatedDefault(name) 34 } else { 35 loginI18n.Created(name) 36 } 37 38 return Select(ctx, name, false) 39 }