fix: 统一用户资料投影并放开头像访问

This commit is contained in:
richjohnrambo
2026-09-08 15:26:05 +08:00
parent 62e989487b
commit 06945a4050
8 changed files with 250 additions and 57 deletions
+12 -7
View File
@@ -34,16 +34,22 @@ func TestProfilePublicFromFields(t *testing.T) {
"nickname": "旧昵称",
"display_name": "旧昵称",
"avatar_file_id": "old_avatar",
"signature": "旧签名",
"gender": "old_gender",
"region": "old_region",
"photo": "old_photo",
"public_account": "usrAccount",
}, sql.NullString{String: "新昵称", Valid: true}, sql.NullString{String: "file_avatar_1", Valid: true}).(map[string]any)
}, sql.NullString{String: "新昵称", Valid: true}, sql.NullString{String: "file_avatar_1", Valid: true},
sql.NullString{String: "新签名", Valid: true}, sql.NullString{String: "male", Valid: true},
sql.NullString{String: "上海", Valid: true}, sql.NullString{String: "usrProfile", Valid: true}).(map[string]any)
for _, key := range []string{"fn", "name", "nickname", "display_name"} {
if public[key] != "新昵称" {
t.Fatalf("nickname field %s not overlaid: %#v", key, public)
}
}
if public["avatar_file_id"] != "file_avatar_1" || public["public_account"] != "usrAccount" {
if public["avatar_file_id"] != "file_avatar_1" || public["signature"] != "新签名" || public["gender"] != "male" ||
public["region"] != "上海" || public["public_account"] != "usrProfile" {
t.Fatalf("profile public not overlaid: %#v", public)
}
@@ -51,15 +57,14 @@ func TestProfilePublicFromFields(t *testing.T) {
"fn": "旧昵称",
"avatar_file_id": "old_avatar",
"public_account": "usrAccount",
}, sql.NullString{Valid: true}, sql.NullString{Valid: true}).(map[string]any)
for _, key := range []string{"fn", "name", "nickname", "display_name", "avatar_file_id", "photo", "avatar"} {
"signature": "旧签名",
}, sql.NullString{Valid: true}, sql.NullString{Valid: true}, sql.NullString{Valid: true},
sql.NullString{Valid: true}, sql.NullString{Valid: true}, sql.NullString{Valid: true}).(map[string]any)
for _, key := range []string{"fn", "name", "nickname", "display_name", "avatar_file_id", "photo", "avatar", "signature", "gender", "region", "public_account"} {
if _, ok := public[key]; ok {
t.Fatalf("legacy profile field %s should not be read from im_users.public: %#v", key, public)
}
}
if public["public_account"] != "usrAccount" {
t.Fatalf("unrelated public field changed: %#v", public)
}
}
func TestProfileSeedFromPublic(t *testing.T) {