From abf9d113af20d64b06ab40ba8906c9d7a8cdbe42 Mon Sep 17 00:00:00 2001 From: suziheng Date: Tue, 22 Apr 2025 11:10:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=81=A2=E5=A4=8D=E8=A1=A8=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/redemption.go | 2 +- model/token.go | 2 +- model/user.go | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/model/redemption.go b/model/redemption.go index ad2b512a..957a33be 100644 --- a/model/redemption.go +++ b/model/redemption.go @@ -20,7 +20,7 @@ const ( type Redemption struct { Id int `json:"id"` UserId int `json:"user_id"` - Key string `json:"key" gorm:"type:char(32)"` + Key string `json:"key" gorm:"type:char(32);uniqueIndex"` Status int `json:"status" gorm:"default:1"` Name string `json:"name" gorm:"index"` Quota int64 `json:"quota" gorm:"bigint;default:100"` diff --git a/model/token.go b/model/token.go index 49394712..52ee63ef 100644 --- a/model/token.go +++ b/model/token.go @@ -23,7 +23,7 @@ const ( type Token struct { Id int `json:"id"` UserId int `json:"user_id"` - Key string `json:"key" gorm:"type:char(48)"` + Key string `json:"key" gorm:"type:char(48);uniqueIndex"` Status int `json:"status" gorm:"default:1"` Name string `json:"name" gorm:"index" ` CreatedTime int64 `json:"created_time" gorm:"bigint"` diff --git a/model/user.go b/model/user.go index 773dad59..7b25c61b 100644 --- a/model/user.go +++ b/model/user.go @@ -33,7 +33,7 @@ const ( // Otherwise, the sensitive information will be saved on local storage in plain text! type User struct { Id int `json:"id"` - Username string `json:"username" gorm:"index" validate:"max=12"` + Username string `json:"username" gorm:"unique;index" validate:"max=12"` Password string `json:"password" gorm:"not null;" validate:"min=8,max=20"` DisplayName string `json:"display_name" gorm:"index" validate:"max=20"` Role int `json:"role" gorm:"type:int;default:1"` // admin, util @@ -43,8 +43,8 @@ type User struct { WeChatId string `json:"wechat_id" gorm:"column:wechat_id;index"` LarkId string `json:"lark_id" gorm:"column:lark_id;index"` OidcId string `json:"oidc_id" gorm:"column:oidc_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"` // this token is for system management + 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 Quota int64 `json:"quota" gorm:"bigint;default:0"` UsedQuota int64 `json:"used_quota" gorm:"bigint;default:0;column:used_quota"` // used quota RequestCount int `json:"request_count" gorm:"type:int;default:0;"` // request number