Resolves #22
This commit is contained in:
parent
9b8658f666
commit
245a5b5e1b
|
@ -3,8 +3,6 @@ package db
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
"golang.org/x/crypto/bcrypt"
|
|
||||||
"gorm.io/gorm"
|
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -21,17 +19,6 @@ type User struct {
|
||||||
Image string
|
Image string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (user *User) BeforeSave(tx *gorm.DB) error {
|
|
||||||
// Modify current operation through tx.Statement, e.g:
|
|
||||||
if user.Password != "" {
|
|
||||||
if pw, err := bcrypt.GenerateFromPassword([]byte(user.Password), bcrypt.DefaultCost); err == nil {
|
|
||||||
tx.Statement.SetColumn("Password", string(pw))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// SaveUser function to add user
|
// SaveUser function to add user
|
||||||
func (mgr *manager) SaveUser(user User) (User, error) {
|
func (mgr *manager) SaveUser(user User) (User, error) {
|
||||||
result := mgr.db.Clauses(clause.OnConflict{UpdateAll: true, Columns: []clause.Column{{Name: "email"}}}).Create(&user)
|
result := mgr.db.Clauses(clause.OnConflict{UpdateAll: true, Columns: []clause.Column{{Name: "email"}}}).Create(&user)
|
||||||
|
@ -40,8 +27,6 @@ func (mgr *manager) SaveUser(user User) (User, error) {
|
||||||
log.Println(result.Error)
|
log.Println(result.Error)
|
||||||
return user, result.Error
|
return user, result.Error
|
||||||
}
|
}
|
||||||
log.Println("===== USER ID =====")
|
|
||||||
log.Println(user.ID)
|
|
||||||
return user, nil
|
return user, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
@ -73,16 +72,15 @@ func processGoogleUserInfo(state string, code string, c *gin.Context) error {
|
||||||
Email: userRawData["email"],
|
Email: userRawData["email"],
|
||||||
EmailVerifiedAt: time.Now().Unix(),
|
EmailVerifiedAt: time.Now().Unix(),
|
||||||
SignupMethod: signupMethod,
|
SignupMethod: signupMethod,
|
||||||
|
Password: existingUser.Password,
|
||||||
}
|
}
|
||||||
|
|
||||||
user, _ = db.Mgr.SaveUser(user)
|
user, _ = db.Mgr.SaveUser(user)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("====== USER FROM OAUTH HANDLER =====")
|
|
||||||
log.Println(user.ID)
|
|
||||||
userIdStr := fmt.Sprintf("%d", user.ID)
|
userIdStr := fmt.Sprintf("%d", user.ID)
|
||||||
log.Println("str id: ", userIdStr)
|
|
||||||
refreshToken, _, _ := utils.CreateAuthToken(utils.UserAuthInfo{
|
refreshToken, _, _ := utils.CreateAuthToken(utils.UserAuthInfo{
|
||||||
ID: userIdStr,
|
ID: userIdStr,
|
||||||
Email: user.Email,
|
Email: user.Email,
|
||||||
|
@ -98,7 +96,6 @@ func processGoogleUserInfo(state string, code string, c *gin.Context) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func HandleOAuthCallback(provider enum.OAuthProvider) gin.HandlerFunc {
|
func HandleOAuthCallback(provider enum.OAuthProvider) gin.HandlerFunc {
|
||||||
log.Println("here...")
|
|
||||||
return func(c *gin.Context) {
|
return func(c *gin.Context) {
|
||||||
if provider == enum.GoogleProvider {
|
if provider == enum.GoogleProvider {
|
||||||
err := processGoogleUserInfo(c.Request.FormValue("state"), c.Request.FormValue("code"), c)
|
err := processGoogleUserInfo(c.Request.FormValue("state"), c.Request.FormValue("code"), c)
|
||||||
|
|
|
@ -37,9 +37,11 @@ func Signup(ctx context.Context, params model.SignUpInput) (*model.SignUpRespons
|
||||||
}
|
}
|
||||||
user := db.User{
|
user := db.User{
|
||||||
Email: params.Email,
|
Email: params.Email,
|
||||||
Password: params.Password,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
password, _ := utils.HashPassword(params.Password)
|
||||||
|
user.Password = password
|
||||||
|
|
||||||
if params.FirstName != nil {
|
if params.FirstName != nil {
|
||||||
user.FirstName = *params.FirstName
|
user.FirstName = *params.FirstName
|
||||||
}
|
}
|
12
server/utils/hashPassword.go
Normal file
12
server/utils/hashPassword.go
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
package utils
|
||||||
|
|
||||||
|
import "golang.org/x/crypto/bcrypt"
|
||||||
|
|
||||||
|
func HashPassword(password string) (string, error) {
|
||||||
|
pw, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
return string(pw), nil
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user