Checkpoint audio-only Skald fork work
This commit is contained in:
+35
-35
@@ -66,23 +66,23 @@ var commands = map[string]command{
|
||||
description: "delete a user's password",
|
||||
},
|
||||
"list-halls": {
|
||||
command: listGroupsCmd,
|
||||
command: listHallsCmd,
|
||||
description: "list halls",
|
||||
},
|
||||
"show-hall": {
|
||||
command: showGroupCmd,
|
||||
command: showHallCmd,
|
||||
description: "show hall definition",
|
||||
},
|
||||
"create-hall": {
|
||||
command: createGroupCmd,
|
||||
command: createHallCmd,
|
||||
description: "create a hall",
|
||||
},
|
||||
"update-hall": {
|
||||
command: updateGroupCmd,
|
||||
command: updateHallCmd,
|
||||
description: "change a hall's definition",
|
||||
},
|
||||
"delete-hall": {
|
||||
command: deleteGroupCmd,
|
||||
command: deleteHallCmd,
|
||||
description: "delete a hall",
|
||||
},
|
||||
"list-users": {
|
||||
@@ -412,8 +412,8 @@ func initialSetupCmd(cmdname string, args []string) {
|
||||
}
|
||||
|
||||
config := hall.Configuration{
|
||||
WritableGroups: true,
|
||||
Users: users,
|
||||
WritableHalls: true,
|
||||
Users: users,
|
||||
}
|
||||
|
||||
encoder := json.NewEncoder(skaldConfig)
|
||||
@@ -795,9 +795,9 @@ func stdinJSON(doit bool) (map[string]any, error) {
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func createGroupCmd(cmdname string, args []string) {
|
||||
func createHallCmd(cmdname string, args []string) {
|
||||
var hallname string
|
||||
var unrestrictedTokens, autoSubgroups boolOption
|
||||
var unrestrictedTokens, autoSubhalls boolOption
|
||||
var doJSON bool
|
||||
cmd := flag.NewFlagSet(cmdname, flag.ExitOnError)
|
||||
setUsage(cmd, cmdname,
|
||||
@@ -808,8 +808,8 @@ func createGroupCmd(cmdname string, args []string) {
|
||||
cmd.Var(&unrestrictedTokens, "unrestricted-tokens",
|
||||
"allow ordinary users to create tokens",
|
||||
)
|
||||
cmd.Var(&autoSubgroups, "auto-subgroups",
|
||||
"create subgroups automatically",
|
||||
cmd.Var(&autoSubhalls, "auto-subhalls",
|
||||
"create subhalls automatically",
|
||||
)
|
||||
cmd.BoolVar(&doJSON, "json", false,
|
||||
"read JSON template from standard input",
|
||||
@@ -842,8 +842,8 @@ func createGroupCmd(cmdname string, args []string) {
|
||||
if unrestrictedTokens.set {
|
||||
data["unrestricted-tokens"] = unrestrictedTokens.value
|
||||
}
|
||||
if autoSubgroups.set {
|
||||
data["auto-subgroups"] = autoSubgroups.value
|
||||
if autoSubhalls.set {
|
||||
data["auto-subhalls"] = autoSubhalls.value
|
||||
}
|
||||
|
||||
err = putJSON(u, data, false)
|
||||
@@ -852,7 +852,7 @@ func createGroupCmd(cmdname string, args []string) {
|
||||
}
|
||||
}
|
||||
|
||||
func deleteGroupCmd(cmdname string, args []string) {
|
||||
func deleteHallCmd(cmdname string, args []string) {
|
||||
var hallname string
|
||||
cmd := flag.NewFlagSet(cmdname, flag.ExitOnError)
|
||||
setUsage(cmd, cmdname,
|
||||
@@ -886,9 +886,9 @@ func deleteGroupCmd(cmdname string, args []string) {
|
||||
}
|
||||
}
|
||||
|
||||
func updateGroupCmd(cmdname string, args []string) {
|
||||
func updateHallCmd(cmdname string, args []string) {
|
||||
var hallname string
|
||||
var unrestrictedTokens, autoSubgroups boolOption
|
||||
var unrestrictedTokens, autoSubhalls boolOption
|
||||
var doJSON bool
|
||||
cmd := flag.NewFlagSet(cmdname, flag.ExitOnError)
|
||||
setUsage(cmd, cmdname,
|
||||
@@ -899,8 +899,8 @@ func updateGroupCmd(cmdname string, args []string) {
|
||||
cmd.Var(&unrestrictedTokens, "unrestricted-tokens",
|
||||
"allow ordinary users to create tokens",
|
||||
)
|
||||
cmd.Var(&autoSubgroups, "auto-subgroups",
|
||||
"create subgroups automatically",
|
||||
cmd.Var(&autoSubhalls, "auto-subhalls",
|
||||
"create subhalls automatically",
|
||||
)
|
||||
cmd.BoolVar(&doJSON, "json", false,
|
||||
"read JSON template from standard input",
|
||||
@@ -936,14 +936,14 @@ func updateGroupCmd(cmdname string, args []string) {
|
||||
if unrestrictedTokens.set {
|
||||
m["unrestricted-tokens"] = unrestrictedTokens.value
|
||||
}
|
||||
if autoSubgroups.set {
|
||||
m["auto-subgroups"] = autoSubgroups.value
|
||||
if autoSubhalls.set {
|
||||
m["auto-subhalls"] = autoSubhalls.value
|
||||
}
|
||||
return m
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
log.Fatalf("Update group: %v", err)
|
||||
log.Fatalf("Update hall: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1269,7 +1269,7 @@ func deleteUserCmd(cmdname string, args []string) {
|
||||
}
|
||||
}
|
||||
|
||||
func showGroupCmd(cmdname string, args []string) {
|
||||
func showHallCmd(cmdname string, args []string) {
|
||||
var hallname string
|
||||
cmd := flag.NewFlagSet(cmdname, flag.ExitOnError)
|
||||
setUsage(cmd, cmdname,
|
||||
@@ -1306,7 +1306,7 @@ func showGroupCmd(cmdname string, args []string) {
|
||||
}
|
||||
}
|
||||
|
||||
func listGroupsCmd(cmdname string, args []string) {
|
||||
func listHallsCmd(cmdname string, args []string) {
|
||||
cmd := flag.NewFlagSet(cmdname, flag.ExitOnError)
|
||||
setUsage(cmd, cmdname,
|
||||
"%v [option...] %v [pattern...]\n",
|
||||
@@ -1320,17 +1320,17 @@ func listGroupsCmd(cmdname string, args []string) {
|
||||
log.Fatalf("Build URL: %v", err)
|
||||
}
|
||||
|
||||
var groups []string
|
||||
_, err = getJSON(u, &groups)
|
||||
var halls []string
|
||||
_, err = getJSON(u, &halls)
|
||||
if err != nil {
|
||||
log.Fatalf("Get halls: %v", err)
|
||||
}
|
||||
sort.Slice(groups, func(i, j int) bool {
|
||||
return groups[i] < groups[j]
|
||||
sort.Slice(halls, func(i, j int) bool {
|
||||
return halls[i] < halls[j]
|
||||
})
|
||||
for _, g := range groups {
|
||||
for _, h := range halls {
|
||||
if len(patterns) > 0 {
|
||||
found, err := match(patterns, g)
|
||||
found, err := match(patterns, h)
|
||||
if err != nil {
|
||||
log.Fatalf("Match: %v", err)
|
||||
}
|
||||
@@ -1338,7 +1338,7 @@ func listGroupsCmd(cmdname string, args []string) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
fmt.Println(g)
|
||||
fmt.Println(h)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1409,7 +1409,7 @@ func listTokensCmd(cmdname string, args []string) {
|
||||
exp = tt.Expires.Format(time.DateTime)
|
||||
}
|
||||
var perms []byte
|
||||
if tt.IncludeSubgroups {
|
||||
if tt.IncludeSubhalls {
|
||||
perms = append(perms, 'H')
|
||||
}
|
||||
for _, p := range tt.Permissions {
|
||||
@@ -1432,13 +1432,13 @@ func listTokensCmd(cmdname string, args []string) {
|
||||
func createTokenCmd(cmdname string, args []string) {
|
||||
var hallname stringOption
|
||||
var username, permissions string
|
||||
var includeSubgroups boolOption
|
||||
var includeSubhalls boolOption
|
||||
cmd := flag.NewFlagSet(cmdname, flag.ExitOnError)
|
||||
setUsage(cmd, cmdname, "%v [option...] %v [option...]\n",
|
||||
os.Args[0], cmdname,
|
||||
)
|
||||
cmd.Var(&hallname, "hall", "hall `name`")
|
||||
cmd.Var(&includeSubgroups, "include-subgroups", "include subgroups")
|
||||
cmd.Var(&includeSubhalls, "include-subhalls", "include subhalls")
|
||||
cmd.StringVar(&username, "user", "", "encode user `name` in token")
|
||||
cmd.StringVar(&permissions, "permissions", "present", "permissions")
|
||||
cmd.Parse(args)
|
||||
@@ -1464,8 +1464,8 @@ func createTokenCmd(cmdname string, args []string) {
|
||||
if username != "" {
|
||||
t["username"] = username
|
||||
}
|
||||
if includeSubgroups.set {
|
||||
t["includeSubgroups"] = includeSubgroups.value
|
||||
if includeSubhalls.set {
|
||||
t["includeSubhalls"] = includeSubhalls.value
|
||||
}
|
||||
|
||||
u, err := url.JoinPath(
|
||||
|
||||
Reference in New Issue
Block a user