feat: add lockPassword to cli

License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>
This commit is contained in:
Henrique Dias 2018-12-29 20:17:08 +00:00
parent 9adb60206c
commit 0544381818
5 changed files with 19 additions and 16 deletions

View File

@ -35,13 +35,13 @@ func addConfigFlags(cmd *cobra.Command) {
cmd.Flags().String("auth.method", string(auth.MethodJSONAuth), "authentication type") cmd.Flags().String("auth.method", string(auth.MethodJSONAuth), "authentication type")
cmd.Flags().String("auth.header", "", "HTTP header for auth.method=proxy") cmd.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") cmd.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") cmd.Flags().String("recaptcha.key", "", "ReCaptcha site key")
cmd.Flags().String("recaptcha.secret", "", "ReCaptcha secret") cmd.Flags().String("recaptcha.secret", "", "ReCaptcha secret")
cmd.Flags().String("branding.name", "", "Replace 'File Browser' by this name") cmd.Flags().String("branding.name", "", "replace 'File Browser' by this name")
cmd.Flags().String("branding.files", "", "Path to directory with images and custom styles") cmd.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") cmd.Flags().Bool("branding.disableExternal", false, "disable external links such as GitHub links")
} }
func getAuthentication(cmd *cobra.Command) (types.AuthMethod, types.Auther) { func getAuthentication(cmd *cobra.Command) (types.AuthMethod, types.Auther) {

View File

@ -28,10 +28,10 @@ var usersCmd = &cobra.Command{
func printUsers(users []*types.User) { func printUsers(users []*types.User) {
w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0)
fmt.Fprintln(w, "ID\tUsername\tScope\tLocale\tV. Mode\tAdmin\tExecute\tCreate\tRename\tModify\tDelete\tShare\tDownload") fmt.Fprintln(w, "ID\tUsername\tScope\tLocale\tV. Mode\tAdmin\tExecute\tCreate\tRename\tModify\tDelete\tShare\tDownload\tPwd Lock")
for _, user := range users { for _, user := range users {
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\n", 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\n",
user.ID, user.ID,
user.Username, user.Username,
user.Scope, user.Scope,
@ -45,6 +45,7 @@ func printUsers(users []*types.User) {
user.Perm.Delete, user.Perm.Delete,
user.Perm.Share, user.Perm.Share,
user.Perm.Download, user.Perm.Download,
user.LockPassword,
) )
} }
@ -72,6 +73,7 @@ func addUserFlags(cmd *cobra.Command) {
cmd.Flags().Bool("perm.delete", true, "delete perm for users") cmd.Flags().Bool("perm.delete", true, "delete perm for users")
cmd.Flags().Bool("perm.share", true, "share perm for users") cmd.Flags().Bool("perm.share", true, "share perm for users")
cmd.Flags().Bool("perm.download", true, "download perm for users") cmd.Flags().Bool("perm.download", true, "download perm for users")
cmd.Flags().Bool("lockPassword", false, "lock password")
cmd.Flags().String("scope", "", "scope for users") cmd.Flags().String("scope", "", "scope for users")
cmd.Flags().String("locale", "en", "locale for users") cmd.Flags().String("locale", "en", "locale for users")
cmd.Flags().String("viewMode", string(types.ListViewMode), "view mode for users") cmd.Flags().String("viewMode", string(types.ListViewMode), "view mode for users")

View File

@ -31,14 +31,14 @@ var usersNewCmd = &cobra.Command{
checkErr(err) checkErr(err)
getUserDefaults(cmd, &settings.Defaults, false) getUserDefaults(cmd, &settings.Defaults, false)
username, _ := cmd.Flags().GetString("username")
password, _ := cmd.Flags().GetString("password") password, _ := cmd.Flags().GetString("password")
password, err = types.HashPwd(password) password, err = types.HashPwd(password)
checkErr(err) checkErr(err)
user := &types.User{ user := &types.User{
Username: username, Username: mustGetString(cmd, "username"),
Password: password, Password: password,
LockPassword: mustGetBool(cmd, "lockPassword"),
Scope: settings.Defaults.Scope, Scope: settings.Defaults.Scope,
Locale: settings.Defaults.Locale, Locale: settings.Defaults.Locale,
ViewMode: settings.Defaults.ViewMode, ViewMode: settings.Defaults.ViewMode,

View File

@ -27,8 +27,8 @@ options you want to change.`,
st := storage.UsersStore{DB: db} st := storage.UsersStore{DB: db}
id, _ := cmd.Flags().GetUint("id") id, _ := cmd.Flags().GetUint("id")
username, _ := cmd.Flags().GetString("username") username := mustGetString(cmd, "username")
password, _ := cmd.Flags().GetString("password") password := mustGetString(cmd, "password")
var user *types.User var user *types.User
var err error var err error
@ -52,6 +52,7 @@ options you want to change.`,
user.Locale = defaults.Locale user.Locale = defaults.Locale
user.ViewMode = defaults.ViewMode user.ViewMode = defaults.ViewMode
user.Perm = defaults.Perm user.Perm = defaults.Perm
user.LockPassword = mustGetBool(cmd, "lockPassword")
if user.Username != username && username != "" { if user.Username != username && username != "" {
user.Username = username user.Username = username

View File

@ -33,7 +33,7 @@ type User struct {
Password string `json:"password"` Password string `json:"password"`
Scope string `json:"scope"` Scope string `json:"scope"`
Locale string `json:"locale"` Locale string `json:"locale"`
LockPassword bool `json:"lockPassword"` // TODO: add to cli LockPassword bool `json:"lockPassword"`
ViewMode ViewMode `json:"viewMode"` ViewMode ViewMode `json:"viewMode"`
Perm Permissions `json:"perm"` Perm Permissions `json:"perm"`
Sorting Sorting `json:"sorting"` // TODO: add to cli Sorting Sorting `json:"sorting"` // TODO: add to cli