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}