From 802995ed164f64041682ebb80d591255d3287006 Mon Sep 17 00:00:00 2001 From: Mikey Date: Mon, 8 Aug 2022 18:43:12 +0800 Subject: [PATCH] refactor: remove WeChat unionId to properties (#985) --- object/token.go | 5 ++++- object/user.go | 58 ++++++++++++++++++++++++++----------------------- 2 files changed, 35 insertions(+), 28 deletions(-) diff --git a/object/token.go b/object/token.go index ee3b5f3d..06b5eadb 100644 --- a/object/token.go +++ b/object/token.go @@ -703,13 +703,16 @@ func GetWechatMiniProgramToken(application *Application, code string, host strin Avatar: avatar, SignupApplication: application.Name, WeChat: openId, - WeChatUnionId: unionId, Type: "normal-user", CreatedTime: util.GetCurrentTime(), IsAdmin: false, IsGlobalAdmin: false, IsForbidden: false, IsDeleted: false, + Properties: map[string]string{ + USER_PROPERTIES_WECHAT_OPEN_ID: openId, + USER_PROPERTIES_WECHAT_UNION_ID: unionId, + }, } AddUser(user) } diff --git a/object/user.go b/object/user.go index 137d62cf..4e1eda6b 100644 --- a/object/user.go +++ b/object/user.go @@ -24,6 +24,11 @@ import ( "xorm.io/core" ) +const ( + USER_PROPERTIES_WECHAT_UNION_ID = "wechatUnionId" + USER_PROPERTIES_WECHAT_OPEN_ID = "wechatOpenId" +) + type User struct { Owner string `xorm:"varchar(100) notnull pk" json:"owner"` Name string `xorm:"varchar(100) notnull pk" json:"name"` @@ -73,32 +78,31 @@ type User struct { LastSigninTime string `xorm:"varchar(100)" json:"lastSigninTime"` LastSigninIp string `xorm:"varchar(100)" json:"lastSigninIp"` - GitHub string `xorm:"github varchar(100)" json:"github"` - Google string `xorm:"varchar(100)" json:"google"` - QQ string `xorm:"qq varchar(100)" json:"qq"` - WeChat string `xorm:"wechat varchar(100)" json:"wechat"` - WeChatUnionId string `xorm:"varchar(100)" json:"unionId"` - Facebook string `xorm:"facebook varchar(100)" json:"facebook"` - DingTalk string `xorm:"dingtalk varchar(100)" json:"dingtalk"` - Weibo string `xorm:"weibo varchar(100)" json:"weibo"` - Gitee string `xorm:"gitee varchar(100)" json:"gitee"` - LinkedIn string `xorm:"linkedin varchar(100)" json:"linkedin"` - Wecom string `xorm:"wecom varchar(100)" json:"wecom"` - Lark string `xorm:"lark varchar(100)" json:"lark"` - Gitlab string `xorm:"gitlab varchar(100)" json:"gitlab"` - Adfs string `xorm:"adfs varchar(100)" json:"adfs"` - Baidu string `xorm:"baidu varchar(100)" json:"baidu"` - Alipay string `xorm:"alipay varchar(100)" json:"alipay"` - Casdoor string `xorm:"casdoor varchar(100)" json:"casdoor"` - Infoflow string `xorm:"infoflow varchar(100)" json:"infoflow"` - Apple string `xorm:"apple varchar(100)" json:"apple"` - AzureAD string `xorm:"azuread varchar(100)" json:"azuread"` - Slack string `xorm:"slack varchar(100)" json:"slack"` - Steam string `xorm:"steam varchar(100)" json:"steam"` - Bilibili string `xorm:"bilibili varchar(100)" json:"bilibili"` - Okta string `xorm:"okta varchar(100)" json:"okta"` - Douyin string `xorm:"douyin varchar(100)" json:"douyin"` - Custom string `xorm:"custom varchar(100)" json:"custom"` + GitHub string `xorm:"github varchar(100)" json:"github"` + Google string `xorm:"varchar(100)" json:"google"` + QQ string `xorm:"qq varchar(100)" json:"qq"` + WeChat string `xorm:"wechat varchar(100)" json:"wechat"` + Facebook string `xorm:"facebook varchar(100)" json:"facebook"` + DingTalk string `xorm:"dingtalk varchar(100)" json:"dingtalk"` + Weibo string `xorm:"weibo varchar(100)" json:"weibo"` + Gitee string `xorm:"gitee varchar(100)" json:"gitee"` + LinkedIn string `xorm:"linkedin varchar(100)" json:"linkedin"` + Wecom string `xorm:"wecom varchar(100)" json:"wecom"` + Lark string `xorm:"lark varchar(100)" json:"lark"` + Gitlab string `xorm:"gitlab varchar(100)" json:"gitlab"` + Adfs string `xorm:"adfs varchar(100)" json:"adfs"` + Baidu string `xorm:"baidu varchar(100)" json:"baidu"` + Alipay string `xorm:"alipay varchar(100)" json:"alipay"` + Casdoor string `xorm:"casdoor varchar(100)" json:"casdoor"` + Infoflow string `xorm:"infoflow varchar(100)" json:"infoflow"` + Apple string `xorm:"apple varchar(100)" json:"apple"` + AzureAD string `xorm:"azuread varchar(100)" json:"azuread"` + Slack string `xorm:"slack varchar(100)" json:"slack"` + Steam string `xorm:"steam varchar(100)" json:"steam"` + Bilibili string `xorm:"bilibili varchar(100)" json:"bilibili"` + Okta string `xorm:"okta varchar(100)" json:"okta"` + Douyin string `xorm:"douyin varchar(100)" json:"douyin"` + Custom string `xorm:"custom varchar(100)" json:"custom"` WebauthnCredentials []webauthn.Credential `xorm:"webauthnCredentials blob" json:"webauthnCredentials"` @@ -243,7 +247,7 @@ func getUserByWechatId(wechatOpenId string, wechatUnionId string) *User { wechatUnionId = wechatOpenId } user := &User{} - existed, err := adapter.Engine.Where("wechat = ? OR wechat = ? OR unionid = ?", wechatOpenId, wechatUnionId, wechatUnionId).Get(user) + existed, err := adapter.Engine.Where("wechat = ? OR wechat = ?", wechatOpenId, wechatUnionId).Get(user) if err != nil { panic(err) }