in pkg/client/keycloak/adapter/gocloak_adapter_realms.go [226:271]
func decodeIdentityProviderMapper(mp interface{}) (*dto.IdentityProviderMapper, bool) {
mapInterface, ok := mp.(map[string]interface{})
if !ok {
return nil, false
}
mapper := dto.IdentityProviderMapper{
Config: make(map[string]string),
}
if idRaw, ok := mapInterface["id"]; ok {
if id, ok := idRaw.(string); ok {
mapper.ID = id
}
}
if nameRaw, ok := mapInterface["name"]; ok {
if name, ok := nameRaw.(string); ok {
mapper.Name = name
}
}
if identityProviderAliasRaw, ok := mapInterface["identityProviderAlias"]; ok {
if identityProviderAlias, ok := identityProviderAliasRaw.(string); ok {
mapper.IdentityProviderAlias = identityProviderAlias
}
}
if identityProviderMapperRaw, ok := mapInterface["identityProviderMapper"]; ok {
if identityProviderMapper, ok := identityProviderMapperRaw.(string); ok {
mapper.IdentityProviderMapper = identityProviderMapper
}
}
if configRaw, ok := mapInterface["config"]; ok {
if configInterface, ok := configRaw.(map[string]interface{}); ok {
for k, v := range configInterface {
if value, ok := v.(string); ok {
mapper.Config[k] = value
}
}
}
}
return &mapper, true
}