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.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.secret", "", "ReCaptcha secret")
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().Bool("branding.disableExternal", false, "Disable external links such as GitHub links")
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().Bool("branding.disableExternal", false, "disable external links such as GitHub links")
}
func getAuthentication(cmd *cobra.Command) (types.AuthMethod, types.Auther) {

View File

@ -28,10 +28,10 @@ var usersCmd = &cobra.Command{
func printUsers(users []*types.User) {
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 {
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.Username,
user.Scope,
@ -45,6 +45,7 @@ func printUsers(users []*types.User) {
user.Perm.Delete,
user.Perm.Share,
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.share", true, "share 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("locale", "en", "locale 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)
getUserDefaults(cmd, &settings.Defaults, false)
username, _ := cmd.Flags().GetString("username")
password, _ := cmd.Flags().GetString("password")
password, err = types.HashPwd(password)
checkErr(err)
user := &types.User{
Username: username,
Username: mustGetString(cmd, "username"),
Password: password,
LockPassword: mustGetBool(cmd, "lockPassword"),
Scope: settings.Defaults.Scope,
Locale: settings.Defaults.Locale,
ViewMode: settings.Defaults.ViewMode,

View File

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

View File

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