Fix bug in update column names.

This commit is contained in:
Yang Luo
2021-05-09 16:14:05 +08:00
parent 6e5aa2bc40
commit 19c1ef1b68
3 changed files with 14 additions and 6 deletions

View File

@ -199,7 +199,7 @@ func (c *ApiController) Login() {
// sync info from 3rd-party if possible // sync info from 3rd-party if possible
if user.DisplayName == "" && userInfo.Username != "" { if user.DisplayName == "" && userInfo.Username != "" {
object.SetUserField(user, "displayName", userInfo.Username) object.SetUserField(user, "display_name", userInfo.Username)
} }
if user.Avatar == "" && userInfo.AvatarUrl != "" { if user.Avatar == "" && userInfo.AvatarUrl != "" {
object.SetUserField(user, "avatar", userInfo.AvatarUrl) object.SetUserField(user, "avatar", userInfo.AvatarUrl)

View File

@ -97,7 +97,7 @@ func UpdateUser(id string, user *User) bool {
user.UpdateUserHash() user.UpdateUserHash()
affected, err := adapter.Engine.ID(core.PK{owner, name}).Cols("displayName", "avatar", "affiliation", "tag", "isAdmin", "isGlobalAdmin", "isForbidden").Update(user) affected, err := adapter.Engine.ID(core.PK{owner, name}).Cols("display_name", "avatar", "affiliation", "tag", "is_admin", "is_global_admin", "is_forbidden", "hash").Update(user)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -106,7 +106,7 @@ func UpdateUser(id string, user *User) bool {
} }
func UpdateUserForOriginal(user *User) bool { func UpdateUserForOriginal(user *User) bool {
affected, err := adapter.Engine.ID(core.PK{user.Owner, user.Name}).Cols("displayName", "password", "phone", "avatar", "isForbidden").Update(user) affected, err := adapter.Engine.ID(core.PK{user.Owner, user.Name}).Cols("display_name", "password", "phone", "avatar", "is_forbidden", "hash", "pre_hash").Update(user)
if err != nil { if err != nil {
panic(err) panic(err)
} }

View File

@ -17,6 +17,7 @@ package original
import ( import (
"fmt" "fmt"
"strconv" "strconv"
"strings"
"github.com/casdoor/casdoor/object" "github.com/casdoor/casdoor/object"
"github.com/casdoor/casdoor/util" "github.com/casdoor/casdoor/util"
@ -26,6 +27,13 @@ func getFullAvatarUrl(avatar string) string {
return fmt.Sprintf("%s%s", avatarBaseUrl, avatar) return fmt.Sprintf("%s%s", avatarBaseUrl, avatar)
} }
func getPartialAvatarUrl(avatar string) string {
if strings.HasPrefix(avatar, avatarBaseUrl) {
return avatar[len(avatarBaseUrl):]
}
return avatar
}
func createUserFromOriginalUser(originalUser *User) *object.User { func createUserFromOriginalUser(originalUser *User) *object.User {
user := &object.User{ user := &object.User{
Owner: orgName, Owner: orgName,
@ -58,7 +66,7 @@ func createOriginalUserFromUser(user *object.User) *User {
Name: user.DisplayName, Name: user.DisplayName,
Password: user.Password, Password: user.Password,
Cellphone: user.Phone, Cellphone: user.Phone,
Avatar: user.Avatar, Avatar: getPartialAvatarUrl(user.Avatar),
Deleted: deleted, Deleted: deleted,
} }
return originalUser return originalUser
@ -98,12 +106,12 @@ func syncUsers() {
// update preHash // update preHash
user.PreHash = user.Hash user.PreHash = user.Hash
object.SetUserField(user, "preHash", user.PreHash) object.SetUserField(user, "pre_hash", user.PreHash)
} else { } else {
if user.Hash == oHash { if user.Hash == oHash {
// update preHash // update preHash
user.PreHash = user.Hash user.PreHash = user.Hash
object.SetUserField(user, "preHash", user.PreHash) object.SetUserField(user, "pre_hash", user.PreHash)
} else { } else {
updatedUser := createUserFromOriginalUser(oUser) updatedUser := createUserFromOriginalUser(oUser)
updatedUser.Hash = oHash updatedUser.Hash = oHash