kratos/internal/client-go/model_ui_node_attributes.go

355 lines
11 KiB
Go

/*
Ory Identities API
This is the API specification for Ory Identities with features such as registration, login, recovery, account verification, profile settings, password reset, identity management, session management, email and sms delivery, and more.
API version:
Contact: office@ory.sh
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package client
import (
"encoding/json"
"fmt"
)
// UiNodeAttributes - struct for UiNodeAttributes
type UiNodeAttributes struct {
UiNodeAnchorAttributes *UiNodeAnchorAttributes
UiNodeDivisionAttributes *UiNodeDivisionAttributes
UiNodeImageAttributes *UiNodeImageAttributes
UiNodeInputAttributes *UiNodeInputAttributes
UiNodeScriptAttributes *UiNodeScriptAttributes
UiNodeTextAttributes *UiNodeTextAttributes
}
// UiNodeAnchorAttributesAsUiNodeAttributes is a convenience function that returns UiNodeAnchorAttributes wrapped in UiNodeAttributes
func UiNodeAnchorAttributesAsUiNodeAttributes(v *UiNodeAnchorAttributes) UiNodeAttributes {
return UiNodeAttributes{
UiNodeAnchorAttributes: v,
}
}
// UiNodeDivisionAttributesAsUiNodeAttributes is a convenience function that returns UiNodeDivisionAttributes wrapped in UiNodeAttributes
func UiNodeDivisionAttributesAsUiNodeAttributes(v *UiNodeDivisionAttributes) UiNodeAttributes {
return UiNodeAttributes{
UiNodeDivisionAttributes: v,
}
}
// UiNodeImageAttributesAsUiNodeAttributes is a convenience function that returns UiNodeImageAttributes wrapped in UiNodeAttributes
func UiNodeImageAttributesAsUiNodeAttributes(v *UiNodeImageAttributes) UiNodeAttributes {
return UiNodeAttributes{
UiNodeImageAttributes: v,
}
}
// UiNodeInputAttributesAsUiNodeAttributes is a convenience function that returns UiNodeInputAttributes wrapped in UiNodeAttributes
func UiNodeInputAttributesAsUiNodeAttributes(v *UiNodeInputAttributes) UiNodeAttributes {
return UiNodeAttributes{
UiNodeInputAttributes: v,
}
}
// UiNodeScriptAttributesAsUiNodeAttributes is a convenience function that returns UiNodeScriptAttributes wrapped in UiNodeAttributes
func UiNodeScriptAttributesAsUiNodeAttributes(v *UiNodeScriptAttributes) UiNodeAttributes {
return UiNodeAttributes{
UiNodeScriptAttributes: v,
}
}
// UiNodeTextAttributesAsUiNodeAttributes is a convenience function that returns UiNodeTextAttributes wrapped in UiNodeAttributes
func UiNodeTextAttributesAsUiNodeAttributes(v *UiNodeTextAttributes) UiNodeAttributes {
return UiNodeAttributes{
UiNodeTextAttributes: v,
}
}
// Unmarshal JSON data into one of the pointers in the struct
func (dst *UiNodeAttributes) UnmarshalJSON(data []byte) error {
var err error
// use discriminator value to speed up the lookup
var jsonDict map[string]interface{}
err = newStrictDecoder(data).Decode(&jsonDict)
if err != nil {
return fmt.Errorf("failed to unmarshal JSON into map for the discriminator lookup")
}
// check if the discriminator value is 'a'
if jsonDict["node_type"] == "a" {
// try to unmarshal JSON data into UiNodeAnchorAttributes
err = json.Unmarshal(data, &dst.UiNodeAnchorAttributes)
if err == nil {
return nil // data stored in dst.UiNodeAnchorAttributes, return on the first match
} else {
dst.UiNodeAnchorAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeAnchorAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'div'
if jsonDict["node_type"] == "div" {
// try to unmarshal JSON data into UiNodeDivisionAttributes
err = json.Unmarshal(data, &dst.UiNodeDivisionAttributes)
if err == nil {
return nil // data stored in dst.UiNodeDivisionAttributes, return on the first match
} else {
dst.UiNodeDivisionAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeDivisionAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'img'
if jsonDict["node_type"] == "img" {
// try to unmarshal JSON data into UiNodeImageAttributes
err = json.Unmarshal(data, &dst.UiNodeImageAttributes)
if err == nil {
return nil // data stored in dst.UiNodeImageAttributes, return on the first match
} else {
dst.UiNodeImageAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeImageAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'input'
if jsonDict["node_type"] == "input" {
// try to unmarshal JSON data into UiNodeInputAttributes
err = json.Unmarshal(data, &dst.UiNodeInputAttributes)
if err == nil {
return nil // data stored in dst.UiNodeInputAttributes, return on the first match
} else {
dst.UiNodeInputAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeInputAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'script'
if jsonDict["node_type"] == "script" {
// try to unmarshal JSON data into UiNodeScriptAttributes
err = json.Unmarshal(data, &dst.UiNodeScriptAttributes)
if err == nil {
return nil // data stored in dst.UiNodeScriptAttributes, return on the first match
} else {
dst.UiNodeScriptAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeScriptAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'text'
if jsonDict["node_type"] == "text" {
// try to unmarshal JSON data into UiNodeTextAttributes
err = json.Unmarshal(data, &dst.UiNodeTextAttributes)
if err == nil {
return nil // data stored in dst.UiNodeTextAttributes, return on the first match
} else {
dst.UiNodeTextAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeTextAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'uiNodeAnchorAttributes'
if jsonDict["node_type"] == "uiNodeAnchorAttributes" {
// try to unmarshal JSON data into UiNodeAnchorAttributes
err = json.Unmarshal(data, &dst.UiNodeAnchorAttributes)
if err == nil {
return nil // data stored in dst.UiNodeAnchorAttributes, return on the first match
} else {
dst.UiNodeAnchorAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeAnchorAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'uiNodeDivisionAttributes'
if jsonDict["node_type"] == "uiNodeDivisionAttributes" {
// try to unmarshal JSON data into UiNodeDivisionAttributes
err = json.Unmarshal(data, &dst.UiNodeDivisionAttributes)
if err == nil {
return nil // data stored in dst.UiNodeDivisionAttributes, return on the first match
} else {
dst.UiNodeDivisionAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeDivisionAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'uiNodeImageAttributes'
if jsonDict["node_type"] == "uiNodeImageAttributes" {
// try to unmarshal JSON data into UiNodeImageAttributes
err = json.Unmarshal(data, &dst.UiNodeImageAttributes)
if err == nil {
return nil // data stored in dst.UiNodeImageAttributes, return on the first match
} else {
dst.UiNodeImageAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeImageAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'uiNodeInputAttributes'
if jsonDict["node_type"] == "uiNodeInputAttributes" {
// try to unmarshal JSON data into UiNodeInputAttributes
err = json.Unmarshal(data, &dst.UiNodeInputAttributes)
if err == nil {
return nil // data stored in dst.UiNodeInputAttributes, return on the first match
} else {
dst.UiNodeInputAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeInputAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'uiNodeScriptAttributes'
if jsonDict["node_type"] == "uiNodeScriptAttributes" {
// try to unmarshal JSON data into UiNodeScriptAttributes
err = json.Unmarshal(data, &dst.UiNodeScriptAttributes)
if err == nil {
return nil // data stored in dst.UiNodeScriptAttributes, return on the first match
} else {
dst.UiNodeScriptAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeScriptAttributes: %s", err.Error())
}
}
// check if the discriminator value is 'uiNodeTextAttributes'
if jsonDict["node_type"] == "uiNodeTextAttributes" {
// try to unmarshal JSON data into UiNodeTextAttributes
err = json.Unmarshal(data, &dst.UiNodeTextAttributes)
if err == nil {
return nil // data stored in dst.UiNodeTextAttributes, return on the first match
} else {
dst.UiNodeTextAttributes = nil
return fmt.Errorf("failed to unmarshal UiNodeAttributes as UiNodeTextAttributes: %s", err.Error())
}
}
return nil
}
// Marshal data from the first non-nil pointers in the struct to JSON
func (src UiNodeAttributes) MarshalJSON() ([]byte, error) {
if src.UiNodeAnchorAttributes != nil {
return json.Marshal(&src.UiNodeAnchorAttributes)
}
if src.UiNodeDivisionAttributes != nil {
return json.Marshal(&src.UiNodeDivisionAttributes)
}
if src.UiNodeImageAttributes != nil {
return json.Marshal(&src.UiNodeImageAttributes)
}
if src.UiNodeInputAttributes != nil {
return json.Marshal(&src.UiNodeInputAttributes)
}
if src.UiNodeScriptAttributes != nil {
return json.Marshal(&src.UiNodeScriptAttributes)
}
if src.UiNodeTextAttributes != nil {
return json.Marshal(&src.UiNodeTextAttributes)
}
return nil, nil // no data in oneOf schemas
}
// Get the actual instance
func (obj *UiNodeAttributes) GetActualInstance() interface{} {
if obj == nil {
return nil
}
if obj.UiNodeAnchorAttributes != nil {
return obj.UiNodeAnchorAttributes
}
if obj.UiNodeDivisionAttributes != nil {
return obj.UiNodeDivisionAttributes
}
if obj.UiNodeImageAttributes != nil {
return obj.UiNodeImageAttributes
}
if obj.UiNodeInputAttributes != nil {
return obj.UiNodeInputAttributes
}
if obj.UiNodeScriptAttributes != nil {
return obj.UiNodeScriptAttributes
}
if obj.UiNodeTextAttributes != nil {
return obj.UiNodeTextAttributes
}
// all schemas are nil
return nil
}
// Get the actual instance value
func (obj UiNodeAttributes) GetActualInstanceValue() interface{} {
if obj.UiNodeAnchorAttributes != nil {
return *obj.UiNodeAnchorAttributes
}
if obj.UiNodeDivisionAttributes != nil {
return *obj.UiNodeDivisionAttributes
}
if obj.UiNodeImageAttributes != nil {
return *obj.UiNodeImageAttributes
}
if obj.UiNodeInputAttributes != nil {
return *obj.UiNodeInputAttributes
}
if obj.UiNodeScriptAttributes != nil {
return *obj.UiNodeScriptAttributes
}
if obj.UiNodeTextAttributes != nil {
return *obj.UiNodeTextAttributes
}
// all schemas are nil
return nil
}
type NullableUiNodeAttributes struct {
value *UiNodeAttributes
isSet bool
}
func (v NullableUiNodeAttributes) Get() *UiNodeAttributes {
return v.value
}
func (v *NullableUiNodeAttributes) Set(val *UiNodeAttributes) {
v.value = val
v.isSet = true
}
func (v NullableUiNodeAttributes) IsSet() bool {
return v.isSet
}
func (v *NullableUiNodeAttributes) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableUiNodeAttributes(val *UiNodeAttributes) *NullableUiNodeAttributes {
return &NullableUiNodeAttributes{value: val, isSet: true}
}
func (v NullableUiNodeAttributes) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableUiNodeAttributes) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}