forked from MyPureCloud/platform-client-sdk-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
actioninput.go
77 lines (57 loc) · 2.59 KB
/
actioninput.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
package platformclientv2
import (
"github.com/leekchan/timeutil"
"encoding/json"
"strconv"
"strings"
)
// Actioninput - Input requirements of Action.
type Actioninput struct {
// InputSchema - JSON Schema that defines the body of the request that the client (edge/architect/postman) is sending to the service, on the /execute path. If the 'flatten' query parameter is omitted or false, this field will be returned. Either inputSchema or inputSchemaFlattened will be returned, not both.
InputSchema *Jsonschemadocument `json:"inputSchema"`
// InputSchemaFlattened - JSON Schema that defines the body of the request that the client (edge/architect/postman) is sending to the service, on the /execute path. The schema is transformed based on Architect's flattened format. If the 'flatten' query parameter is supplied as true, this field will be returned. Either inputSchema or inputSchemaFlattened will be returned, not both.
InputSchemaFlattened *Jsonschemadocument `json:"inputSchemaFlattened"`
// InputSchemaUri - The URI of the input schema
InputSchemaUri *string `json:"inputSchemaUri"`
}
func (o *Actioninput) MarshalJSON() ([]byte, error) {
// Redundant initialization to avoid unused import errors for models with no Time values
_ = timeutil.Timedelta{}
type Alias Actioninput
return json.Marshal(&struct {
InputSchema *Jsonschemadocument `json:"inputSchema"`
InputSchemaFlattened *Jsonschemadocument `json:"inputSchemaFlattened"`
InputSchemaUri *string `json:"inputSchemaUri"`
*Alias
}{
InputSchema: o.InputSchema,
InputSchemaFlattened: o.InputSchemaFlattened,
InputSchemaUri: o.InputSchemaUri,
Alias: (*Alias)(o),
})
}
func (o *Actioninput) UnmarshalJSON(b []byte) error {
var ActioninputMap map[string]interface{}
err := json.Unmarshal(b, &ActioninputMap)
if err != nil {
return err
}
if InputSchema, ok := ActioninputMap["inputSchema"].(map[string]interface{}); ok {
InputSchemaString, _ := json.Marshal(InputSchema)
json.Unmarshal(InputSchemaString, &o.InputSchema)
}
if InputSchemaFlattened, ok := ActioninputMap["inputSchemaFlattened"].(map[string]interface{}); ok {
InputSchemaFlattenedString, _ := json.Marshal(InputSchemaFlattened)
json.Unmarshal(InputSchemaFlattenedString, &o.InputSchemaFlattened)
}
if InputSchemaUri, ok := ActioninputMap["inputSchemaUri"].(string); ok {
o.InputSchemaUri = &InputSchemaUri
}
return nil
}
// String returns a JSON representation of the model
func (o *Actioninput) String() string {
j, _ := json.Marshal(o)
str, _ := strconv.Unquote(strings.Replace(strconv.Quote(string(j)), `\\u`, `\u`, -1))
return str
}