set_username.go
 1package cmd
 2
 3import "github.com/spf13/cobra"
 4
 5func setUsernameCommand() *cobra.Command {
 6	cmd := &cobra.Command{
 7		Use:   "set-username USERNAME",
 8		Short: "Set your username",
 9		Args:  cobra.ExactArgs(1),
10		RunE: func(cmd *cobra.Command, args []string) error {
11			cfg, s := fromContext(cmd)
12			user, err := cfg.Backend.UserByPublicKey(s.PublicKey())
13			if err != nil {
14				return err
15			}
16
17			return cfg.Backend.SetUsername(user.Username(), args[0])
18		},
19	}
20
21	return cmd
22}