/
api_op_client.go
105 lines (97 loc) · 3.92 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
// Package service contains auto-generated files. DO NOT MODIFY
package service
import (
"github.com/RJPearson94/twilio-sdk-go/client"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/access_tokens"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/entities"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/entity"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/messaging_configuration"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/messaging_configurations"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/rate_limit"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/rate_limits"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/verification"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/verification_check"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/verifications"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/webhook"
"github.com/RJPearson94/twilio-sdk-go/service/verify/v2/service/webhooks"
)
// Client for managing a specific service resource
// See https://www.twilio.com/docs/verify/api/service for more details
type Client struct {
client *client.Client
sid string
AccessTokens *access_tokens.Client
Entities *entities.Client
Entity func(string) *entity.Client
MessagingConfiguration func(string) *messaging_configuration.Client
MessagingConfigurations *messaging_configurations.Client
RateLimit func(string) *rate_limit.Client
RateLimits *rate_limits.Client
Verification func(string) *verification.Client
VerificationCheck *verification_check.Client
Verifications *verifications.Client
Webhook func(string) *webhook.Client
Webhooks *webhooks.Client
}
// ClientProperties are the properties required to manage the service resources
type ClientProperties struct {
Sid string
}
// New creates a new instance of the service client
func New(client *client.Client, properties ClientProperties) *Client {
return &Client{
client: client,
sid: properties.Sid,
AccessTokens: access_tokens.New(client, access_tokens.ClientProperties{
ServiceSid: properties.Sid,
}),
Entities: entities.New(client, entities.ClientProperties{
ServiceSid: properties.Sid,
}),
Entity: func(identity string) *entity.Client {
return entity.New(client, entity.ClientProperties{
Identity: identity,
ServiceSid: properties.Sid,
})
},
MessagingConfiguration: func(countryCode string) *messaging_configuration.Client {
return messaging_configuration.New(client, messaging_configuration.ClientProperties{
CountryCode: countryCode,
ServiceSid: properties.Sid,
})
},
MessagingConfigurations: messaging_configurations.New(client, messaging_configurations.ClientProperties{
ServiceSid: properties.Sid,
}),
RateLimit: func(rateLimitSid string) *rate_limit.Client {
return rate_limit.New(client, rate_limit.ClientProperties{
ServiceSid: properties.Sid,
Sid: rateLimitSid,
})
},
RateLimits: rate_limits.New(client, rate_limits.ClientProperties{
ServiceSid: properties.Sid,
}),
Verification: func(verificationSid string) *verification.Client {
return verification.New(client, verification.ClientProperties{
ServiceSid: properties.Sid,
Sid: verificationSid,
})
},
VerificationCheck: verification_check.New(client, verification_check.ClientProperties{
ServiceSid: properties.Sid,
}),
Verifications: verifications.New(client, verifications.ClientProperties{
ServiceSid: properties.Sid,
}),
Webhook: func(webhookSid string) *webhook.Client {
return webhook.New(client, webhook.ClientProperties{
ServiceSid: properties.Sid,
Sid: webhookSid,
})
},
Webhooks: webhooks.New(client, webhooks.ClientProperties{
ServiceSid: properties.Sid,
}),
}
}