fix: stringify im admin json fields
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user