From 05d9aa61dfc736af22d94d402e9488fc0dee1ae2 Mon Sep 17 00:00:00 2001 From: "1808837298@qq.com" <1808837298@qq.com> Date: Tue, 24 Sep 2024 19:44:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=8D=E8=87=AA=E5=8A=A8=E7=94=9F?= =?UTF-8?q?=E6=88=90=E7=B3=BB=E7=BB=9F=E8=AE=BF=E9=97=AE=E4=BB=A4=E7=89=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/user.go | 2 +- model/main.go | 2 +- model/user.go | 15 +++++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/controller/user.go b/controller/user.go index bf8a2a2..2810aaf 100644 --- a/controller/user.go +++ b/controller/user.go @@ -311,7 +311,7 @@ func GenerateAccessToken(c *gin.Context) { }) return } - user.AccessToken = common.GetUUID() + user.SetAccessToken(common.GetUUID()) if model.DB.Where("access_token = ?", user.AccessToken).First(user).RowsAffected != 0 { c.JSON(http.StatusOK, gin.H{ diff --git a/model/main.go b/model/main.go index 01eb6c9..6fe4e81 100644 --- a/model/main.go +++ b/model/main.go @@ -32,7 +32,7 @@ func createRootAccountIfNeed() error { Role: common.RoleRootUser, Status: common.UserStatusEnabled, DisplayName: "Root User", - AccessToken: common.GetUUID(), + AccessToken: nil, Quota: 100000000, } DB.Create(&rootUser) diff --git a/model/user.go b/model/user.go index 6d3b2b2..1905d89 100644 --- a/model/user.go +++ b/model/user.go @@ -25,7 +25,7 @@ type User struct { WeChatId string `json:"wechat_id" gorm:"column:wechat_id;index"` TelegramId string `json:"telegram_id" gorm:"column:telegram_id;index"` VerificationCode string `json:"verification_code" gorm:"-:all"` // this field is only for Email verification, don't save it to database! - AccessToken string `json:"access_token" gorm:"type:char(32);column:access_token;uniqueIndex"` // this token is for system management + AccessToken *string `json:"access_token" gorm:"type:char(32);column:access_token;uniqueIndex"` // this token is for system management Quota int `json:"quota" gorm:"type:int;default:0"` UsedQuota int `json:"used_quota" gorm:"type:int;default:0;column:used_quota"` // used quota RequestCount int `json:"request_count" gorm:"type:int;default:0;"` // request number @@ -38,6 +38,17 @@ type User struct { DeletedAt gorm.DeletedAt `gorm:"index"` } +func (user *User) GetAccessToken() string { + if user.AccessToken == nil { + return "" + } + return *user.AccessToken +} + +func (user *User) SetAccessToken(token string) { + user.AccessToken = &token +} + // CheckUserExistOrDeleted check if user exist or deleted, if not exist, return false, nil, if deleted or exist, return true, nil func CheckUserExistOrDeleted(username string, email string) (bool, error) { var user User @@ -201,7 +212,7 @@ func (user *User) Insert(inviterId int) error { } } user.Quota = common.QuotaForNewUser - user.AccessToken = common.GetUUID() + //user.SetAccessToken(common.GetUUID()) user.AffCode = common.GetRandomString(4) result := DB.Create(user) if result.Error != nil {