apollo-deploy-signal-sdk 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +5 -0
- data/LICENSE +21 -0
- data/README.md +79 -0
- data/docs/README.md +30 -0
- data/docs/domains/api-keys.md +92 -0
- data/docs/domains/contact-properties.md +122 -0
- data/docs/domains/contacts.md +394 -0
- data/docs/domains/emails.md +150 -0
- data/docs/domains/metrics.md +131 -0
- data/docs/domains/projects.md +127 -0
- data/docs/domains/segments.md +116 -0
- data/docs/domains/sending-domains.md +160 -0
- data/docs/domains/suppressions.md +120 -0
- data/docs/domains/topics.md +141 -0
- data/docs/domains/webhooks.md +200 -0
- data/docs/types.md +1225 -0
- data/lib/apollo-deploy-signal-sdk.rb +3 -0
- data/lib/apollo_deploy_signal_sdk/client.rb +111 -0
- data/lib/apollo_deploy_signal_sdk/errors.rb +150 -0
- data/lib/apollo_deploy_signal_sdk/resources/api-keys.rb +86 -0
- data/lib/apollo_deploy_signal_sdk/resources/contact-properties.rb +108 -0
- data/lib/apollo_deploy_signal_sdk/resources/contacts.rb +356 -0
- data/lib/apollo_deploy_signal_sdk/resources/emails.rb +128 -0
- data/lib/apollo_deploy_signal_sdk/resources/metrics.rb +122 -0
- data/lib/apollo_deploy_signal_sdk/resources/projects.rb +114 -0
- data/lib/apollo_deploy_signal_sdk/resources/segments.rb +105 -0
- data/lib/apollo_deploy_signal_sdk/resources/sending-domains.rb +144 -0
- data/lib/apollo_deploy_signal_sdk/resources/suppressions.rb +104 -0
- data/lib/apollo_deploy_signal_sdk/resources/topics.rb +126 -0
- data/lib/apollo_deploy_signal_sdk/resources/webhooks.rb +184 -0
- data/lib/apollo_deploy_signal_sdk/transport.rb +618 -0
- data/lib/apollo_deploy_signal_sdk/types.rb +4917 -0
- data/lib/apollo_deploy_signal_sdk/version.rb +5 -0
- data/lib/apollo_deploy_signal_sdk.rb +47 -0
- metadata +135 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# segments API domain
|
|
8
|
+
class Segments
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @param project_id [String]
|
|
16
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
17
|
+
# @return [SegmentPageResponse]
|
|
18
|
+
def list_segments(project_id:)
|
|
19
|
+
path_params = {
|
|
20
|
+
"projectId" => project_id,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
transport.request(
|
|
24
|
+
method: :get,
|
|
25
|
+
path: "/v1/projects/${projectId}/segments",
|
|
26
|
+
path_params: path_params,
|
|
27
|
+
timeout_ms: nil,
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @param project_id [String]
|
|
32
|
+
# @param segment_id [String]
|
|
33
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
34
|
+
# @return [SegmentResponse]
|
|
35
|
+
def get_segment(project_id:, segment_id:)
|
|
36
|
+
path_params = {
|
|
37
|
+
"projectId" => project_id,
|
|
38
|
+
"segmentId" => segment_id,
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
transport.request(
|
|
42
|
+
method: :get,
|
|
43
|
+
path: "/v1/projects/${projectId}/segments/${segmentId}",
|
|
44
|
+
path_params: path_params,
|
|
45
|
+
timeout_ms: nil,
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @param project_id [String]
|
|
50
|
+
# @param segment_id [String]
|
|
51
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
52
|
+
# @return [CursorPage]
|
|
53
|
+
def list_contacts_in_segment(project_id:, segment_id:)
|
|
54
|
+
path_params = {
|
|
55
|
+
"projectId" => project_id,
|
|
56
|
+
"segmentId" => segment_id,
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
transport.request(
|
|
60
|
+
method: :get,
|
|
61
|
+
path: "/v1/projects/${projectId}/segments/${segmentId}/contacts",
|
|
62
|
+
path_params: path_params,
|
|
63
|
+
timeout_ms: nil,
|
|
64
|
+
)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# @param project_id [String]
|
|
68
|
+
# @param body [CreateSegmentBody] request body
|
|
69
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
70
|
+
# @return [SegmentResponse]
|
|
71
|
+
def create_segment(project_id:, body:)
|
|
72
|
+
path_params = {
|
|
73
|
+
"projectId" => project_id,
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
transport.request(
|
|
77
|
+
method: :post,
|
|
78
|
+
path: "/v1/projects/${projectId}/segments",
|
|
79
|
+
path_params: path_params,
|
|
80
|
+
body: body,
|
|
81
|
+
content_type: "application/json",
|
|
82
|
+
timeout_ms: nil,
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @param project_id [String]
|
|
87
|
+
# @param segment_id [String]
|
|
88
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
89
|
+
# @return [nil]
|
|
90
|
+
def delete_segment(project_id:, segment_id:)
|
|
91
|
+
path_params = {
|
|
92
|
+
"projectId" => project_id,
|
|
93
|
+
"segmentId" => segment_id,
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
transport.request(
|
|
97
|
+
method: :delete,
|
|
98
|
+
path: "/v1/projects/${projectId}/segments/${segmentId}",
|
|
99
|
+
path_params: path_params,
|
|
100
|
+
timeout_ms: nil,
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
end
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# sendingDomains API domain
|
|
8
|
+
class SendingDomains
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @param project_id [String]
|
|
16
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
17
|
+
# @return [DomainListPageResponse]
|
|
18
|
+
def list_domains(project_id:)
|
|
19
|
+
path_params = {
|
|
20
|
+
"projectId" => project_id,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
transport.request(
|
|
24
|
+
method: :get,
|
|
25
|
+
path: "/v1/projects/${projectId}/domains",
|
|
26
|
+
path_params: path_params,
|
|
27
|
+
timeout_ms: nil,
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @param project_id [String]
|
|
32
|
+
# @param domain_id [String]
|
|
33
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
34
|
+
# @return [DomainResponse]
|
|
35
|
+
def get_domain(project_id:, domain_id:)
|
|
36
|
+
path_params = {
|
|
37
|
+
"projectId" => project_id,
|
|
38
|
+
"domainId" => domain_id,
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
transport.request(
|
|
42
|
+
method: :get,
|
|
43
|
+
path: "/v1/projects/${projectId}/domains/${domainId}",
|
|
44
|
+
path_params: path_params,
|
|
45
|
+
timeout_ms: nil,
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @param project_id [String]
|
|
50
|
+
# @param body [RegisterDomainRequest] request body
|
|
51
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
52
|
+
# @return [DomainResponse]
|
|
53
|
+
def register_domain(project_id:, body:)
|
|
54
|
+
path_params = {
|
|
55
|
+
"projectId" => project_id,
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
transport.request(
|
|
59
|
+
method: :post,
|
|
60
|
+
path: "/v1/projects/${projectId}/domains",
|
|
61
|
+
path_params: path_params,
|
|
62
|
+
body: body,
|
|
63
|
+
content_type: "application/json",
|
|
64
|
+
timeout_ms: nil,
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# @param project_id [String]
|
|
69
|
+
# @param domain_id [String]
|
|
70
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
71
|
+
# @return [DomainResponse]
|
|
72
|
+
def verify_domain(project_id:, domain_id:)
|
|
73
|
+
path_params = {
|
|
74
|
+
"projectId" => project_id,
|
|
75
|
+
"domainId" => domain_id,
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
transport.request(
|
|
79
|
+
method: :post,
|
|
80
|
+
path: "/v1/projects/${projectId}/domains/${domainId}/verify",
|
|
81
|
+
path_params: path_params,
|
|
82
|
+
timeout_ms: nil,
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @param project_id [String]
|
|
87
|
+
# @param domain_id [String]
|
|
88
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
89
|
+
# @return [nil]
|
|
90
|
+
def delete_domain(project_id:, domain_id:)
|
|
91
|
+
path_params = {
|
|
92
|
+
"projectId" => project_id,
|
|
93
|
+
"domainId" => domain_id,
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
transport.request(
|
|
97
|
+
method: :delete,
|
|
98
|
+
path: "/v1/projects/${projectId}/domains/${domainId}",
|
|
99
|
+
path_params: path_params,
|
|
100
|
+
timeout_ms: nil,
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# @param project_id [String]
|
|
105
|
+
# @param domain_id [String]
|
|
106
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
107
|
+
# @return [DomainResponse]
|
|
108
|
+
def verify_bimi(project_id:, domain_id:)
|
|
109
|
+
path_params = {
|
|
110
|
+
"projectId" => project_id,
|
|
111
|
+
"domainId" => domain_id,
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
transport.request(
|
|
115
|
+
method: :post,
|
|
116
|
+
path: "/v1/projects/${projectId}/domains/${domainId}/bimi/verify",
|
|
117
|
+
path_params: path_params,
|
|
118
|
+
timeout_ms: nil,
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# @param project_id [String]
|
|
123
|
+
# @param domain_id [String]
|
|
124
|
+
# @param body [UpdateBimiRequest] request body
|
|
125
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
126
|
+
# @return [DomainResponse]
|
|
127
|
+
def update_bimi(project_id:, domain_id:, body:)
|
|
128
|
+
path_params = {
|
|
129
|
+
"projectId" => project_id,
|
|
130
|
+
"domainId" => domain_id,
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
transport.request(
|
|
134
|
+
method: :patch,
|
|
135
|
+
path: "/v1/projects/${projectId}/domains/${domainId}/bimi",
|
|
136
|
+
path_params: path_params,
|
|
137
|
+
body: body,
|
|
138
|
+
content_type: "application/json",
|
|
139
|
+
timeout_ms: nil,
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
end
|
|
144
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# suppressions API domain
|
|
8
|
+
class Suppressions
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @param project_id [String]
|
|
16
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
17
|
+
# @return [SuppressionPageResponse]
|
|
18
|
+
def list_suppressions(project_id:)
|
|
19
|
+
path_params = {
|
|
20
|
+
"projectId" => project_id,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
transport.request(
|
|
24
|
+
method: :get,
|
|
25
|
+
path: "/v1/projects/${projectId}/suppressions",
|
|
26
|
+
path_params: path_params,
|
|
27
|
+
timeout_ms: nil,
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @param project_id [String]
|
|
32
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
33
|
+
# @return [nil]
|
|
34
|
+
def export_suppressions(project_id:)
|
|
35
|
+
path_params = {
|
|
36
|
+
"projectId" => project_id,
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
transport.request(
|
|
40
|
+
method: :get,
|
|
41
|
+
path: "/v1/projects/${projectId}/suppressions/export",
|
|
42
|
+
path_params: path_params,
|
|
43
|
+
timeout_ms: nil,
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# @param project_id [String]
|
|
48
|
+
# @param body [AddSuppressionBody] request body
|
|
49
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
50
|
+
# @return [SuppressionResponse]
|
|
51
|
+
def add_suppression(project_id:, body:)
|
|
52
|
+
path_params = {
|
|
53
|
+
"projectId" => project_id,
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
transport.request(
|
|
57
|
+
method: :post,
|
|
58
|
+
path: "/v1/projects/${projectId}/suppressions",
|
|
59
|
+
path_params: path_params,
|
|
60
|
+
body: body,
|
|
61
|
+
content_type: "application/json",
|
|
62
|
+
timeout_ms: nil,
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# @param project_id [String]
|
|
67
|
+
# @param email [String]
|
|
68
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
69
|
+
# @return [nil]
|
|
70
|
+
def remove_suppression(project_id:, email:)
|
|
71
|
+
path_params = {
|
|
72
|
+
"projectId" => project_id,
|
|
73
|
+
"email" => email,
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
transport.request(
|
|
77
|
+
method: :delete,
|
|
78
|
+
path: "/v1/projects/${projectId}/suppressions/${email}",
|
|
79
|
+
path_params: path_params,
|
|
80
|
+
timeout_ms: nil,
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# @param project_id [String]
|
|
85
|
+
# @param body [SuppressionImportBody] request body
|
|
86
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
87
|
+
# @return [SuppressionImportResponse]
|
|
88
|
+
def import_suppressions(project_id:, body:)
|
|
89
|
+
path_params = {
|
|
90
|
+
"projectId" => project_id,
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
transport.request(
|
|
94
|
+
method: :post,
|
|
95
|
+
path: "/v1/projects/${projectId}/suppressions/import",
|
|
96
|
+
path_params: path_params,
|
|
97
|
+
body: body,
|
|
98
|
+
content_type: "application/json",
|
|
99
|
+
timeout_ms: nil,
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# topics API domain
|
|
8
|
+
class Topics
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @param project_id [String]
|
|
16
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
17
|
+
# @return [TopicPageResponse]
|
|
18
|
+
def list_topics(project_id:)
|
|
19
|
+
path_params = {
|
|
20
|
+
"projectId" => project_id,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
transport.request(
|
|
24
|
+
method: :get,
|
|
25
|
+
path: "/v1/projects/${projectId}/topics",
|
|
26
|
+
path_params: path_params,
|
|
27
|
+
timeout_ms: nil,
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @param project_id [String]
|
|
32
|
+
# @param topic_id [String]
|
|
33
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
34
|
+
# @return [TopicResponse]
|
|
35
|
+
def get_topic(project_id:, topic_id:)
|
|
36
|
+
path_params = {
|
|
37
|
+
"projectId" => project_id,
|
|
38
|
+
"topicId" => topic_id,
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
transport.request(
|
|
42
|
+
method: :get,
|
|
43
|
+
path: "/v1/projects/${projectId}/topics/${topicId}",
|
|
44
|
+
path_params: path_params,
|
|
45
|
+
timeout_ms: nil,
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @param project_id [String]
|
|
50
|
+
# @param topic_id [String]
|
|
51
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
52
|
+
# @return [CursorPage]
|
|
53
|
+
def list_contacts_in_topic(project_id:, topic_id:)
|
|
54
|
+
path_params = {
|
|
55
|
+
"projectId" => project_id,
|
|
56
|
+
"topicId" => topic_id,
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
transport.request(
|
|
60
|
+
method: :get,
|
|
61
|
+
path: "/v1/projects/${projectId}/topics/${topicId}/contacts",
|
|
62
|
+
path_params: path_params,
|
|
63
|
+
timeout_ms: nil,
|
|
64
|
+
)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# @param project_id [String]
|
|
68
|
+
# @param body [CreateTopicBody] request body
|
|
69
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
70
|
+
# @return [TopicResponse]
|
|
71
|
+
def create_topic(project_id:, body:)
|
|
72
|
+
path_params = {
|
|
73
|
+
"projectId" => project_id,
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
transport.request(
|
|
77
|
+
method: :post,
|
|
78
|
+
path: "/v1/projects/${projectId}/topics",
|
|
79
|
+
path_params: path_params,
|
|
80
|
+
body: body,
|
|
81
|
+
content_type: "application/json",
|
|
82
|
+
timeout_ms: nil,
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @param project_id [String]
|
|
87
|
+
# @param topic_id [String]
|
|
88
|
+
# @param body [UpdateTopicBody] request body
|
|
89
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
90
|
+
# @return [TopicResponse]
|
|
91
|
+
def update_topic(project_id:, topic_id:, body:)
|
|
92
|
+
path_params = {
|
|
93
|
+
"projectId" => project_id,
|
|
94
|
+
"topicId" => topic_id,
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
transport.request(
|
|
98
|
+
method: :patch,
|
|
99
|
+
path: "/v1/projects/${projectId}/topics/${topicId}",
|
|
100
|
+
path_params: path_params,
|
|
101
|
+
body: body,
|
|
102
|
+
content_type: "application/json",
|
|
103
|
+
timeout_ms: nil,
|
|
104
|
+
)
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# @param project_id [String]
|
|
108
|
+
# @param topic_id [String]
|
|
109
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
110
|
+
# @return [nil]
|
|
111
|
+
def delete_topic(project_id:, topic_id:)
|
|
112
|
+
path_params = {
|
|
113
|
+
"projectId" => project_id,
|
|
114
|
+
"topicId" => topic_id,
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
transport.request(
|
|
118
|
+
method: :delete,
|
|
119
|
+
path: "/v1/projects/${projectId}/topics/${topicId}",
|
|
120
|
+
path_params: path_params,
|
|
121
|
+
timeout_ms: nil,
|
|
122
|
+
)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
end
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../transport"
|
|
4
|
+
require_relative "../errors"
|
|
5
|
+
|
|
6
|
+
module ApolloDeploySignalSdk
|
|
7
|
+
# webhooks API domain
|
|
8
|
+
class Webhooks
|
|
9
|
+
attr_reader :transport
|
|
10
|
+
|
|
11
|
+
def initialize(transport)
|
|
12
|
+
@transport = transport
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# @param project_id [String]
|
|
16
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
17
|
+
# @return [WebhookPageResponse]
|
|
18
|
+
def list_webhooks(project_id:)
|
|
19
|
+
path_params = {
|
|
20
|
+
"projectId" => project_id,
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
transport.request(
|
|
24
|
+
method: :get,
|
|
25
|
+
path: "/v1/projects/${projectId}/webhooks",
|
|
26
|
+
path_params: path_params,
|
|
27
|
+
timeout_ms: nil,
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# @param project_id [String]
|
|
32
|
+
# @param endpoint_id [String]
|
|
33
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
34
|
+
# @return [WebhookResponse]
|
|
35
|
+
def get_webhook(project_id:, endpoint_id:)
|
|
36
|
+
path_params = {
|
|
37
|
+
"projectId" => project_id,
|
|
38
|
+
"endpointId" => endpoint_id,
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
transport.request(
|
|
42
|
+
method: :get,
|
|
43
|
+
path: "/v1/projects/${projectId}/webhooks/${endpointId}",
|
|
44
|
+
path_params: path_params,
|
|
45
|
+
timeout_ms: nil,
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @param project_id [String]
|
|
50
|
+
# @param endpoint_id [String]
|
|
51
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
52
|
+
# @return [WebhookDeliveryPageResponse]
|
|
53
|
+
def list_webhook_deliveries(project_id:, endpoint_id:)
|
|
54
|
+
path_params = {
|
|
55
|
+
"projectId" => project_id,
|
|
56
|
+
"endpointId" => endpoint_id,
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
transport.request(
|
|
60
|
+
method: :get,
|
|
61
|
+
path: "/v1/projects/${projectId}/webhooks/${endpointId}/deliveries",
|
|
62
|
+
path_params: path_params,
|
|
63
|
+
timeout_ms: nil,
|
|
64
|
+
)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# @param project_id [String]
|
|
68
|
+
# @param endpoint_id [String]
|
|
69
|
+
# @param delivery_id [String]
|
|
70
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
71
|
+
# @return [WebhookDeliveryResponse]
|
|
72
|
+
def get_webhook_delivery(project_id:, endpoint_id:, delivery_id:)
|
|
73
|
+
path_params = {
|
|
74
|
+
"projectId" => project_id,
|
|
75
|
+
"endpointId" => endpoint_id,
|
|
76
|
+
"deliveryId" => delivery_id,
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
transport.request(
|
|
80
|
+
method: :get,
|
|
81
|
+
path: "/v1/projects/${projectId}/webhooks/${endpointId}/deliveries/${deliveryId}",
|
|
82
|
+
path_params: path_params,
|
|
83
|
+
timeout_ms: nil,
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# @param project_id [String]
|
|
88
|
+
# @param body [CreateWebhookBody] request body
|
|
89
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
90
|
+
# @return [WebhookCreateResponse]
|
|
91
|
+
def create_webhook(project_id:, body:)
|
|
92
|
+
path_params = {
|
|
93
|
+
"projectId" => project_id,
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
transport.request(
|
|
97
|
+
method: :post,
|
|
98
|
+
path: "/v1/projects/${projectId}/webhooks",
|
|
99
|
+
path_params: path_params,
|
|
100
|
+
body: body,
|
|
101
|
+
content_type: "application/json",
|
|
102
|
+
timeout_ms: nil,
|
|
103
|
+
)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# @param project_id [String]
|
|
107
|
+
# @param endpoint_id [String]
|
|
108
|
+
# @param body [UpdateWebhookBody] request body
|
|
109
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
110
|
+
# @return [WebhookResponse]
|
|
111
|
+
def update_webhook(project_id:, endpoint_id:, body:)
|
|
112
|
+
path_params = {
|
|
113
|
+
"projectId" => project_id,
|
|
114
|
+
"endpointId" => endpoint_id,
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
transport.request(
|
|
118
|
+
method: :patch,
|
|
119
|
+
path: "/v1/projects/${projectId}/webhooks/${endpointId}",
|
|
120
|
+
path_params: path_params,
|
|
121
|
+
body: body,
|
|
122
|
+
content_type: "application/json",
|
|
123
|
+
timeout_ms: nil,
|
|
124
|
+
)
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# @param project_id [String]
|
|
128
|
+
# @param endpoint_id [String]
|
|
129
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
130
|
+
# @return [nil]
|
|
131
|
+
def delete_webhook(project_id:, endpoint_id:)
|
|
132
|
+
path_params = {
|
|
133
|
+
"projectId" => project_id,
|
|
134
|
+
"endpointId" => endpoint_id,
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
transport.request(
|
|
138
|
+
method: :delete,
|
|
139
|
+
path: "/v1/projects/${projectId}/webhooks/${endpointId}",
|
|
140
|
+
path_params: path_params,
|
|
141
|
+
timeout_ms: nil,
|
|
142
|
+
)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# @param project_id [String]
|
|
146
|
+
# @param endpoint_id [String]
|
|
147
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
148
|
+
# @return [WebhookDeliveryResponse]
|
|
149
|
+
def test_webhook(project_id:, endpoint_id:)
|
|
150
|
+
path_params = {
|
|
151
|
+
"projectId" => project_id,
|
|
152
|
+
"endpointId" => endpoint_id,
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
transport.request(
|
|
156
|
+
method: :post,
|
|
157
|
+
path: "/v1/projects/${projectId}/webhooks/${endpointId}/test",
|
|
158
|
+
path_params: path_params,
|
|
159
|
+
timeout_ms: nil,
|
|
160
|
+
)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# @param project_id [String]
|
|
164
|
+
# @param endpoint_id [String]
|
|
165
|
+
# @param delivery_id [String]
|
|
166
|
+
# @raise [ApolloDeploySignalSdk::SDKError]
|
|
167
|
+
# @return [nil]
|
|
168
|
+
def replay_webhook_delivery(project_id:, endpoint_id:, delivery_id:)
|
|
169
|
+
path_params = {
|
|
170
|
+
"projectId" => project_id,
|
|
171
|
+
"endpointId" => endpoint_id,
|
|
172
|
+
"deliveryId" => delivery_id,
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
transport.request(
|
|
176
|
+
method: :post,
|
|
177
|
+
path: "/v1/projects/${projectId}/webhooks/${endpointId}/replay/${deliveryId}",
|
|
178
|
+
path_params: path_params,
|
|
179
|
+
timeout_ms: nil,
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
end
|
|
184
|
+
end
|