fix: allow clearing user remark in basic info update

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-05-25 20:54:28 -07:00
parent 7f2db02da9
commit 7d1c71ad5b
4 changed files with 42 additions and 5 deletions
+1 -1
View File
@@ -3236,7 +3236,7 @@ type UpdateUserBasiceInfoRequest struct {
RefererId *int64 `json:"referer_id"`
Enable *bool `json:"enable"`
IsAdmin *bool `json:"is_admin"`
Remark string `json:"remark"`
Remark *string `json:"remark"`
}
type UpdateUserNotifyRequest struct {
+33
View File
@@ -0,0 +1,33 @@
package types
import (
"encoding/json"
"testing"
)
func TestUpdateUserBasiceInfoRequestDistinguishesOmittedAndEmptyRemark(t *testing.T) {
var omitted UpdateUserBasiceInfoRequest
if err := json.Unmarshal([]byte(`{"user_id":1001}`), &omitted); err != nil {
t.Fatalf("unmarshal omitted remark: %v", err)
}
if omitted.Remark != nil {
t.Fatalf("omitted remark should stay nil, got %q", *omitted.Remark)
}
if omitted.RefererId != nil {
t.Fatalf("omitted referer_id should stay nil, got %d", *omitted.RefererId)
}
if omitted.Balance != nil || omitted.GiftAmount != nil || omitted.Commission != nil {
t.Fatalf("omitted money fields should stay nil, got balance=%v gift=%v commission=%v", omitted.Balance, omitted.GiftAmount, omitted.Commission)
}
var cleared UpdateUserBasiceInfoRequest
if err := json.Unmarshal([]byte(`{"user_id":1001,"remark":""}`), &cleared); err != nil {
t.Fatalf("unmarshal empty remark: %v", err)
}
if cleared.Remark == nil {
t.Fatal("explicit empty remark should be present")
}
if *cleared.Remark != "" {
t.Fatalf("explicit empty remark should decode to empty string, got %q", *cleared.Remark)
}
}