1package cmd
 2
 3import (
 4	"github.com/charmbracelet/soft-serve/server/backend"
 5	"github.com/spf13/cobra"
 6)
 7
 8func infoCommand() *cobra.Command {
 9	cmd := &cobra.Command{
10		Use:   "info",
11		Short: "Show your info",
12		Args:  cobra.NoArgs,
13		RunE: func(cmd *cobra.Command, args []string) error {
14			cfg, s := fromContext(cmd)
15			user, err := cfg.Backend.UserByPublicKey(s.PublicKey())
16			if err != nil {
17				return err
18			}
19
20			cmd.Printf("Username: %s\n", user.Username())
21			cmd.Printf("Admin: %t\n", user.IsAdmin())
22			cmd.Printf("Public keys:\n")
23			for _, pk := range user.PublicKeys() {
24				cmd.Printf("  %s\n", backend.MarshalAuthorizedKey(pk))
25			}
26			return nil
27		},
28	}
29
30	return cmd
31}