From eb5b040eebc5726ee1c81df3a9acd316fe4e405b Mon Sep 17 00:00:00 2001 From: Ludvig Lundgren Date: Thu, 19 Aug 2021 20:41:32 +0200 Subject: [PATCH] fix(autobrrctl): change password for user (#11) --- cmd/autobrrctl/main.go | 7 ++++--- internal/database/migrate.go | 3 ++- internal/database/user.go | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cmd/autobrrctl/main.go b/cmd/autobrrctl/main.go index c4e87b3..ebcddec 100644 --- a/cmd/autobrrctl/main.go +++ b/cmd/autobrrctl/main.go @@ -18,8 +18,9 @@ import ( const usage = `usage: autobrrctl --config path - create-user Create user - help Show this help message + create-user Create user + change-password Change password for user + help Show this help message ` func init() { @@ -127,7 +128,7 @@ func readPassword() ([]byte, error) { } fmt.Printf("\n") } else { - fmt.Fprintf(os.Stderr, "warning: Reading password from stdin.\n") + //fmt.Fprintf(os.Stderr, "warning: Reading password from stdin.\n") scanner := bufio.NewScanner(os.Stdin) if !scanner.Scan() { if err := scanner.Err(); err != nil { diff --git a/internal/database/migrate.go b/internal/database/migrate.go index a8fb6de..8687ccc 100644 --- a/internal/database/migrate.go +++ b/internal/database/migrate.go @@ -12,7 +12,8 @@ CREATE TABLE users username TEXT NOT NULL, password TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + UNIQUE (username) ); CREATE TABLE indexer diff --git a/internal/database/user.go b/internal/database/user.go index aa10309..eece54d 100644 --- a/internal/database/user.go +++ b/internal/database/user.go @@ -17,7 +17,7 @@ func NewUserRepo(db *sql.DB) domain.UserRepo { } func (r *UserRepo) FindByUsername(username string) (*domain.User, error) { - query := `SELECT username, password FROM users WHERE username = ?` + query := `SELECT id, username, password FROM users WHERE username = ?` row := r.db.QueryRow(query, username) if err := row.Err(); err != nil { @@ -26,7 +26,7 @@ func (r *UserRepo) FindByUsername(username string) (*domain.User, error) { var user domain.User - if err := row.Scan(&user.Username, &user.Password); err != nil { + if err := row.Scan(&user.ID, &user.Username, &user.Password); err != nil { log.Error().Err(err).Msg("could not scan user to struct") return nil, err }