fix: stringify im admin json fields

This commit is contained in:
richjohnrambo
2026-08-28 13:34:40 +08:00
parent d7578efa2b
commit 6e08013fd1
@@ -120,9 +120,8 @@ func normalizeImAdminRow(row map[string]any, aliases map[string]string) {
} }
func normalizeImAdminValue(target string, value any) any { func normalizeImAdminValue(target string, value any) any {
if target != "credentials" { switch target {
return value case "credentials":
}
items, ok := value.([]any) items, ok := value.([]any)
if !ok { if !ok {
return value return value
@@ -151,6 +150,26 @@ func normalizeImAdminValue(target string, value any) any {
parts = append(parts, text) parts = append(parts, text)
} }
return strings.Join(parts, ", ") return strings.Join(parts, ", ")
case "profileJson", "trustedJson", "accessJson":
return normalizeImAdminJSONString(value)
default:
return value
}
}
func normalizeImAdminJSONString(value any) string {
switch v := value.(type) {
case nil:
return ""
case string:
return v
default:
encoded, err := json.Marshal(v)
if err != nil {
return ""
}
return string(encoded)
}
} }
func snakeToLowerCamel(s string) string { func snakeToLowerCamel(s string) string {