Files
kopia/cli/command_user_info.go
2021-05-06 20:26:35 -07:00

41 lines
879 B
Go

package cli
import (
"context"
"encoding/json"
"github.com/pkg/errors"
"github.com/kopia/kopia/internal/user"
"github.com/kopia/kopia/repo"
)
type commandServerUserInfo struct {
name string
out textOutput
}
func (c *commandServerUserInfo) setup(svc appServices, parent commandParent) {
cmd := parent.Command("info", "Info about particular user")
cmd.Arg("username", "The username to look up.").Required().StringVar(&c.name)
cmd.Action(svc.repositoryReaderAction(c.run))
c.out.setup(svc)
}
func (c *commandServerUserInfo) run(ctx context.Context, rep repo.Repository) error {
up, err := user.GetUserProfile(ctx, rep, c.name)
if err != nil {
return errors.Wrap(err, "error getting user profile")
}
j, err := json.MarshalIndent(up, "", " ")
if err != nil {
return errors.Wrap(err, "error marshaling JSON")
}
c.out.printStdout("%s", j)
return nil
}