From b85192590bcf31aefdf65ee1a8c417eda4c234ea Mon Sep 17 00:00:00 2001 From: CaIon Date: Tue, 24 Feb 2026 23:46:17 +0800 Subject: [PATCH] fix: handle nil setting in user retrieval from database --- model/user.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/model/user.go b/model/user.go index f3e66e6c..1210b543 100644 --- a/model/user.go +++ b/model/user.go @@ -1,6 +1,7 @@ package model import ( + "database/sql" "encoding/json" "errors" "fmt" @@ -853,10 +854,17 @@ func GetUserSetting(id int, fromDB bool) (settingMap dto.UserSetting, err error) // Don't return error - fall through to DB } 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 { return settingMap, err } + if safeSetting.Valid { + setting = safeSetting.String + } else { + setting = "" + } userBase := &UserBase{ Setting: setting, }