github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/prompts/internal/token_from_web.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/pterm/pterm"
     5  	"github.com/taubyte/tau-cli/flags"
     6  	"github.com/taubyte/tau-cli/prompts"
     7  	loginPrompts "github.com/taubyte/tau-cli/prompts/login"
     8  	"github.com/urfave/cli/v2"
     9  )
    10  
    11  var WebTokenCommand = &cli.Command{
    12  	Name: "token_from_web",
    13  	Flags: []cli.Flag{
    14  		flags.Provider,
    15  	},
    16  	Action: func(ctx *cli.Context) (err error) {
    17  		var provider string
    18  		if ctx.IsSet(flags.Provider.Name) {
    19  			provider = ctx.String(flags.Provider.Name)
    20  		}
    21  
    22  		if len(provider) == 0 {
    23  			provider, err = prompts.SelectInterface(loginPrompts.Providers, loginPrompts.GitProviderPrompt, loginPrompts.DefaultProvider)
    24  			if err != nil {
    25  				return err
    26  			}
    27  		}
    28  
    29  		// New
    30  		token, err := loginPrompts.TokenFromWeb(ctx, provider)
    31  		if err != nil {
    32  			return err
    33  		}
    34  
    35  		pterm.Success.Printfln("Got token `%s`", token)
    36  		return nil
    37  	},
    38  }