mirror of
https://github.com/halejohn/Cloudreve.git
synced 2026-01-26 17:41:57 +08:00
Fix: test error / missing AfterFind hook in user model
This commit is contained in:
@@ -21,6 +21,19 @@ type Group struct {
|
||||
PolicyList []uint `gorm:"-"`
|
||||
}
|
||||
|
||||
// GetAria2Option 获取用户离线下载设备
|
||||
// TODO:测试
|
||||
func (group *Group) GetAria2Option() [3]bool {
|
||||
if len(group.Aria2Option) != 3 {
|
||||
return [3]bool{false, false, false}
|
||||
}
|
||||
return [3]bool{
|
||||
group.Aria2Option[0] == '1',
|
||||
group.Aria2Option[1] == '1',
|
||||
group.Aria2Option[2] == '1',
|
||||
}
|
||||
}
|
||||
|
||||
// GetGroupByID 用ID获取用户组
|
||||
func GetGroupByID(ID interface{}) (Group, error) {
|
||||
var group Group
|
||||
|
||||
@@ -149,13 +149,6 @@ func (user *User) AfterCreate(tx *gorm.DB) (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
//SerializeOptions 将序列后的Option写入到数据库字段
|
||||
func (user *User) SerializeOptions() (err error) {
|
||||
optionsValue, err := json.Marshal(&user.OptionsSerialized)
|
||||
user.Options = string(optionsValue)
|
||||
return err
|
||||
}
|
||||
|
||||
// AfterFind 找到用户后的钩子
|
||||
func (user *User) AfterFind() (err error) {
|
||||
// 解析用户设置到OptionsSerialized
|
||||
@@ -166,6 +159,13 @@ func (user *User) AfterFind() (err error) {
|
||||
return err
|
||||
}
|
||||
|
||||
//SerializeOptions 将序列后的Option写入到数据库字段
|
||||
func (user *User) SerializeOptions() (err error) {
|
||||
optionsValue, err := json.Marshal(&user.OptionsSerialized)
|
||||
user.Options = string(optionsValue)
|
||||
return err
|
||||
}
|
||||
|
||||
// CheckPassword 根据明文校验密码
|
||||
func (user *User) CheckPassword(password string) (bool, error) {
|
||||
|
||||
|
||||
@@ -47,6 +47,9 @@ func TestGetUserByID(t *testing.T) {
|
||||
Model: gorm.Model{
|
||||
ID: 1,
|
||||
},
|
||||
OptionsSerialized: PolicyOption{
|
||||
FileType: []string{},
|
||||
},
|
||||
Name: "默认上传策略",
|
||||
},
|
||||
}, user)
|
||||
|
||||
Reference in New Issue
Block a user