github.com/leg100/ots@v0.0.7-0.20210919080622-034055ced4bd/cmd/ots/login.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/spf13/cobra"
     7  )
     8  
     9  const (
    10  	DummyToken = "dummy"
    11  )
    12  
    13  func LoginCommand(dirs Directories) *cobra.Command {
    14  	var address string
    15  
    16  	cmd := &cobra.Command{
    17  		Use:   "login",
    18  		Short: "Login to OTS",
    19  		RunE: func(cmd *cobra.Command, args []string) error {
    20  			store, err := NewCredentialsStore(dirs)
    21  			if err != nil {
    22  				return err
    23  			}
    24  
    25  			if err := store.Save(address, DummyToken); err != nil {
    26  				return err
    27  			}
    28  
    29  			fmt.Printf("Successfully added credentials for %s to %s\n", address, store)
    30  
    31  			return nil
    32  		},
    33  	}
    34  
    35  	cmd.Flags().StringVar(&address, "address", DefaultAddress, "Address of OTS instance")
    36  
    37  	return cmd
    38  }