|
@ -0,0 +1,25 @@ |
|
|
|
|
|
package users |
|
|
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
|
|
"git.aiterp.net/lucifer/lucifer/models" |
|
|
|
|
|
"golang.org/x/crypto/bcrypt" |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
// Register registers a user
|
|
|
|
|
|
func Register(repo models.UserRepository, name, password string) (models.User, error) { |
|
|
|
|
|
hash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return models.User{}, err |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
user := models.User{ID: -1, Name: name, PassHash: hash} |
|
|
|
|
|
|
|
|
|
|
|
id, err := repo.InsertUser(user) |
|
|
|
|
|
if err != nil { |
|
|
|
|
|
return models.User{}, err |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
user.ID = id |
|
|
|
|
|
|
|
|
|
|
|
return user, nil |
|
|
|
|
|
} |