1package cmd23import (4 "github.com/charmbracelet/soft-serve/pkg/backend"5 "github.com/charmbracelet/soft-serve/pkg/sshutils"6 "github.com/spf13/cobra"7)89// InfoCommand returns a command that shows the user's info10func InfoCommand() *cobra.Command {11 cmd := &cobra.Command{12 Use: "info",13 Short: "Show your info",14 Args: cobra.NoArgs,15 RunE: func(cmd *cobra.Command, _ []string) error {16 ctx := cmd.Context()17 be := backend.FromContext(ctx)18 pk := sshutils.PublicKeyFromContext(ctx)19 user, err := be.UserByPublicKey(ctx, pk)20 if err != nil {21 return err22 }2324 cmd.Printf("Username: %s\n", user.Username())25 cmd.Printf("Admin: %t\n", user.IsAdmin())26 cmd.Printf("Public keys:\n")27 for _, pk := range user.PublicKeys() {28 cmd.Printf(" %s\n", sshutils.MarshalAuthorizedKey(pk))29 }30 return nil31 },32 }3334 return cmd35}