Move password hashing in handler
diff --git a/core/kg/app/user.go b/core/kg/app/user.go
index 063c084..c21b86e 100644
--- a/core/kg/app/user.go
+++ b/core/kg/app/user.go
@@ -4,6 +4,7 @@
"github.com/giolekva/pcloud/core/kg/log"
"github.com/giolekva/pcloud/core/kg/model"
"github.com/pkg/errors"
+ "golang.org/x/crypto/bcrypt"
)
// GetUser returns user
@@ -21,7 +22,6 @@
return nil, errors.New("not a first user")
}
- user.HashPassword()
updatedUser, err := a.store.User().Save(user)
if err != nil {
return nil, errors.Wrap(err, "can't save user to the DB")
@@ -45,3 +45,17 @@
}
return count > 0
}
+
+// HashPassword hashes user's password
+func HashPassword(password string) string {
+ if password == "" {
+ return ""
+ }
+
+ hash, err := bcrypt.GenerateFromPassword([]byte(password), 10)
+ if err != nil {
+ panic(err)
+ }
+
+ return string(hash)
+}