-
Notifications
You must be signed in to change notification settings - Fork 0
/
model_auto_sync_enabled_sources_property.go
110 lines (87 loc) · 2.91 KB
/
model_auto_sync_enabled_sources_property.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/*
Carbon
Connect external data to LLMs, no matter the source.
API version: 1.0.0
*/
// Code generated by Konfig (https://konfigthis.com); DO NOT EDIT.
package carbon
import (
"encoding/json"
"fmt"
)
// AutoSyncEnabledSourcesProperty List of data source types to enable auto sync for. Empty array will remove all sources and the string \"ALL\" will enable it for all data sources
type AutoSyncEnabledSourcesProperty struct {
DataSourceTypeArray *[]DataSourceType
String *string
}
// Unmarshal JSON data into any of the pointers in the struct
func (dst *AutoSyncEnabledSourcesProperty) UnmarshalJSON(data []byte) error {
var err error
// this object is nullable so check if the payload is null or empty string
if string(data) == "" || string(data) == "{}" {
return nil
}
// try to unmarshal JSON data into []DataSourceType
err = json.Unmarshal(data, &dst.DataSourceTypeArray);
if err == nil {
jsonDataSourceTypeArray, _ := json.Marshal(dst.DataSourceTypeArray)
if string(jsonDataSourceTypeArray) == "{}" { // empty struct
dst.DataSourceTypeArray = nil
} else {
return nil // data stored in dst.DataSourceTypeArray, return on the first match
}
} else {
dst.DataSourceTypeArray = nil
}
// try to unmarshal JSON data into string
err = json.Unmarshal(data, &dst.String);
if err == nil {
jsonString, _ := json.Marshal(dst.String)
if string(jsonString) == "{}" { // empty struct
dst.String = nil
} else {
return nil // data stored in dst.String, return on the first match
}
} else {
dst.String = nil
}
return fmt.Errorf("data failed to match schemas in anyOf(AutoSyncEnabledSourcesProperty)")
}
// Marshal data from the first non-nil pointers in the struct to JSON
func (src *AutoSyncEnabledSourcesProperty) MarshalJSON() ([]byte, error) {
if src.DataSourceTypeArray != nil {
return json.Marshal(&src.DataSourceTypeArray)
}
if src.String != nil {
return json.Marshal(&src.String)
}
return nil, nil // no data in anyOf schemas
}
type NullableAutoSyncEnabledSourcesProperty struct {
value *AutoSyncEnabledSourcesProperty
isSet bool
}
func (v NullableAutoSyncEnabledSourcesProperty) Get() *AutoSyncEnabledSourcesProperty {
return v.value
}
func (v *NullableAutoSyncEnabledSourcesProperty) Set(val *AutoSyncEnabledSourcesProperty) {
v.value = val
v.isSet = true
}
func (v NullableAutoSyncEnabledSourcesProperty) IsSet() bool {
return v.isSet
}
func (v *NullableAutoSyncEnabledSourcesProperty) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableAutoSyncEnabledSourcesProperty(val *AutoSyncEnabledSourcesProperty) *NullableAutoSyncEnabledSourcesProperty {
return &NullableAutoSyncEnabledSourcesProperty{value: val, isSet: true}
}
func (v NullableAutoSyncEnabledSourcesProperty) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableAutoSyncEnabledSourcesProperty) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}