This repository has been archived on 2025-10-08. You can view files and clone it, but cannot push or open issues or pull requests.
miniauthold/pkg/userstore/users.go
kekskurse 66791d32a5
All checks were successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/playwright Pipeline was successful
ci/woodpecker/push/deplyoment Pipeline was successful
chore: store can write users
2025-03-13 16:02:24 +01:00

22 lines
616 B
Go

package userstore
import (
"git.keks.cloud/kekskurse/miniauth/pkg/utils"
"golang.org/x/crypto/bcrypt"
)
func (s Store) UserWrite(username, password string) error {
query := "INSERT INTO users (username, password) VALUES (?, ?);"
log := s.log.With().Str("query", query).Str("username", username).Logger()
pwHash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
if err != nil {
return utils.WrapError(ErrCantEncryptPassword, err, log)
}
_, err = s.db.Exec(query, username, string(pwHash))
if err != nil {
return utils.WrapError(ErrCantExecuteQuery, err, log)
}
return nil
}