/
api_op_client.go
117 lines (109 loc) · 4 KB
/
api_op_client.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
109
110
111
112
113
114
115
116
117
// Package assistant contains auto-generated files. DO NOT MODIFY
package assistant
import (
"github.com/RJPearson94/twilio-sdk-go/client"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/defaults"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/dialogue"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/field_type"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/field_types"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/model_build"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/model_builds"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/queries"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/query"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/style_sheet"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/task"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/tasks"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/webhook"
"github.com/RJPearson94/twilio-sdk-go/service/autopilot/v1/assistant/webhooks"
)
// Client for managing a specific assistant resource
// See https://www.twilio.com/docs/autopilot/api/assistant for more details
type Client struct {
client *client.Client
sid string
Defaults func() *defaults.Client
Dialogue func(string) *dialogue.Client
FieldType func(string) *field_type.Client
FieldTypes *field_types.Client
ModelBuild func(string) *model_build.Client
ModelBuilds *model_builds.Client
Queries *queries.Client
Query func(string) *query.Client
StyleSheet func() *style_sheet.Client
Task func(string) *task.Client
Tasks *tasks.Client
Webhook func(string) *webhook.Client
Webhooks *webhooks.Client
}
// ClientProperties are the properties required to manage the assistant resources
type ClientProperties struct {
Sid string
}
// New creates a new instance of the assistant client
func New(client *client.Client, properties ClientProperties) *Client {
return &Client{
client: client,
sid: properties.Sid,
Defaults: func() *defaults.Client {
return defaults.New(client, defaults.ClientProperties{
AssistantSid: properties.Sid,
})
},
Dialogue: func(dialogueSid string) *dialogue.Client {
return dialogue.New(client, dialogue.ClientProperties{
AssistantSid: properties.Sid,
Sid: dialogueSid,
})
},
FieldType: func(fieldTypeSid string) *field_type.Client {
return field_type.New(client, field_type.ClientProperties{
AssistantSid: properties.Sid,
Sid: fieldTypeSid,
})
},
FieldTypes: field_types.New(client, field_types.ClientProperties{
AssistantSid: properties.Sid,
}),
ModelBuild: func(modelBuildSid string) *model_build.Client {
return model_build.New(client, model_build.ClientProperties{
AssistantSid: properties.Sid,
Sid: modelBuildSid,
})
},
ModelBuilds: model_builds.New(client, model_builds.ClientProperties{
AssistantSid: properties.Sid,
}),
Queries: queries.New(client, queries.ClientProperties{
AssistantSid: properties.Sid,
}),
Query: func(querySid string) *query.Client {
return query.New(client, query.ClientProperties{
AssistantSid: properties.Sid,
Sid: querySid,
})
},
StyleSheet: func() *style_sheet.Client {
return style_sheet.New(client, style_sheet.ClientProperties{
AssistantSid: properties.Sid,
})
},
Task: func(taskSid string) *task.Client {
return task.New(client, task.ClientProperties{
AssistantSid: properties.Sid,
Sid: taskSid,
})
},
Tasks: tasks.New(client, tasks.ClientProperties{
AssistantSid: properties.Sid,
}),
Webhook: func(webhookSid string) *webhook.Client {
return webhook.New(client, webhook.ClientProperties{
AssistantSid: properties.Sid,
Sid: webhookSid,
})
},
Webhooks: webhooks.New(client, webhooks.ClientProperties{
AssistantSid: properties.Sid,
}),
}
}