in controllers/keycloakrealm/chain/user_profile.go [176:228]
func userProfileConfigAttributeSpecToModel(v *common.UserProfileAttribute) keycloakgoclient.UserProfileAttribute {
if v == nil {
return keycloakgoclient.UserProfileAttribute{}
}
attr := keycloakgoclient.UserProfileAttribute{
DisplayName: &v.DisplayName,
Group: &v.Group,
Name: &v.Name,
Multivalued: &v.Multivalued,
}
annotations := make(map[string]interface{}, len(v.Annotations))
for ak, av := range v.Annotations {
annotations[ak] = av
}
attr.Annotations = &annotations
validations := userProfileConfigValidationSpecToModel(v.Validations)
attr.Validations = &validations
if v.Permissions != nil {
permissions := keycloakgoclient.UserProfileAttributePermissions{}
edit := slices.Clone(v.Permissions.Edit)
permissions.Edit = &edit
view := slices.Clone(v.Permissions.View)
permissions.View = &view
attr.Permissions = &permissions
}
if v.Required != nil {
required := keycloakgoclient.UserProfileAttributeRequired{}
roles := slices.Clone(v.Required.Roles)
required.Roles = &roles
scopes := slices.Clone(v.Required.Scopes)
required.Scopes = &scopes
attr.Required = &required
}
if v.Selector != nil {
selector := keycloakgoclient.UserProfileAttributeSelector{}
scopes := slices.Clone(v.Selector.Scopes)
selector.Scopes = &scopes
attr.Selector = &selector
}
return attr
}