From 19c1ef1b6807ab627552ff2776e8ca184e9bb62e Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Sun, 9 May 2021 16:14:05 +0800 Subject: [PATCH] Fix bug in update column names. --- controllers/auth.go | 2 +- object/user.go | 4 ++-- original/sync.go | 14 +++++++++++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/controllers/auth.go b/controllers/auth.go index 9fb7f1e2..0b511c1c 100644 --- a/controllers/auth.go +++ b/controllers/auth.go @@ -199,7 +199,7 @@ func (c *ApiController) Login() { // sync info from 3rd-party if possible if user.DisplayName == "" && userInfo.Username != "" { - object.SetUserField(user, "displayName", userInfo.Username) + object.SetUserField(user, "display_name", userInfo.Username) } if user.Avatar == "" && userInfo.AvatarUrl != "" { object.SetUserField(user, "avatar", userInfo.AvatarUrl) diff --git a/object/user.go b/object/user.go index cae02fc7..89bf6d71 100644 --- a/object/user.go +++ b/object/user.go @@ -97,7 +97,7 @@ func UpdateUser(id string, user *User) bool { 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 { panic(err) } @@ -106,7 +106,7 @@ func UpdateUser(id string, 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 { panic(err) } diff --git a/original/sync.go b/original/sync.go index 27be8d40..ce7276c9 100644 --- a/original/sync.go +++ b/original/sync.go @@ -17,6 +17,7 @@ package original import ( "fmt" "strconv" + "strings" "github.com/casdoor/casdoor/object" "github.com/casdoor/casdoor/util" @@ -26,6 +27,13 @@ func getFullAvatarUrl(avatar string) string { 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 { user := &object.User{ Owner: orgName, @@ -58,7 +66,7 @@ func createOriginalUserFromUser(user *object.User) *User { Name: user.DisplayName, Password: user.Password, Cellphone: user.Phone, - Avatar: user.Avatar, + Avatar: getPartialAvatarUrl(user.Avatar), Deleted: deleted, } return originalUser @@ -98,12 +106,12 @@ func syncUsers() { // update preHash user.PreHash = user.Hash - object.SetUserField(user, "preHash", user.PreHash) + object.SetUserField(user, "pre_hash", user.PreHash) } else { if user.Hash == oHash { // update preHash user.PreHash = user.Hash - object.SetUserField(user, "preHash", user.PreHash) + object.SetUserField(user, "pre_hash", user.PreHash) } else { updatedUser := createUserFromOriginalUser(oUser) updatedUser.Hash = oHash