mirror of
https://github.com/micromdm/micromdm/
synced 2026-06-25 15:35:46 +08:00
47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
"text/tabwriter"
|
|
|
|
"github.com/micromdm/micromdm/platform/user"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
type usersTableOutput struct{ w *tabwriter.Writer }
|
|
|
|
func (out *usersTableOutput) BasicHeader() {
|
|
fmt.Fprintf(out.w, "UUID\tUDID\tUserID\tUserShortName\tUserLongName\n")
|
|
}
|
|
|
|
func (out *usersTableOutput) BasicFooter() {
|
|
out.w.Flush()
|
|
}
|
|
|
|
func (cmd *getCommand) getUsers(args []string) error {
|
|
flagset := flag.NewFlagSet("users", flag.ExitOnError)
|
|
flagset.Usage = usageFor(flagset, "mdmctl get users [flags]")
|
|
if err := flagset.Parse(args); err != nil {
|
|
return err
|
|
}
|
|
|
|
w := tabwriter.NewWriter(os.Stdout, 0, 4, 2, ' ', 0)
|
|
out := &usersTableOutput{w}
|
|
out.BasicHeader()
|
|
defer out.BasicFooter()
|
|
|
|
users, err := cmd.usersvc.ListUsers(context.TODO(), user.ListUsersOption{})
|
|
if err != nil {
|
|
return errors.Wrap(err, "list users")
|
|
}
|
|
|
|
for _, u := range users {
|
|
fmt.Fprintf(out.w, "%s\t%s\t%s\t%v\t%s\n", u.UUID, u.UDID, u.UserID, u.UserShortname, u.UserLongname)
|
|
}
|
|
|
|
return nil
|
|
}
|