knockapi 1.13.0 → 1.15.0
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 +4 -4
- data/CHANGELOG.md +28 -0
- data/README.md +1 -1
- data/lib/knockapi/client.rb +6 -2
- data/lib/knockapi/errors.rb +25 -11
- data/lib/knockapi/internal/entries_cursor.rb +1 -1
- data/lib/knockapi/internal/items_cursor.rb +1 -1
- data/lib/knockapi/internal/ms_teams_pagination.rb +1 -1
- data/lib/knockapi/internal/slack_channels_cursor.rb +1 -1
- data/lib/knockapi/internal/transport/base_client.rb +11 -7
- data/lib/knockapi/internal/type/base_page.rb +1 -1
- data/lib/knockapi/internal/util.rb +1 -1
- data/lib/knockapi/resources/audiences.rb +4 -4
- data/lib/knockapi/resources/objects.rb +4 -4
- data/lib/knockapi/resources/tenants.rb +2 -2
- data/lib/knockapi/resources/users/guides.rb +3 -3
- data/lib/knockapi/resources/users.rb +4 -4
- data/lib/knockapi/resources/workflows.rb +2 -2
- data/lib/knockapi/version.rb +1 -1
- data/lib/knockapi.rb +0 -8
- data/rbi/knockapi/client.rbi +4 -2
- data/rbi/knockapi/errors.rbi +29 -2
- data/rbi/knockapi/internal/transport/base_client.rbi +4 -5
- data/rbi/knockapi/internal/type/base_page.rbi +1 -1
- data/rbi/knockapi/internal/util.rbi +1 -1
- data/rbi/knockapi/resources/audiences.rbi +2 -2
- data/rbi/knockapi/resources/objects.rbi +2 -2
- data/rbi/knockapi/resources/tenants.rbi +1 -1
- data/rbi/knockapi/resources/users/guides.rbi +0 -3
- data/rbi/knockapi/resources/users.rbi +2 -2
- data/rbi/knockapi/resources/workflows.rbi +1 -1
- data/sig/knockapi/client.rbs +2 -1
- data/sig/knockapi/errors.rbs +7 -0
- data/sig/knockapi/resources/audiences.rbs +2 -2
- data/sig/knockapi/resources/objects.rbs +2 -2
- data/sig/knockapi/resources/tenants.rbs +1 -4
- data/sig/knockapi/resources/users.rbs +2 -2
- data/sig/knockapi/resources/workflows.rbs +1 -1
- metadata +2 -26
- data/lib/knockapi/models/audience_add_members_response.rb +0 -7
- data/lib/knockapi/models/audience_remove_members_response.rb +0 -7
- data/lib/knockapi/models/object_delete_response.rb +0 -7
- data/lib/knockapi/models/object_unset_channel_data_response.rb +0 -7
- data/lib/knockapi/models/tenant_delete_response.rb +0 -7
- data/lib/knockapi/models/user_delete_response.rb +0 -7
- data/lib/knockapi/models/user_unset_channel_data_response.rb +0 -7
- data/lib/knockapi/models/workflow_cancel_response.rb +0 -7
- data/rbi/knockapi/models/audience_add_members_response.rbi +0 -7
- data/rbi/knockapi/models/audience_remove_members_response.rbi +0 -7
- data/rbi/knockapi/models/object_delete_response.rbi +0 -7
- data/rbi/knockapi/models/object_unset_channel_data_response.rbi +0 -7
- data/rbi/knockapi/models/tenant_delete_response.rbi +0 -7
- data/rbi/knockapi/models/user_delete_response.rbi +0 -7
- data/rbi/knockapi/models/user_unset_channel_data_response.rbi +0 -7
- data/rbi/knockapi/models/workflow_cancel_response.rbi +0 -7
- data/sig/knockapi/models/audience_add_members_response.rbs +0 -5
- data/sig/knockapi/models/audience_remove_members_response.rbs +0 -5
- data/sig/knockapi/models/object_delete_response.rbs +0 -5
- data/sig/knockapi/models/object_unset_channel_data_response.rbs +0 -5
- data/sig/knockapi/models/tenant_delete_response.rbs +0 -5
- data/sig/knockapi/models/user_delete_response.rbs +0 -5
- data/sig/knockapi/models/user_unset_channel_data_response.rbs +0 -5
- data/sig/knockapi/models/workflow_cancel_response.rbs +0 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d72e806e4aa7f07a86c10e93b8e6060c1da2860ab3d8af247e6c20e83bedacf
|
4
|
+
data.tar.gz: 49d2bd4bfe5cc74233d8549938819497bf410f7b2d5686cb8c2096c6f86d40db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18b9a4fcab27e4ed869e66b8f189f3ddd780dbe6636eba4a29b143d1cc5362a4069812f55a65041b92b5a1820fe8be29b0b08dd16bfb791504b9e1b163d9cb00
|
7
|
+
data.tar.gz: 2c8f5226db4d52750c0905dfc38de19ba144cc771e4b4d9316972f7395641f22a09eebae4e0f63315d4d1450172d490502eed29a13e4959888a932529bfefa35
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,33 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.15.0 (2025-09-23)
|
4
|
+
|
5
|
+
Full Changelog: [v1.14.0...v1.15.0](https://github.com/knocklabs/knock-ruby/compare/v1.14.0...v1.15.0)
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* **api:** api update ([9e20ef7](https://github.com/knocklabs/knock-ruby/commit/9e20ef78f55bd98a4a44ad32a85c63d5b0f7da97))
|
10
|
+
* **api:** api update ([f6a598f](https://github.com/knocklabs/knock-ruby/commit/f6a598f8caab8d8fadc652efa12ebbbc62a5d3dc))
|
11
|
+
* **api:** set idempotency key header by default ([14e4fac](https://github.com/knocklabs/knock-ruby/commit/14e4face034def9abbb45120d5c1af1cb415b689))
|
12
|
+
|
13
|
+
|
14
|
+
### Chores
|
15
|
+
|
16
|
+
* improve example values ([3745058](https://github.com/knocklabs/knock-ruby/commit/37450588f7a937fec2ab49ab04c7142493c7d646))
|
17
|
+
|
18
|
+
## 1.14.0 (2025-09-19)
|
19
|
+
|
20
|
+
Full Changelog: [v1.13.0...v1.14.0](https://github.com/knocklabs/knock-ruby/compare/v1.13.0...v1.14.0)
|
21
|
+
|
22
|
+
### Features
|
23
|
+
|
24
|
+
* expose response headers for both streams and errors ([5cbf48f](https://github.com/knocklabs/knock-ruby/commit/5cbf48f94eecc974a2e3d9a200a04bbfc9d08db4))
|
25
|
+
|
26
|
+
|
27
|
+
### Chores
|
28
|
+
|
29
|
+
* do not install brew dependencies in ./scripts/bootstrap by default ([daac840](https://github.com/knocklabs/knock-ruby/commit/daac84029a5ba728f68163b9cccb77dacf56a6b1))
|
30
|
+
|
3
31
|
## 1.13.0 (2025-09-10)
|
4
32
|
|
5
33
|
Full Changelog: [v1.12.0...v1.13.0](https://github.com/knocklabs/knock-ruby/compare/v1.12.0...v1.13.0)
|
data/README.md
CHANGED
data/lib/knockapi/client.rb
CHANGED
@@ -80,13 +80,16 @@ module Knockapi
|
|
80
80
|
# @param initial_retry_delay [Float]
|
81
81
|
#
|
82
82
|
# @param max_retry_delay [Float]
|
83
|
+
#
|
84
|
+
# @param idempotency_header [String]
|
83
85
|
def initialize(
|
84
86
|
api_key: ENV["KNOCK_API_KEY"],
|
85
87
|
base_url: ENV["KNOCK_BASE_URL"],
|
86
88
|
max_retries: self.class::DEFAULT_MAX_RETRIES,
|
87
89
|
timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
|
88
90
|
initial_retry_delay: self.class::DEFAULT_INITIAL_RETRY_DELAY,
|
89
|
-
max_retry_delay: self.class::DEFAULT_MAX_RETRY_DELAY
|
91
|
+
max_retry_delay: self.class::DEFAULT_MAX_RETRY_DELAY,
|
92
|
+
idempotency_header: "Idempotency-Key"
|
90
93
|
)
|
91
94
|
base_url ||= "https://api.knock.app"
|
92
95
|
|
@@ -101,7 +104,8 @@ module Knockapi
|
|
101
104
|
timeout: timeout,
|
102
105
|
max_retries: max_retries,
|
103
106
|
initial_retry_delay: initial_retry_delay,
|
104
|
-
max_retry_delay: max_retry_delay
|
107
|
+
max_retry_delay: max_retry_delay,
|
108
|
+
idempotency_header: idempotency_header
|
105
109
|
)
|
106
110
|
|
107
111
|
@shared = Knockapi::Resources::Shared.new(client: self)
|
data/lib/knockapi/errors.rb
CHANGED
@@ -40,6 +40,9 @@ module Knockapi
|
|
40
40
|
# @return [Integer, nil]
|
41
41
|
attr_accessor :status
|
42
42
|
|
43
|
+
# @return [Hash{String=>String}, nil]
|
44
|
+
attr_accessor :headers
|
45
|
+
|
43
46
|
# @return [Object, nil]
|
44
47
|
attr_accessor :body
|
45
48
|
|
@@ -47,13 +50,15 @@ module Knockapi
|
|
47
50
|
#
|
48
51
|
# @param url [URI::Generic]
|
49
52
|
# @param status [Integer, nil]
|
53
|
+
# @param headers [Hash{String=>String}, nil]
|
50
54
|
# @param body [Object, nil]
|
51
55
|
# @param request [nil]
|
52
56
|
# @param response [nil]
|
53
57
|
# @param message [String, nil]
|
54
|
-
def initialize(url:, status: nil, body: nil, request: nil, response: nil, message: nil)
|
58
|
+
def initialize(url:, status: nil, headers: nil, body: nil, request: nil, response: nil, message: nil)
|
55
59
|
@url = url
|
56
60
|
@status = status
|
61
|
+
@headers = headers
|
57
62
|
@body = body
|
58
63
|
@request = request
|
59
64
|
@response = response
|
@@ -74,6 +79,7 @@ module Knockapi
|
|
74
79
|
#
|
75
80
|
# @param url [URI::Generic]
|
76
81
|
# @param status [nil]
|
82
|
+
# @param headers [Hash{String=>String}, nil]
|
77
83
|
# @param body [nil]
|
78
84
|
# @param request [nil]
|
79
85
|
# @param response [nil]
|
@@ -81,6 +87,7 @@ module Knockapi
|
|
81
87
|
def initialize(
|
82
88
|
url:,
|
83
89
|
status: nil,
|
90
|
+
headers: nil,
|
84
91
|
body: nil,
|
85
92
|
request: nil,
|
86
93
|
response: nil,
|
@@ -95,6 +102,7 @@ module Knockapi
|
|
95
102
|
#
|
96
103
|
# @param url [URI::Generic]
|
97
104
|
# @param status [nil]
|
105
|
+
# @param headers [Hash{String=>String}, nil]
|
98
106
|
# @param body [nil]
|
99
107
|
# @param request [nil]
|
100
108
|
# @param response [nil]
|
@@ -102,6 +110,7 @@ module Knockapi
|
|
102
110
|
def initialize(
|
103
111
|
url:,
|
104
112
|
status: nil,
|
113
|
+
headers: nil,
|
105
114
|
body: nil,
|
106
115
|
request: nil,
|
107
116
|
response: nil,
|
@@ -116,21 +125,24 @@ module Knockapi
|
|
116
125
|
#
|
117
126
|
# @param url [URI::Generic]
|
118
127
|
# @param status [Integer]
|
128
|
+
# @param headers [Hash{String=>String}, nil]
|
119
129
|
# @param body [Object, nil]
|
120
130
|
# @param request [nil]
|
121
131
|
# @param response [nil]
|
122
132
|
# @param message [String, nil]
|
123
133
|
#
|
124
134
|
# @return [self]
|
125
|
-
def self.for(url:, status:, body:, request:, response:, message: nil)
|
126
|
-
kwargs =
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
135
|
+
def self.for(url:, status:, headers:, body:, request:, response:, message: nil)
|
136
|
+
kwargs =
|
137
|
+
{
|
138
|
+
url: url,
|
139
|
+
status: status,
|
140
|
+
headers: headers,
|
141
|
+
body: body,
|
142
|
+
request: request,
|
143
|
+
response: response,
|
144
|
+
message: message
|
145
|
+
}
|
134
146
|
|
135
147
|
case status
|
136
148
|
in 400
|
@@ -162,15 +174,17 @@ module Knockapi
|
|
162
174
|
#
|
163
175
|
# @param url [URI::Generic]
|
164
176
|
# @param status [Integer]
|
177
|
+
# @param headers [Hash{String=>String}, nil]
|
165
178
|
# @param body [Object, nil]
|
166
179
|
# @param request [nil]
|
167
180
|
# @param response [nil]
|
168
181
|
# @param message [String, nil]
|
169
|
-
def initialize(url:, status:, body:, request:, response:, message: nil)
|
182
|
+
def initialize(url:, status:, headers:, body:, request:, response:, message: nil)
|
170
183
|
message ||= {url: url.to_s, status: status, body: body}
|
171
184
|
super(
|
172
185
|
url: url,
|
173
186
|
status: status,
|
187
|
+
headers: headers,
|
174
188
|
body: body,
|
175
189
|
request: request,
|
176
190
|
response: response,
|
@@ -60,7 +60,7 @@ module Knockapi
|
|
60
60
|
#
|
61
61
|
# @param client [Knockapi::Internal::Transport::BaseClient]
|
62
62
|
# @param req [Hash{Symbol=>Object}]
|
63
|
-
# @param headers [Hash{String=>String}
|
63
|
+
# @param headers [Hash{String=>String}]
|
64
64
|
# @param page_data [Hash{Symbol=>Object}]
|
65
65
|
def initialize(client:, req:, headers:, page_data:)
|
66
66
|
super
|
@@ -60,7 +60,7 @@ module Knockapi
|
|
60
60
|
#
|
61
61
|
# @param client [Knockapi::Internal::Transport::BaseClient]
|
62
62
|
# @param req [Hash{Symbol=>Object}]
|
63
|
-
# @param headers [Hash{String=>String}
|
63
|
+
# @param headers [Hash{String=>String}]
|
64
64
|
# @param page_data [Hash{Symbol=>Object}]
|
65
65
|
def initialize(client:, req:, headers:, page_data:)
|
66
66
|
super
|
@@ -60,7 +60,7 @@ module Knockapi
|
|
60
60
|
#
|
61
61
|
# @param client [Knockapi::Internal::Transport::BaseClient]
|
62
62
|
# @param req [Hash{Symbol=>Object}]
|
63
|
-
# @param headers [Hash{String=>String}
|
63
|
+
# @param headers [Hash{String=>String}]
|
64
64
|
# @param page_data [Hash{Symbol=>Object}]
|
65
65
|
def initialize(client:, req:, headers:, page_data:)
|
66
66
|
super
|
@@ -60,7 +60,7 @@ module Knockapi
|
|
60
60
|
#
|
61
61
|
# @param client [Knockapi::Internal::Transport::BaseClient]
|
62
62
|
# @param req [Hash{Symbol=>Object}]
|
63
|
-
# @param headers [Hash{String=>String}
|
63
|
+
# @param headers [Hash{String=>String}]
|
64
64
|
# @param page_data [Hash{Symbol=>Object}]
|
65
65
|
def initialize(client:, req:, headers:, page_data:)
|
66
66
|
super
|
@@ -47,7 +47,7 @@ module Knockapi
|
|
47
47
|
# @api private
|
48
48
|
#
|
49
49
|
# @param status [Integer]
|
50
|
-
# @param headers [Hash{String=>String}
|
50
|
+
# @param headers [Hash{String=>String}]
|
51
51
|
#
|
52
52
|
# @return [Boolean]
|
53
53
|
def should_retry?(status, headers:)
|
@@ -85,7 +85,7 @@ module Knockapi
|
|
85
85
|
#
|
86
86
|
# @param status [Integer]
|
87
87
|
#
|
88
|
-
# @param response_headers [Hash{String=>String}
|
88
|
+
# @param response_headers [Hash{String=>String}]
|
89
89
|
#
|
90
90
|
# @return [Hash{Symbol=>Object}]
|
91
91
|
def follow_redirect(request, status:, response_headers:)
|
@@ -378,6 +378,7 @@ module Knockapi
|
|
378
378
|
rescue Knockapi::Errors::APIConnectionError => e
|
379
379
|
status = e
|
380
380
|
end
|
381
|
+
headers = Knockapi::Internal::Util.normalized_headers(response&.each_header&.to_h)
|
381
382
|
|
382
383
|
case status
|
383
384
|
in ..299
|
@@ -390,7 +391,7 @@ module Knockapi
|
|
390
391
|
in 300..399
|
391
392
|
self.class.reap_connection!(status, stream: stream)
|
392
393
|
|
393
|
-
request = self.class.follow_redirect(request, status: status, response_headers:
|
394
|
+
request = self.class.follow_redirect(request, status: status, response_headers: headers)
|
394
395
|
send_request(
|
395
396
|
request,
|
396
397
|
redirect_count: redirect_count + 1,
|
@@ -399,9 +400,9 @@ module Knockapi
|
|
399
400
|
)
|
400
401
|
in Knockapi::Errors::APIConnectionError if retry_count >= max_retries
|
401
402
|
raise status
|
402
|
-
in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers:
|
403
|
+
in (400..) if retry_count >= max_retries || !self.class.should_retry?(status, headers: headers)
|
403
404
|
decoded = Kernel.then do
|
404
|
-
Knockapi::Internal::Util.decode_content(
|
405
|
+
Knockapi::Internal::Util.decode_content(headers, stream: stream, suppress_error: true)
|
405
406
|
ensure
|
406
407
|
self.class.reap_connection!(status, stream: stream)
|
407
408
|
end
|
@@ -409,6 +410,7 @@ module Knockapi
|
|
409
410
|
raise Knockapi::Errors::APIStatusError.for(
|
410
411
|
url: url,
|
411
412
|
status: status,
|
413
|
+
headers: headers,
|
412
414
|
body: decoded,
|
413
415
|
request: nil,
|
414
416
|
response: response
|
@@ -485,19 +487,21 @@ module Knockapi
|
|
485
487
|
send_retry_header: send_retry_header
|
486
488
|
)
|
487
489
|
|
488
|
-
|
490
|
+
headers = Knockapi::Internal::Util.normalized_headers(response.each_header.to_h)
|
491
|
+
decoded = Knockapi::Internal::Util.decode_content(headers, stream: stream)
|
489
492
|
case req
|
490
493
|
in {stream: Class => st}
|
491
494
|
st.new(
|
492
495
|
model: model,
|
493
496
|
url: url,
|
494
497
|
status: status,
|
498
|
+
headers: headers,
|
495
499
|
response: response,
|
496
500
|
unwrap: unwrap,
|
497
501
|
stream: decoded
|
498
502
|
)
|
499
503
|
in {page: Class => page}
|
500
|
-
page.new(client: self, req: req, headers:
|
504
|
+
page.new(client: self, req: req, headers: headers, page_data: decoded)
|
501
505
|
else
|
502
506
|
unwrapped = Knockapi::Internal::Util.dig(decoded, unwrap)
|
503
507
|
Knockapi::Internal::Type::Converter.coerce(model, unwrapped)
|
@@ -39,7 +39,7 @@ module Knockapi
|
|
39
39
|
#
|
40
40
|
# @param client [Knockapi::Internal::Transport::BaseClient]
|
41
41
|
# @param req [Hash{Symbol=>Object}]
|
42
|
-
# @param headers [Hash{String=>String}
|
42
|
+
# @param headers [Hash{String=>String}]
|
43
43
|
# @param page_data [Object]
|
44
44
|
def initialize(client:, req:, headers:, page_data:)
|
45
45
|
@client = client
|
@@ -647,7 +647,7 @@ module Knockapi
|
|
647
647
|
#
|
648
648
|
# Assumes each chunk in stream has `Encoding::BINARY`.
|
649
649
|
#
|
650
|
-
# @param headers [Hash{String=>String}
|
650
|
+
# @param headers [Hash{String=>String}]
|
651
651
|
# @param stream [Enumerable<String>]
|
652
652
|
# @param suppress_error [Boolean]
|
653
653
|
#
|
@@ -13,7 +13,7 @@ module Knockapi
|
|
13
13
|
#
|
14
14
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
15
15
|
#
|
16
|
-
# @return [
|
16
|
+
# @return [nil]
|
17
17
|
#
|
18
18
|
# @see Knockapi::Models::AudienceAddMembersParams
|
19
19
|
def add_members(key, params)
|
@@ -22,7 +22,7 @@ module Knockapi
|
|
22
22
|
method: :post,
|
23
23
|
path: ["v1/audiences/%1$s/members", key],
|
24
24
|
body: parsed,
|
25
|
-
model:
|
25
|
+
model: NilClass,
|
26
26
|
options: options
|
27
27
|
)
|
28
28
|
end
|
@@ -57,7 +57,7 @@ module Knockapi
|
|
57
57
|
#
|
58
58
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
59
59
|
#
|
60
|
-
# @return [
|
60
|
+
# @return [nil]
|
61
61
|
#
|
62
62
|
# @see Knockapi::Models::AudienceRemoveMembersParams
|
63
63
|
def remove_members(key, params)
|
@@ -66,7 +66,7 @@ module Knockapi
|
|
66
66
|
method: :delete,
|
67
67
|
path: ["v1/audiences/%1$s/members", key],
|
68
68
|
body: parsed,
|
69
|
-
model:
|
69
|
+
model: NilClass,
|
70
70
|
options: options
|
71
71
|
)
|
72
72
|
end
|
@@ -49,14 +49,14 @@ module Knockapi
|
|
49
49
|
#
|
50
50
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
51
51
|
#
|
52
|
-
# @return [
|
52
|
+
# @return [nil]
|
53
53
|
#
|
54
54
|
# @see Knockapi::Models::ObjectDeleteParams
|
55
55
|
def delete(collection, id, params = {})
|
56
56
|
@client.request(
|
57
57
|
method: :delete,
|
58
58
|
path: ["v1/objects/%1$s/%2$s", collection, id],
|
59
|
-
model:
|
59
|
+
model: NilClass,
|
60
60
|
options: params[:request_options]
|
61
61
|
)
|
62
62
|
end
|
@@ -478,14 +478,14 @@ module Knockapi
|
|
478
478
|
#
|
479
479
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
480
480
|
#
|
481
|
-
# @return [
|
481
|
+
# @return [nil]
|
482
482
|
#
|
483
483
|
# @see Knockapi::Models::ObjectUnsetChannelDataParams
|
484
484
|
def unset_channel_data(collection, object_id_, channel_id, params = {})
|
485
485
|
@client.request(
|
486
486
|
method: :delete,
|
487
487
|
path: ["v1/objects/%1$s/%2$s/channel_data/%3$s", collection, object_id_, channel_id],
|
488
|
-
model:
|
488
|
+
model: NilClass,
|
489
489
|
options: params[:request_options]
|
490
490
|
)
|
491
491
|
end
|
@@ -45,14 +45,14 @@ module Knockapi
|
|
45
45
|
#
|
46
46
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
47
47
|
#
|
48
|
-
# @return [
|
48
|
+
# @return [nil]
|
49
49
|
#
|
50
50
|
# @see Knockapi::Models::TenantDeleteParams
|
51
51
|
def delete(id, params = {})
|
52
52
|
@client.request(
|
53
53
|
method: :delete,
|
54
54
|
path: ["v1/tenants/%1$s", id],
|
55
|
-
model:
|
55
|
+
model: NilClass,
|
56
56
|
options: params[:request_options]
|
57
57
|
)
|
58
58
|
end
|
@@ -41,7 +41,7 @@ module Knockapi
|
|
41
41
|
#
|
42
42
|
# @param user_id [String] The unique identifier of the user.
|
43
43
|
#
|
44
|
-
# @param message_id [String]
|
44
|
+
# @param message_id [String]
|
45
45
|
#
|
46
46
|
# @param channel_id [String] The unique identifier for the channel.
|
47
47
|
#
|
@@ -84,7 +84,7 @@ module Knockapi
|
|
84
84
|
#
|
85
85
|
# @param user_id [String] The unique identifier of the user.
|
86
86
|
#
|
87
|
-
# @param message_id [String]
|
87
|
+
# @param message_id [String]
|
88
88
|
#
|
89
89
|
# @param channel_id [String] The unique identifier for the channel.
|
90
90
|
#
|
@@ -127,7 +127,7 @@ module Knockapi
|
|
127
127
|
#
|
128
128
|
# @param user_id [String] The unique identifier of the user.
|
129
129
|
#
|
130
|
-
# @param message_id [String]
|
130
|
+
# @param message_id [String]
|
131
131
|
#
|
132
132
|
# @param channel_id [String] The unique identifier for the channel.
|
133
133
|
#
|
@@ -95,14 +95,14 @@ module Knockapi
|
|
95
95
|
#
|
96
96
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
97
97
|
#
|
98
|
-
# @return [
|
98
|
+
# @return [nil]
|
99
99
|
#
|
100
100
|
# @see Knockapi::Models::UserDeleteParams
|
101
101
|
def delete(user_id, params = {})
|
102
102
|
@client.request(
|
103
103
|
method: :delete,
|
104
104
|
path: ["v1/users/%1$s", user_id],
|
105
|
-
model:
|
105
|
+
model: NilClass,
|
106
106
|
options: params[:request_options]
|
107
107
|
)
|
108
108
|
end
|
@@ -420,14 +420,14 @@ module Knockapi
|
|
420
420
|
#
|
421
421
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
422
422
|
#
|
423
|
-
# @return [
|
423
|
+
# @return [nil]
|
424
424
|
#
|
425
425
|
# @see Knockapi::Models::UserUnsetChannelDataParams
|
426
426
|
def unset_channel_data(user_id, channel_id, params = {})
|
427
427
|
@client.request(
|
428
428
|
method: :delete,
|
429
429
|
path: ["v1/users/%1$s/channel_data/%2$s", user_id, channel_id],
|
430
|
-
model:
|
430
|
+
model: NilClass,
|
431
431
|
options: params[:request_options]
|
432
432
|
)
|
433
433
|
end
|
@@ -20,7 +20,7 @@ module Knockapi
|
|
20
20
|
#
|
21
21
|
# @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
|
22
22
|
#
|
23
|
-
# @return [
|
23
|
+
# @return [nil]
|
24
24
|
#
|
25
25
|
# @see Knockapi::Models::WorkflowCancelParams
|
26
26
|
def cancel(key, params)
|
@@ -29,7 +29,7 @@ module Knockapi
|
|
29
29
|
method: :post,
|
30
30
|
path: ["v1/workflows/%1$s/cancel", key],
|
31
31
|
body: parsed,
|
32
|
-
model:
|
32
|
+
model: NilClass,
|
33
33
|
options: options
|
34
34
|
)
|
35
35
|
end
|
data/lib/knockapi/version.rb
CHANGED
data/lib/knockapi.rb
CHANGED
@@ -59,12 +59,10 @@ require_relative "knockapi/models/recipients/preference_set_request"
|
|
59
59
|
require_relative "knockapi/models/identify_user_request"
|
60
60
|
require_relative "knockapi/models/activity"
|
61
61
|
require_relative "knockapi/models/audience_add_members_params"
|
62
|
-
require_relative "knockapi/models/audience_add_members_response"
|
63
62
|
require_relative "knockapi/models/audience_list_members_params"
|
64
63
|
require_relative "knockapi/models/audience_list_members_response"
|
65
64
|
require_relative "knockapi/models/audience_member"
|
66
65
|
require_relative "knockapi/models/audience_remove_members_params"
|
67
|
-
require_relative "knockapi/models/audience_remove_members_response"
|
68
66
|
require_relative "knockapi/models/bulk_operation"
|
69
67
|
require_relative "knockapi/models/bulk_operation_get_params"
|
70
68
|
require_relative "knockapi/models/channels/bulk_update_message_status_params"
|
@@ -113,7 +111,6 @@ require_relative "knockapi/models/object"
|
|
113
111
|
require_relative "knockapi/models/object_add_subscriptions_params"
|
114
112
|
require_relative "knockapi/models/object_add_subscriptions_response"
|
115
113
|
require_relative "knockapi/models/object_delete_params"
|
116
|
-
require_relative "knockapi/models/object_delete_response"
|
117
114
|
require_relative "knockapi/models/object_delete_subscriptions_params"
|
118
115
|
require_relative "knockapi/models/object_delete_subscriptions_response"
|
119
116
|
require_relative "knockapi/models/object_get_channel_data_params"
|
@@ -132,7 +129,6 @@ require_relative "knockapi/models/object_set_channel_data_params"
|
|
132
129
|
require_relative "knockapi/models/object_set_params"
|
133
130
|
require_relative "knockapi/models/object_set_preferences_params"
|
134
131
|
require_relative "knockapi/models/object_unset_channel_data_params"
|
135
|
-
require_relative "knockapi/models/object_unset_channel_data_response"
|
136
132
|
require_relative "knockapi/models/page_info"
|
137
133
|
require_relative "knockapi/models/providers/ms_team_check_auth_params"
|
138
134
|
require_relative "knockapi/models/providers/ms_team_check_auth_response"
|
@@ -175,7 +171,6 @@ require_relative "knockapi/models/schedule_update_params"
|
|
175
171
|
require_relative "knockapi/models/schedule_update_response"
|
176
172
|
require_relative "knockapi/models/tenant"
|
177
173
|
require_relative "knockapi/models/tenant_delete_params"
|
178
|
-
require_relative "knockapi/models/tenant_delete_response"
|
179
174
|
require_relative "knockapi/models/tenant_get_params"
|
180
175
|
require_relative "knockapi/models/tenant_list_params"
|
181
176
|
require_relative "knockapi/models/tenant_request"
|
@@ -184,7 +179,6 @@ require_relative "knockapi/models/tenants/bulk_set_params"
|
|
184
179
|
require_relative "knockapi/models/tenant_set_params"
|
185
180
|
require_relative "knockapi/models/user"
|
186
181
|
require_relative "knockapi/models/user_delete_params"
|
187
|
-
require_relative "knockapi/models/user_delete_response"
|
188
182
|
require_relative "knockapi/models/user_get_channel_data_params"
|
189
183
|
require_relative "knockapi/models/user_get_params"
|
190
184
|
require_relative "knockapi/models/user_get_preferences_params"
|
@@ -213,10 +207,8 @@ require_relative "knockapi/models/users/guide_mark_message_as_seen_response"
|
|
213
207
|
require_relative "knockapi/models/user_set_channel_data_params"
|
214
208
|
require_relative "knockapi/models/user_set_preferences_params"
|
215
209
|
require_relative "knockapi/models/user_unset_channel_data_params"
|
216
|
-
require_relative "knockapi/models/user_unset_channel_data_response"
|
217
210
|
require_relative "knockapi/models/user_update_params"
|
218
211
|
require_relative "knockapi/models/workflow_cancel_params"
|
219
|
-
require_relative "knockapi/models/workflow_cancel_response"
|
220
212
|
require_relative "knockapi/models/workflow_trigger_params"
|
221
213
|
require_relative "knockapi/models/workflow_trigger_response"
|
222
214
|
require_relative "knockapi/models"
|
data/rbi/knockapi/client.rbi
CHANGED
@@ -65,7 +65,8 @@ module Knockapi
|
|
65
65
|
max_retries: Integer,
|
66
66
|
timeout: Float,
|
67
67
|
initial_retry_delay: Float,
|
68
|
-
max_retry_delay: Float
|
68
|
+
max_retry_delay: Float,
|
69
|
+
idempotency_header: String
|
69
70
|
).returns(T.attached_class)
|
70
71
|
end
|
71
72
|
def self.new(
|
@@ -78,7 +79,8 @@ module Knockapi
|
|
78
79
|
max_retries: Knockapi::Client::DEFAULT_MAX_RETRIES,
|
79
80
|
timeout: Knockapi::Client::DEFAULT_TIMEOUT_IN_SECONDS,
|
80
81
|
initial_retry_delay: Knockapi::Client::DEFAULT_INITIAL_RETRY_DELAY,
|
81
|
-
max_retry_delay: Knockapi::Client::DEFAULT_MAX_RETRY_DELAY
|
82
|
+
max_retry_delay: Knockapi::Client::DEFAULT_MAX_RETRY_DELAY,
|
83
|
+
idempotency_header: "Idempotency-Key"
|
82
84
|
)
|
83
85
|
end
|
84
86
|
end
|