khatru-pyramid/utils.go

37 lines
778 B
Go
Raw Normal View History

2023-09-06 20:49:18 +02:00
package main
2023-09-13 19:48:24 +02:00
import (
"encoding/json"
2023-09-13 19:48:24 +02:00
)
func getProfileInfoFromJson(jsonStr string) (string, string) {
fieldOrder := []string{"displayName", "display_name", "username", "name"}
var data map[string]interface{}
err := json.Unmarshal([]byte(jsonStr), &data)
if err != nil {
2023-10-16 23:09:12 -03:00
log.Error().Err(err).Msg("failed to read profile from json")
return "", ""
}
var displayname string = "..."
var picture string = ""
for _, fieldName := range fieldOrder {
if val, ok := data[fieldName]; ok {
if strVal, ok := val.(string); ok && strVal != "" {
if fieldName == "picture" {
picture = strVal
}
if fieldName == "name" {
displayname = strVal
} else if displayname == "" {
displayname = strVal
}
}
}
}
return displayname, picture
}