summaryrefslogtreecommitdiff
path: root/password.go
diff options
context:
space:
mode:
Diffstat (limited to 'password.go')
-rw-r--r--password.go30
1 files changed, 13 insertions, 17 deletions
diff --git a/password.go b/password.go
index edbeb7a..9be347a 100644
--- a/password.go
+++ b/password.go
@@ -12,34 +12,30 @@ const (
bcryptCost = 12
)
-func Register(db *sql.DB, username, password string) error {
+func Register(tx *sql.Tx, username, password string) error {
hash, err := bcrypt.GenerateFromPassword([]byte(password), bcryptCost)
if err != nil {
return err
}
- err = Transaction(db, func(tx *sql.Tx) error {
- _, err := tx.Exec(
- `INSERT INTO users (username, password_bcrypt) VALUES(?, ?);`,
- username,
- hash,
- )
- return err
- })
+ _, err = tx.Exec(
+ `INSERT INTO users (username, password_bcrypt) VALUES(?, ?);`,
+ username,
+ hash,
+ )
return err
}
-func Authenticate(db *sql.DB, username, password string) error {
+func Authenticate(tx *sql.Tx, username, password string) error {
var hash []byte
- err := Transaction(db, func(tx *sql.Tx) error {
- row := tx.QueryRow(
- `SELECT password_bcrypt from users WHERE username=?;`,
- username,
- )
- return row.Scan(&hash)
- })
+ row := tx.QueryRow(
+ `SELECT password_bcrypt from users WHERE username=?;`,
+ username,
+ )
+
+ err := row.Scan(&hash)
if err != nil {
return fmt.Errorf("Failed to get password hash from database: %w", err)
}