filebrowser/backend/cmd/users.go

55 lines
1.1 KiB
Go
Raw Normal View History

package cmd
import (
"fmt"
"os"
"strconv"
"text/tabwriter"
"github.com/spf13/cobra"
2020-05-31 23:12:36 +00:00
2024-12-17 00:01:55 +00:00
"github.com/gtsteffaniak/filebrowser/backend/users"
)
var usersCmd = &cobra.Command{
Use: "users",
Short: "Users management utility",
Long: `Users management utility.`,
Args: cobra.NoArgs,
}
2020-05-31 23:12:36 +00:00
func printUsers(usrs []*users.User) {
2021-07-26 10:00:05 +00:00
w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) //nolint:gomnd
2020-11-23 18:06:37 +00:00
fmt.Fprintln(w, "ID\tUsername\tScope\tLocale\tV. Mode\tS.Click\tAdmin\tExecute\tCreate\tRename\tModify\tDelete\tShare\tDownload\tPwd Lock")
2020-05-31 23:12:36 +00:00
for _, u := range usrs {
2020-11-23 18:06:37 +00:00
fmt.Fprintf(w, "%d\t%s\t%s\t%s\t%s\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t%t\t\n",
2020-05-31 23:12:36 +00:00
u.ID,
u.Username,
u.Scope,
u.Locale,
u.ViewMode,
2020-11-23 18:06:37 +00:00
u.SingleClick,
2020-05-31 23:12:36 +00:00
u.Perm.Admin,
u.Perm.Execute,
u.Perm.Create,
u.Perm.Rename,
u.Perm.Modify,
u.Perm.Delete,
u.Perm.Share,
u.Perm.Download,
u.LockPassword,
)
}
w.Flush()
}
2020-05-31 23:12:36 +00:00
func parseUsernameOrID(arg string) (username string, id uint) {
2023-02-16 08:11:12 +00:00
id64, err := strconv.ParseUint(arg, 10, 64)
if err != nil {
return arg, 0
}
2020-05-31 23:12:36 +00:00
return "", uint(id64)
}