bright-policeman-41717
10/28/2022, 9:01 AMfunc (config *Config) ListIdentitiesHandler(c *gin.Context) {
checkIdentity := config.ApiClient.V0alpha2Api.AdminListIdentities(context.Background())
subjectList := []models.List{}
list, _, err := checkIdentity.Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "error while checking identities %v", err)
}
subject := models.List{}
for _, identity := range list {
val := identity.GetTraits()
traits, ok := val.(map[string]interface{})
if !ok {
log.Printf("expected map of string but received %#v", val)
}
if email, ok := traits["email"]; ok {
subject.Subject = email.(string)
} else if firstName, ok := traits["first"]; ok {
subject.Subject = firstName.(string)
} else {
log.Printf("Both email and firstName not available , traits = %#v \n", traits)
}
subject.Id = identity.Id
subjectList = append(subjectList, subject)
err = json.NewEncoder(c.Writer).Encode(subjectList)
if err != nil {
fmt.Printf("Error: %s", err)
return
}
}
}