Просмотр исходного кода

Revert "fix delete user"

This reverts commit 07fe5a02
CaIon 2 лет назад
Родитель
Сommit
7cd1261a81
2 измененных файлов с 24 добавлено и 25 удалено
  1. 22 23
      model/user.go
  2. 2 2
      web/src/components/UsersTable.js

+ 22 - 23
model/user.go

@@ -6,33 +6,32 @@ import (
 	"gorm.io/gorm"
 	"one-api/common"
 	"strings"
-	"time"
 )
 
 // User if you add sensitive fields, don't forget to clean them in setupLogin function.
 // 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:"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, common
-	Status           int        `json:"status" gorm:"type:int;default:1"` // enabled, disabled
-	Email            string     `json:"email" gorm:"index" validate:"max=50"`
-	GitHubId         string     `json:"github_id" gorm:"column:github_id;index"`
-	WeChatId         string     `json:"wechat_id" gorm:"column:wechat_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
-	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
-	Group            string     `json:"group" gorm:"type:varchar(32);default:'default'"`
-	AffCode          string     `json:"aff_code" gorm:"type:varchar(32);column:aff_code;uniqueIndex"`
-	AffCount         int        `json:"aff_count" gorm:"type:int;default:0;column:aff_count"`
-	AffQuota         int        `json:"aff_quota" gorm:"type:int;default:0;column:aff_quota"`           // 邀请剩余额度
-	AffHistoryQuota  int        `json:"aff_history_quota" gorm:"type:int;default:0;column:aff_history"` // 邀请历史额度
-	InviterId        int        `json:"inviter_id" gorm:"type:int;column:inviter_id;index"`
-	DeletedAt        *time.Time `gorm:"index"`
+	Id               int            `json:"id"`
+	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, common
+	Status           int            `json:"status" gorm:"type:int;default:1"` // enabled, disabled
+	Email            string         `json:"email" gorm:"index" validate:"max=50"`
+	GitHubId         string         `json:"github_id" gorm:"column:github_id;index"`
+	WeChatId         string         `json:"wechat_id" gorm:"column:wechat_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
+	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
+	Group            string         `json:"group" gorm:"type:varchar(32);default:'default'"`
+	AffCode          string         `json:"aff_code" gorm:"type:varchar(32);column:aff_code;uniqueIndex"`
+	AffCount         int            `json:"aff_count" gorm:"type:int;default:0;column:aff_count"`
+	AffQuota         int            `json:"aff_quota" gorm:"type:int;default:0;column:aff_quota"`           // 邀请剩余额度
+	AffHistoryQuota  int            `json:"aff_history_quota" gorm:"type:int;default:0;column:aff_history"` // 邀请历史额度
+	InviterId        int            `json:"inviter_id" gorm:"type:int;column:inviter_id;index"`
+	DeletedAt        gorm.DeletedAt `gorm:"index"`
 }
 
 // CheckUserExistOrDeleted check if user exist or deleted, if not exist, return false, nil, if deleted or exist, return true, nil
@@ -63,7 +62,7 @@ func GetAllUsers(startIdx int, num int) (users []*User, err error) {
 }
 
 func SearchUsers(keyword string) (users []*User, err error) {
-	err = DB.Unscoped().Omit("password").Where("id = ? or username LIKE ? or email LIKE ? or display_name LIKE ?", keyword, keyword+"%", keyword+"%", keyword+"%").Find(&users).Error
+	err = DB.Omit("password").Where("id = ? or username LIKE ? or email LIKE ? or display_name LIKE ?", keyword, keyword+"%", keyword+"%", keyword+"%").Find(&users).Error
 	return users, err
 }
 

+ 2 - 2
web/src/components/UsersTable.js

@@ -72,13 +72,13 @@ const UsersTable = () => {
     }, {
         title: '状态', dataIndex: 'status', render: (text, record, index) => {
             return (<div>
-                {record.DeletedAt !== null? <Tag color='red'>已注销</Tag> : renderStatus(text)}
+                {record.deleted_at !== null? <Tag color='red'>已注销</Tag> : renderStatus(text)}
             </div>);
         },
     }, {
         title: '', dataIndex: 'operate', render: (text, record, index) => (<div>
             {
-                record.DeletedAt !== null ? <></>:
+                record.deleted_at !== null ? <></>:
                     <>
                         <Popconfirm
                             title="确定?"