feat: simplify flag adding

License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: 520945c4cd979999ce7da8cc60544e1e390de3fe [formerly 5c73f94c28f67f0fb25ecff7ce999480ff0d873f] [formerly bdb85560ceeac89408c8588213ef88c5b774c8c7 [formerly fc06f642f2]]
Former-commit-id: dc0c81b78cdec8656bd25dad84f9589486300d34 [formerly b18cd1e0bced8b34b31863fb7c4e714905bbf0d9]
Former-commit-id: cd84e54f28b9c56c3ced9da79f7fcb9a659f674a
pull/726/head
Henrique Dias 2019-01-08 10:50:37 +00:00
parent 01929c72ea
commit 684366e050
6 changed files with 33 additions and 32 deletions

View File

@ -12,6 +12,7 @@ import (
"github.com/filebrowser/filebrowser/v2/errors" "github.com/filebrowser/filebrowser/v2/errors"
"github.com/filebrowser/filebrowser/v2/settings" "github.com/filebrowser/filebrowser/v2/settings"
"github.com/spf13/cobra" "github.com/spf13/cobra"
"github.com/spf13/pflag"
) )
func init() { func init() {
@ -25,21 +26,21 @@ var configCmd = &cobra.Command{
Args: cobra.NoArgs, Args: cobra.NoArgs,
} }
func addConfigFlags(cmd *cobra.Command) { func addConfigFlags(flags *pflag.FlagSet) {
addUserFlags(cmd) addUserFlags(flags)
cmd.Flags().BoolP("signup", "s", false, "allow users to signup") flags.BoolP("signup", "s", false, "allow users to signup")
cmd.Flags().String("shell", "", "shell command to which other commands should be appended") flags.String("shell", "", "shell command to which other commands should be appended")
cmd.Flags().String("auth.method", string(auth.MethodJSONAuth), "authentication type") flags.String("auth.method", string(auth.MethodJSONAuth), "authentication type")
cmd.Flags().String("auth.header", "", "HTTP header for auth.method=proxy") flags.String("auth.header", "", "HTTP header for auth.method=proxy")
cmd.Flags().String("recaptcha.host", "https://www.google.com", "use another host for ReCAPTCHA. recaptcha.net might be useful in China") flags.String("recaptcha.host", "https://www.google.com", "use another host for ReCAPTCHA. recaptcha.net might be useful in China")
cmd.Flags().String("recaptcha.key", "", "ReCaptcha site key") flags.String("recaptcha.key", "", "ReCaptcha site key")
cmd.Flags().String("recaptcha.secret", "", "ReCaptcha secret") flags.String("recaptcha.secret", "", "ReCaptcha secret")
cmd.Flags().String("branding.name", "", "replace 'File Browser' by this name") flags.String("branding.name", "", "replace 'File Browser' by this name")
cmd.Flags().String("branding.files", "", "path to directory with images and custom styles") flags.String("branding.files", "", "path to directory with images and custom styles")
cmd.Flags().Bool("branding.disableExternal", false, "disable external links such as GitHub links") flags.Bool("branding.disableExternal", false, "disable external links such as GitHub links")
} }
func getAuthentication(cmd *cobra.Command) (settings.AuthMethod, auth.Auther) { func getAuthentication(cmd *cobra.Command) (settings.AuthMethod, auth.Auther) {

View File

@ -10,7 +10,7 @@ import (
func init() { func init() {
configCmd.AddCommand(configInitCmd) configCmd.AddCommand(configInitCmd)
addConfigFlags(configInitCmd) addConfigFlags(configInitCmd.Flags())
} }
var configInitCmd = &cobra.Command{ var configInitCmd = &cobra.Command{

View File

@ -10,7 +10,7 @@ import (
func init() { func init() {
configCmd.AddCommand(configSetCmd) configCmd.AddCommand(configSetCmd)
addConfigFlags(configSetCmd) addConfigFlags(configSetCmd.Flags())
} }
var configSetCmd = &cobra.Command{ var configSetCmd = &cobra.Command{

View File

@ -58,22 +58,22 @@ func parseUsernameOrID(arg string) (string, uint) {
return "", uint(id) return "", uint(id)
} }
func addUserFlags(cmd *cobra.Command) { func addUserFlags(flags *pflag.FlagSet) {
cmd.Flags().Bool("perm.admin", false, "admin perm for users") flags.Bool("perm.admin", false, "admin perm for users")
cmd.Flags().Bool("perm.execute", true, "execute perm for users") flags.Bool("perm.execute", true, "execute perm for users")
cmd.Flags().Bool("perm.create", true, "create perm for users") flags.Bool("perm.create", true, "create perm for users")
cmd.Flags().Bool("perm.rename", true, "rename perm for users") flags.Bool("perm.rename", true, "rename perm for users")
cmd.Flags().Bool("perm.modify", true, "modify perm for users") flags.Bool("perm.modify", true, "modify perm for users")
cmd.Flags().Bool("perm.delete", true, "delete perm for users") flags.Bool("perm.delete", true, "delete perm for users")
cmd.Flags().Bool("perm.share", true, "share perm for users") flags.Bool("perm.share", true, "share perm for users")
cmd.Flags().Bool("perm.download", true, "download perm for users") flags.Bool("perm.download", true, "download perm for users")
cmd.Flags().String("sorting.by", "name", "sorting mode (name, size or modified)") flags.String("sorting.by", "name", "sorting mode (name, size or modified)")
cmd.Flags().Bool("sorting.asc", false, "sorting by ascending order") flags.Bool("sorting.asc", false, "sorting by ascending order")
cmd.Flags().Bool("lockPassword", false, "lock password") flags.Bool("lockPassword", false, "lock password")
cmd.Flags().StringSlice("commands", nil, "a list of the commands a user can execute") flags.StringSlice("commands", nil, "a list of the commands a user can execute")
cmd.Flags().String("scope", ".", "scope for users") flags.String("scope", ".", "scope for users")
cmd.Flags().String("locale", "en", "locale for users") flags.String("locale", "en", "locale for users")
cmd.Flags().String("viewMode", string(users.ListViewMode), "view mode for users") flags.String("viewMode", string(users.ListViewMode), "view mode for users")
} }
func getViewMode(cmd *cobra.Command) users.ViewMode { func getViewMode(cmd *cobra.Command) users.ViewMode {

View File

@ -7,7 +7,7 @@ import (
func init() { func init() {
usersCmd.AddCommand(usersAddCmd) usersCmd.AddCommand(usersAddCmd)
addUserFlags(usersAddCmd) addUserFlags(usersAddCmd.Flags())
} }
var usersAddCmd = &cobra.Command{ var usersAddCmd = &cobra.Command{

View File

@ -11,7 +11,7 @@ func init() {
usersUpdateCmd.Flags().StringP("password", "p", "", "new password") usersUpdateCmd.Flags().StringP("password", "p", "", "new password")
usersUpdateCmd.Flags().StringP("username", "u", "", "new username") usersUpdateCmd.Flags().StringP("username", "u", "", "new username")
addUserFlags(usersUpdateCmd) addUserFlags(usersUpdateCmd.Flags())
} }
var usersUpdateCmd = &cobra.Command{ var usersUpdateCmd = &cobra.Command{