✨ Offer password generation and query

This commit is contained in:
2020-10-17 20:19:42 +02:00
parent ec171ea5ec
commit f39d8c3e48
3 changed files with 85 additions and 32 deletions
+6 -6
View File
@@ -53,9 +53,9 @@ func (cmd CmdUserList) Run(app *app) error {
}
type CmdUserAdd struct {
Username string `arg:"" name:"username" help:"The username to be added."`
Password string `name:"password" help:"The password of the new user."`
Role GlobalRole `name:"role" default:"user" help:"Role of the user. 'admin' or ' user'"`
Username string `arg:"" name:"username" help:"The username to be added."`
PasswordParam
Role GlobalRole `name:"role" default:"user" help:"Role of the user. 'admin' or ' user'"`
}
func (cmd CmdUserAdd) Run(app *app) error {
@@ -66,14 +66,14 @@ func (cmd CmdUserAdd) Run(app *app) error {
return fmt.Errorf("invalid user role")
}
hash, err := bcrypt.GenerateFromPassword([]byte(cmd.Password), 0)
password, err := cmd.acquirePassword()
if err != nil {
return fmt.Errorf("cannot hash password: %w", err)
return fmt.Errorf("cannot acquire password for user: %w", err)
}
user := User{
Username: cmd.Username,
Password: string(hash),
Password: password,
Role: cmd.Role,
}
return app.userStore.AddUser(user)