1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-24 17:45:58 +01:00

Implement list-users command.

This commit is contained in:
Juliusz Chroboczek 2024-10-27 15:03:27 +01:00
parent 06e6b14391
commit 8446a39efc

View file

@ -64,6 +64,10 @@ var commands = map[string]command{
command: deleteGroupCmd, command: deleteGroupCmd,
description: "delete a group", description: "delete a group",
}, },
"list-users": {
command: listUsersCmd,
description: "list users",
},
"create-user": { "create-user": {
command: createUserCmd, command: createUserCmd,
description: "create a user", description: "create a user",
@ -681,6 +685,42 @@ func parsePermissions(p string, expand bool) (any, error) {
return pp.Permissions(nil), nil return pp.Permissions(nil), nil
} }
func listUsersCmd(cmdname string, args []string) {
var groupname string
cmd := flag.NewFlagSet(cmdname, flag.ExitOnError)
setUsage(cmd, cmdname,
"%v [option...] %v [option...]\n",
os.Args[0], cmdname,
)
cmd.StringVar(&groupname, "group", "", "group")
cmd.Parse(args)
if cmd.NArg() != 0 {
cmd.Usage()
os.Exit(1)
}
if groupname == "" {
fmt.Fprintf(cmd.Output(),
"Option \"-group\" is required\n")
os.Exit(1)
}
u, err := url.JoinPath(serverURL, "/galene-api/v0/.groups/", groupname,
".users/")
if err != nil {
log.Fatalf("Build URL: %v", err)
}
var users []string
err = getJSON(u, &users)
if err != nil {
log.Fatalf("Get users: %v", err)
}
for _, user := range users {
fmt.Println(user)
}
}
func createUserCmd(cmdname string, args []string) { func createUserCmd(cmdname string, args []string) {
var groupname, username string var groupname, username string
var wildcard bool var wildcard bool