github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state/internal/cmdtree/auth.go (about)

     1  package cmdtree
     2  
     3  import (
     4  	"github.com/ActiveState/cli/internal/captain"
     5  	"github.com/ActiveState/cli/internal/locale"
     6  	"github.com/ActiveState/cli/internal/primer"
     7  	"github.com/ActiveState/cli/internal/runners/auth"
     8  )
     9  
    10  func newAuthCommand(prime *primer.Values, globals *globalOptions) *captain.Command {
    11  	authRunner := auth.NewAuth(prime)
    12  
    13  	params := auth.AuthParams{}
    14  
    15  	return captain.NewCommand(
    16  		"auth",
    17  		locale.Tl("auth_title", "Signing In To The ActiveState Platform"),
    18  		locale.T("auth_description"),
    19  		prime,
    20  		[]*captain.Flag{
    21  			{
    22  				Name:        "token",
    23  				Shorthand:   "",
    24  				Description: locale.T("flag_state_auth_token_description"),
    25  				Value:       &params.Token,
    26  			},
    27  			{
    28  				Name:        "username",
    29  				Shorthand:   "",
    30  				Description: locale.T("flag_state_auth_username_description"),
    31  				Value:       &params.Username,
    32  			},
    33  			{
    34  				Name:        "password",
    35  				Shorthand:   "",
    36  				Description: locale.T("flag_state_auth_password_description"),
    37  				Value:       &params.Password,
    38  			},
    39  			{
    40  				Name:        "totp",
    41  				Shorthand:   "",
    42  				Description: locale.T("flag_state_auth_totp_description"),
    43  				Value:       &params.Totp,
    44  			},
    45  			{
    46  				Name:        "prompt",
    47  				Shorthand:   "",
    48  				Description: locale.T("flag_state_auth_interactive_description"),
    49  				Value:       &params.Prompt,
    50  			},
    51  		},
    52  		[]*captain.Argument{},
    53  		func(ccmd *captain.Command, args []string) error {
    54  			params.NonInteractive = globals.NonInteractive
    55  			return authRunner.Run(&params)
    56  		},
    57  	).SetGroup(PlatformGroup).SetSupportsStructuredOutput()
    58  }
    59  
    60  func newSignupCommand(prime *primer.Values) *captain.Command {
    61  	signupRunner := auth.NewSignup(prime)
    62  	params := auth.SignupParams{}
    63  	return captain.NewCommand(
    64  		"signup",
    65  		locale.Tl("signup_title", "Signing Up With The ActiveState Platform"),
    66  		locale.T("signup_description"),
    67  		prime,
    68  		[]*captain.Flag{},
    69  		[]*captain.Argument{},
    70  		func(ccmd *captain.Command, args []string) error {
    71  			return signupRunner.Run(&params)
    72  		},
    73  	)
    74  }
    75  
    76  func newLogoutCommand(prime *primer.Values) *captain.Command {
    77  	logoutRunner := auth.NewLogout(prime)
    78  	return captain.NewCommand(
    79  		"logout",
    80  		locale.Tl("logout_title", "Logging Out Of The ActiveState Platform"),
    81  		locale.T("logout_description"),
    82  		prime,
    83  		[]*captain.Flag{},
    84  		[]*captain.Argument{},
    85  		func(ccmd *captain.Command, args []string) error {
    86  			return logoutRunner.Run()
    87  		},
    88  	)
    89  }