fix: handle nil setting in user retrieval from database
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"database/sql"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -853,10 +854,17 @@ func GetUserSetting(id int, fromDB bool) (settingMap dto.UserSetting, err error)
|
|||||||
// Don't return error - fall through to DB
|
// Don't return error - fall through to DB
|
||||||
}
|
}
|
||||||
fromDB = true
|
fromDB = true
|
||||||
err = DB.Model(&User{}).Where("id = ?", id).Select("setting").Find(&setting).Error
|
// can be nil setting
|
||||||
|
var safeSetting sql.NullString
|
||||||
|
err = DB.Model(&User{}).Where("id = ?", id).Select("setting").Find(&safeSetting).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return settingMap, err
|
return settingMap, err
|
||||||
}
|
}
|
||||||
|
if safeSetting.Valid {
|
||||||
|
setting = safeSetting.String
|
||||||
|
} else {
|
||||||
|
setting = ""
|
||||||
|
}
|
||||||
userBase := &UserBase{
|
userBase := &UserBase{
|
||||||
Setting: setting,
|
Setting: setting,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user