knockapi 1.35.0 → 1.36.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 +63 -0
- data/README.md +1 -1
- data/lib/knockapi/client.rb +17 -0
- data/lib/knockapi/internal/transport/base_client.rb +5 -0
- data/lib/knockapi/internal/util.rb +21 -5
- data/lib/knockapi/models/condition.rb +1 -0
- data/lib/knockapi/models/message.rb +33 -1
- data/lib/knockapi/models/message_event.rb +11 -11
- data/lib/knockapi/models/object_unset_preferences_params.rb +32 -0
- data/lib/knockapi/models/providers/ms_team_check_auth_response.rb +9 -1
- data/lib/knockapi/models/recipients/slack_channel_data.rb +21 -6
- data/lib/knockapi/models/tenant.rb +35 -1
- data/lib/knockapi/models/tenant_request.rb +35 -1
- data/lib/knockapi/models/user_unset_preferences_params.rb +26 -0
- data/lib/knockapi/models/users/bulk_set_preferences_params.rb +221 -4
- data/lib/knockapi/models/users/guide_get_channel_response.rb +9 -1
- data/lib/knockapi/models/workflow_cancel_params.rb +6 -6
- data/lib/knockapi/models/workflow_recipient_run.rb +193 -0
- data/lib/knockapi/models/workflow_recipient_run_detail.rb +19 -0
- data/lib/knockapi/models/workflow_recipient_run_event.rb +99 -0
- data/lib/knockapi/models/workflow_recipient_run_get_params.rb +20 -0
- data/lib/knockapi/models/workflow_recipient_run_list_params.rb +112 -0
- data/lib/knockapi/models/workflow_trigger_params.rb +42 -7
- data/lib/knockapi/models.rb +14 -0
- data/lib/knockapi/resources/objects.rb +24 -0
- data/lib/knockapi/resources/users/bulk.rb +4 -1
- data/lib/knockapi/resources/users.rb +22 -0
- data/lib/knockapi/resources/workflow_recipient_runs.rb +81 -0
- data/lib/knockapi/resources/workflows.rb +5 -3
- data/lib/knockapi/version.rb +1 -1
- data/lib/knockapi.rb +8 -0
- data/rbi/knockapi/client.rbi +5 -0
- data/rbi/knockapi/internal/util.rbi +8 -0
- data/rbi/knockapi/models/condition.rbi +2 -0
- data/rbi/knockapi/models/message.rbi +59 -0
- data/rbi/knockapi/models/message_event.rbi +26 -26
- data/rbi/knockapi/models/object_unset_preferences_params.rbi +51 -0
- data/rbi/knockapi/models/providers/ms_team_check_auth_response.rbi +18 -4
- data/rbi/knockapi/models/recipients/slack_channel_data.rbi +57 -7
- data/rbi/knockapi/models/tenant.rbi +36 -0
- data/rbi/knockapi/models/tenant_request.rbi +36 -0
- data/rbi/knockapi/models/user_unset_preferences_params.rbi +46 -0
- data/rbi/knockapi/models/users/bulk_set_preferences_params.rbi +527 -6
- data/rbi/knockapi/models/users/guide_get_channel_response.rbi +11 -0
- data/rbi/knockapi/models/workflow_cancel_params.rbi +10 -10
- data/rbi/knockapi/models/workflow_recipient_run.rbi +318 -0
- data/rbi/knockapi/models/workflow_recipient_run_detail.rbi +39 -0
- data/rbi/knockapi/models/workflow_recipient_run_event.rbi +137 -0
- data/rbi/knockapi/models/workflow_recipient_run_get_params.rbi +38 -0
- data/rbi/knockapi/models/workflow_recipient_run_list_params.rbi +229 -0
- data/rbi/knockapi/models/workflow_trigger_params.rbi +76 -10
- data/rbi/knockapi/models.rbi +16 -0
- data/rbi/knockapi/resources/objects.rbi +20 -0
- data/rbi/knockapi/resources/users/bulk.rbi +4 -2
- data/rbi/knockapi/resources/users.rbi +17 -0
- data/rbi/knockapi/resources/workflow_recipient_runs.rbi +79 -0
- data/rbi/knockapi/resources/workflows.rbi +14 -10
- data/sig/knockapi/client.rbs +2 -0
- data/sig/knockapi/internal/util.rbs +4 -0
- data/sig/knockapi/models/condition.rbs +2 -0
- data/sig/knockapi/models/message.rbs +19 -0
- data/sig/knockapi/models/message_event.rbs +22 -22
- data/sig/knockapi/models/object_unset_preferences_params.rbs +32 -0
- data/sig/knockapi/models/providers/ms_team_check_auth_response.rbs +15 -4
- data/sig/knockapi/models/recipients/slack_channel_data.rbs +21 -4
- data/sig/knockapi/models/tenant.rbs +20 -0
- data/sig/knockapi/models/tenant_request.rbs +20 -0
- data/sig/knockapi/models/user_unset_preferences_params.rbs +28 -0
- data/sig/knockapi/models/users/bulk_set_preferences_params.rbs +149 -4
- data/sig/knockapi/models/users/guide_get_channel_response.rbs +7 -0
- data/sig/knockapi/models/workflow_recipient_run.rbs +146 -0
- data/sig/knockapi/models/workflow_recipient_run_detail.rbs +20 -0
- data/sig/knockapi/models/workflow_recipient_run_event.rbs +73 -0
- data/sig/knockapi/models/workflow_recipient_run_get_params.rbs +20 -0
- data/sig/knockapi/models/workflow_recipient_run_list_params.rbs +109 -0
- data/sig/knockapi/models/workflow_trigger_params.rbs +17 -0
- data/sig/knockapi/models.rbs +14 -0
- data/sig/knockapi/resources/objects.rbs +7 -0
- data/sig/knockapi/resources/users/bulk.rbs +1 -1
- data/sig/knockapi/resources/users.rbs +6 -0
- data/sig/knockapi/resources/workflow_recipient_runs.rbs +26 -0
- data/sig/knockapi/resources/workflows.rbs +1 -0
- metadata +26 -2
|
@@ -15,13 +15,15 @@ module Knockapi
|
|
|
15
15
|
)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
# A
|
|
19
|
-
|
|
18
|
+
# A preference set to apply in a bulk operation. Always replaces existing
|
|
19
|
+
# preferences for the specified set.
|
|
20
|
+
sig { returns(Knockapi::Users::BulkSetPreferencesParams::Preferences) }
|
|
20
21
|
attr_reader :preferences
|
|
21
22
|
|
|
22
23
|
sig do
|
|
23
24
|
params(
|
|
24
|
-
preferences:
|
|
25
|
+
preferences:
|
|
26
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::OrHash
|
|
25
27
|
).void
|
|
26
28
|
end
|
|
27
29
|
attr_writer :preferences
|
|
@@ -32,13 +34,15 @@ module Knockapi
|
|
|
32
34
|
|
|
33
35
|
sig do
|
|
34
36
|
params(
|
|
35
|
-
preferences:
|
|
37
|
+
preferences:
|
|
38
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::OrHash,
|
|
36
39
|
user_ids: T::Array[String],
|
|
37
40
|
request_options: Knockapi::RequestOptions::OrHash
|
|
38
41
|
).returns(T.attached_class)
|
|
39
42
|
end
|
|
40
43
|
def self.new(
|
|
41
|
-
# A
|
|
44
|
+
# A preference set to apply in a bulk operation. Always replaces existing
|
|
45
|
+
# preferences for the specified set.
|
|
42
46
|
preferences:,
|
|
43
47
|
# A list of user IDs.
|
|
44
48
|
user_ids:,
|
|
@@ -49,7 +53,8 @@ module Knockapi
|
|
|
49
53
|
sig do
|
|
50
54
|
override.returns(
|
|
51
55
|
{
|
|
52
|
-
preferences:
|
|
56
|
+
preferences:
|
|
57
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences,
|
|
53
58
|
user_ids: T::Array[String],
|
|
54
59
|
request_options: Knockapi::RequestOptions
|
|
55
60
|
}
|
|
@@ -57,6 +62,522 @@ module Knockapi
|
|
|
57
62
|
end
|
|
58
63
|
def to_hash
|
|
59
64
|
end
|
|
65
|
+
|
|
66
|
+
class Preferences < Knockapi::Internal::Type::BaseModel
|
|
67
|
+
OrHash =
|
|
68
|
+
T.type_alias do
|
|
69
|
+
T.any(
|
|
70
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences,
|
|
71
|
+
Knockapi::Internal::AnyHash
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# Identifier for the preference set to update. Can be `default` or a tenant ID.
|
|
76
|
+
sig { returns(T.nilable(String)) }
|
|
77
|
+
attr_reader :id
|
|
78
|
+
|
|
79
|
+
sig { params(id: String).void }
|
|
80
|
+
attr_writer :id
|
|
81
|
+
|
|
82
|
+
# An object where the key is the category and the values are the preference
|
|
83
|
+
# settings for that category.
|
|
84
|
+
sig do
|
|
85
|
+
returns(
|
|
86
|
+
T.nilable(
|
|
87
|
+
T::Hash[
|
|
88
|
+
Symbol,
|
|
89
|
+
T.any(
|
|
90
|
+
T::Boolean,
|
|
91
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Category::PreferenceSetWorkflowCategorySettingObject
|
|
92
|
+
)
|
|
93
|
+
]
|
|
94
|
+
)
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
attr_accessor :categories
|
|
98
|
+
|
|
99
|
+
# Channel type preferences.
|
|
100
|
+
sig do
|
|
101
|
+
returns(T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes))
|
|
102
|
+
end
|
|
103
|
+
attr_reader :channel_types
|
|
104
|
+
|
|
105
|
+
sig do
|
|
106
|
+
params(
|
|
107
|
+
channel_types:
|
|
108
|
+
T.nilable(
|
|
109
|
+
Knockapi::Recipients::PreferenceSetChannelTypes::OrHash
|
|
110
|
+
)
|
|
111
|
+
).void
|
|
112
|
+
end
|
|
113
|
+
attr_writer :channel_types
|
|
114
|
+
|
|
115
|
+
# Channel preferences.
|
|
116
|
+
sig do
|
|
117
|
+
returns(
|
|
118
|
+
T.nilable(
|
|
119
|
+
T::Hash[
|
|
120
|
+
Symbol,
|
|
121
|
+
T.any(
|
|
122
|
+
T::Boolean,
|
|
123
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
124
|
+
)
|
|
125
|
+
]
|
|
126
|
+
)
|
|
127
|
+
)
|
|
128
|
+
end
|
|
129
|
+
attr_accessor :channels
|
|
130
|
+
|
|
131
|
+
# Whether the recipient is subscribed to commercial communications. When false,
|
|
132
|
+
# the recipient will not receive commercial workflow notifications.
|
|
133
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
134
|
+
attr_accessor :commercial_subscribed
|
|
135
|
+
|
|
136
|
+
# An object where the key is the workflow key and the values are the preference
|
|
137
|
+
# settings for that workflow.
|
|
138
|
+
sig do
|
|
139
|
+
returns(
|
|
140
|
+
T.nilable(
|
|
141
|
+
T::Hash[
|
|
142
|
+
Symbol,
|
|
143
|
+
T.any(
|
|
144
|
+
T::Boolean,
|
|
145
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Workflow::PreferenceSetWorkflowCategorySettingObject
|
|
146
|
+
)
|
|
147
|
+
]
|
|
148
|
+
)
|
|
149
|
+
)
|
|
150
|
+
end
|
|
151
|
+
attr_accessor :workflows
|
|
152
|
+
|
|
153
|
+
# A preference set to apply in a bulk operation. Always replaces existing
|
|
154
|
+
# preferences for the specified set.
|
|
155
|
+
sig do
|
|
156
|
+
params(
|
|
157
|
+
id: String,
|
|
158
|
+
categories:
|
|
159
|
+
T.nilable(
|
|
160
|
+
T::Hash[
|
|
161
|
+
Symbol,
|
|
162
|
+
T.any(
|
|
163
|
+
T::Boolean,
|
|
164
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Category::PreferenceSetWorkflowCategorySettingObject::OrHash
|
|
165
|
+
)
|
|
166
|
+
]
|
|
167
|
+
),
|
|
168
|
+
channel_types:
|
|
169
|
+
T.nilable(
|
|
170
|
+
Knockapi::Recipients::PreferenceSetChannelTypes::OrHash
|
|
171
|
+
),
|
|
172
|
+
channels:
|
|
173
|
+
T.nilable(
|
|
174
|
+
T::Hash[
|
|
175
|
+
Symbol,
|
|
176
|
+
T.any(
|
|
177
|
+
T::Boolean,
|
|
178
|
+
Knockapi::Recipients::PreferenceSetChannelSetting::OrHash
|
|
179
|
+
)
|
|
180
|
+
]
|
|
181
|
+
),
|
|
182
|
+
commercial_subscribed: T.nilable(T::Boolean),
|
|
183
|
+
workflows:
|
|
184
|
+
T.nilable(
|
|
185
|
+
T::Hash[
|
|
186
|
+
Symbol,
|
|
187
|
+
T.any(
|
|
188
|
+
T::Boolean,
|
|
189
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Workflow::PreferenceSetWorkflowCategorySettingObject::OrHash
|
|
190
|
+
)
|
|
191
|
+
]
|
|
192
|
+
)
|
|
193
|
+
).returns(T.attached_class)
|
|
194
|
+
end
|
|
195
|
+
def self.new(
|
|
196
|
+
# Identifier for the preference set to update. Can be `default` or a tenant ID.
|
|
197
|
+
id: nil,
|
|
198
|
+
# An object where the key is the category and the values are the preference
|
|
199
|
+
# settings for that category.
|
|
200
|
+
categories: nil,
|
|
201
|
+
# Channel type preferences.
|
|
202
|
+
channel_types: nil,
|
|
203
|
+
# Channel preferences.
|
|
204
|
+
channels: nil,
|
|
205
|
+
# Whether the recipient is subscribed to commercial communications. When false,
|
|
206
|
+
# the recipient will not receive commercial workflow notifications.
|
|
207
|
+
commercial_subscribed: nil,
|
|
208
|
+
# An object where the key is the workflow key and the values are the preference
|
|
209
|
+
# settings for that workflow.
|
|
210
|
+
workflows: nil
|
|
211
|
+
)
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
sig do
|
|
215
|
+
override.returns(
|
|
216
|
+
{
|
|
217
|
+
id: String,
|
|
218
|
+
categories:
|
|
219
|
+
T.nilable(
|
|
220
|
+
T::Hash[
|
|
221
|
+
Symbol,
|
|
222
|
+
T.any(
|
|
223
|
+
T::Boolean,
|
|
224
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Category::PreferenceSetWorkflowCategorySettingObject
|
|
225
|
+
)
|
|
226
|
+
]
|
|
227
|
+
),
|
|
228
|
+
channel_types:
|
|
229
|
+
T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes),
|
|
230
|
+
channels:
|
|
231
|
+
T.nilable(
|
|
232
|
+
T::Hash[
|
|
233
|
+
Symbol,
|
|
234
|
+
T.any(
|
|
235
|
+
T::Boolean,
|
|
236
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
237
|
+
)
|
|
238
|
+
]
|
|
239
|
+
),
|
|
240
|
+
commercial_subscribed: T.nilable(T::Boolean),
|
|
241
|
+
workflows:
|
|
242
|
+
T.nilable(
|
|
243
|
+
T::Hash[
|
|
244
|
+
Symbol,
|
|
245
|
+
T.any(
|
|
246
|
+
T::Boolean,
|
|
247
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Workflow::PreferenceSetWorkflowCategorySettingObject
|
|
248
|
+
)
|
|
249
|
+
]
|
|
250
|
+
)
|
|
251
|
+
}
|
|
252
|
+
)
|
|
253
|
+
end
|
|
254
|
+
def to_hash
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
# Workflow or category preferences within a preference set
|
|
258
|
+
module Category
|
|
259
|
+
extend Knockapi::Internal::Type::Union
|
|
260
|
+
|
|
261
|
+
Variants =
|
|
262
|
+
T.type_alias do
|
|
263
|
+
T.any(
|
|
264
|
+
T::Boolean,
|
|
265
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Category::PreferenceSetWorkflowCategorySettingObject
|
|
266
|
+
)
|
|
267
|
+
end
|
|
268
|
+
|
|
269
|
+
class PreferenceSetWorkflowCategorySettingObject < Knockapi::Internal::Type::BaseModel
|
|
270
|
+
OrHash =
|
|
271
|
+
T.type_alias do
|
|
272
|
+
T.any(
|
|
273
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Category::PreferenceSetWorkflowCategorySettingObject,
|
|
274
|
+
Knockapi::Internal::AnyHash
|
|
275
|
+
)
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
# Channel type preferences.
|
|
279
|
+
sig do
|
|
280
|
+
returns(
|
|
281
|
+
T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes)
|
|
282
|
+
)
|
|
283
|
+
end
|
|
284
|
+
attr_reader :channel_types
|
|
285
|
+
|
|
286
|
+
sig do
|
|
287
|
+
params(
|
|
288
|
+
channel_types:
|
|
289
|
+
T.nilable(
|
|
290
|
+
Knockapi::Recipients::PreferenceSetChannelTypes::OrHash
|
|
291
|
+
)
|
|
292
|
+
).void
|
|
293
|
+
end
|
|
294
|
+
attr_writer :channel_types
|
|
295
|
+
|
|
296
|
+
# Channel preferences.
|
|
297
|
+
sig do
|
|
298
|
+
returns(
|
|
299
|
+
T.nilable(
|
|
300
|
+
T::Hash[
|
|
301
|
+
Symbol,
|
|
302
|
+
T.any(
|
|
303
|
+
T::Boolean,
|
|
304
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
305
|
+
)
|
|
306
|
+
]
|
|
307
|
+
)
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
attr_accessor :channels
|
|
311
|
+
|
|
312
|
+
# A list of conditions to apply to a channel type.
|
|
313
|
+
sig { returns(T.nilable(T::Array[Knockapi::Condition])) }
|
|
314
|
+
attr_accessor :conditions
|
|
315
|
+
|
|
316
|
+
# The settings object for a workflow or category, where you can specify channel
|
|
317
|
+
# types or conditions.
|
|
318
|
+
sig do
|
|
319
|
+
params(
|
|
320
|
+
channel_types:
|
|
321
|
+
T.nilable(
|
|
322
|
+
Knockapi::Recipients::PreferenceSetChannelTypes::OrHash
|
|
323
|
+
),
|
|
324
|
+
channels:
|
|
325
|
+
T.nilable(
|
|
326
|
+
T::Hash[
|
|
327
|
+
Symbol,
|
|
328
|
+
T.any(
|
|
329
|
+
T::Boolean,
|
|
330
|
+
Knockapi::Recipients::PreferenceSetChannelSetting::OrHash
|
|
331
|
+
)
|
|
332
|
+
]
|
|
333
|
+
),
|
|
334
|
+
conditions: T.nilable(T::Array[Knockapi::Condition::OrHash])
|
|
335
|
+
).returns(T.attached_class)
|
|
336
|
+
end
|
|
337
|
+
def self.new(
|
|
338
|
+
# Channel type preferences.
|
|
339
|
+
channel_types: nil,
|
|
340
|
+
# Channel preferences.
|
|
341
|
+
channels: nil,
|
|
342
|
+
# A list of conditions to apply to a channel type.
|
|
343
|
+
conditions: nil
|
|
344
|
+
)
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
sig do
|
|
348
|
+
override.returns(
|
|
349
|
+
{
|
|
350
|
+
channel_types:
|
|
351
|
+
T.nilable(
|
|
352
|
+
Knockapi::Recipients::PreferenceSetChannelTypes
|
|
353
|
+
),
|
|
354
|
+
channels:
|
|
355
|
+
T.nilable(
|
|
356
|
+
T::Hash[
|
|
357
|
+
Symbol,
|
|
358
|
+
T.any(
|
|
359
|
+
T::Boolean,
|
|
360
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
361
|
+
)
|
|
362
|
+
]
|
|
363
|
+
),
|
|
364
|
+
conditions: T.nilable(T::Array[Knockapi::Condition])
|
|
365
|
+
}
|
|
366
|
+
)
|
|
367
|
+
end
|
|
368
|
+
def to_hash
|
|
369
|
+
end
|
|
370
|
+
|
|
371
|
+
# Whether the specific channel (by channel_id) is enabled for the preference set,
|
|
372
|
+
# or a settings object with conditions.
|
|
373
|
+
module Channel
|
|
374
|
+
extend Knockapi::Internal::Type::Union
|
|
375
|
+
|
|
376
|
+
Variants =
|
|
377
|
+
T.type_alias do
|
|
378
|
+
T.any(
|
|
379
|
+
T::Boolean,
|
|
380
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
381
|
+
)
|
|
382
|
+
end
|
|
383
|
+
|
|
384
|
+
sig do
|
|
385
|
+
override.returns(
|
|
386
|
+
T::Array[
|
|
387
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Category::PreferenceSetWorkflowCategorySettingObject::Channel::Variants
|
|
388
|
+
]
|
|
389
|
+
)
|
|
390
|
+
end
|
|
391
|
+
def self.variants
|
|
392
|
+
end
|
|
393
|
+
end
|
|
394
|
+
end
|
|
395
|
+
|
|
396
|
+
sig do
|
|
397
|
+
override.returns(
|
|
398
|
+
T::Array[
|
|
399
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Category::Variants
|
|
400
|
+
]
|
|
401
|
+
)
|
|
402
|
+
end
|
|
403
|
+
def self.variants
|
|
404
|
+
end
|
|
405
|
+
end
|
|
406
|
+
|
|
407
|
+
# Whether the specific channel (by channel_id) is enabled for the preference set,
|
|
408
|
+
# or a settings object with conditions.
|
|
409
|
+
module Channel
|
|
410
|
+
extend Knockapi::Internal::Type::Union
|
|
411
|
+
|
|
412
|
+
Variants =
|
|
413
|
+
T.type_alias do
|
|
414
|
+
T.any(
|
|
415
|
+
T::Boolean,
|
|
416
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
417
|
+
)
|
|
418
|
+
end
|
|
419
|
+
|
|
420
|
+
sig do
|
|
421
|
+
override.returns(
|
|
422
|
+
T::Array[
|
|
423
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Channel::Variants
|
|
424
|
+
]
|
|
425
|
+
)
|
|
426
|
+
end
|
|
427
|
+
def self.variants
|
|
428
|
+
end
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
# Workflow or category preferences within a preference set
|
|
432
|
+
module Workflow
|
|
433
|
+
extend Knockapi::Internal::Type::Union
|
|
434
|
+
|
|
435
|
+
Variants =
|
|
436
|
+
T.type_alias do
|
|
437
|
+
T.any(
|
|
438
|
+
T::Boolean,
|
|
439
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Workflow::PreferenceSetWorkflowCategorySettingObject
|
|
440
|
+
)
|
|
441
|
+
end
|
|
442
|
+
|
|
443
|
+
class PreferenceSetWorkflowCategorySettingObject < Knockapi::Internal::Type::BaseModel
|
|
444
|
+
OrHash =
|
|
445
|
+
T.type_alias do
|
|
446
|
+
T.any(
|
|
447
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Workflow::PreferenceSetWorkflowCategorySettingObject,
|
|
448
|
+
Knockapi::Internal::AnyHash
|
|
449
|
+
)
|
|
450
|
+
end
|
|
451
|
+
|
|
452
|
+
# Channel type preferences.
|
|
453
|
+
sig do
|
|
454
|
+
returns(
|
|
455
|
+
T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes)
|
|
456
|
+
)
|
|
457
|
+
end
|
|
458
|
+
attr_reader :channel_types
|
|
459
|
+
|
|
460
|
+
sig do
|
|
461
|
+
params(
|
|
462
|
+
channel_types:
|
|
463
|
+
T.nilable(
|
|
464
|
+
Knockapi::Recipients::PreferenceSetChannelTypes::OrHash
|
|
465
|
+
)
|
|
466
|
+
).void
|
|
467
|
+
end
|
|
468
|
+
attr_writer :channel_types
|
|
469
|
+
|
|
470
|
+
# Channel preferences.
|
|
471
|
+
sig do
|
|
472
|
+
returns(
|
|
473
|
+
T.nilable(
|
|
474
|
+
T::Hash[
|
|
475
|
+
Symbol,
|
|
476
|
+
T.any(
|
|
477
|
+
T::Boolean,
|
|
478
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
479
|
+
)
|
|
480
|
+
]
|
|
481
|
+
)
|
|
482
|
+
)
|
|
483
|
+
end
|
|
484
|
+
attr_accessor :channels
|
|
485
|
+
|
|
486
|
+
# A list of conditions to apply to a channel type.
|
|
487
|
+
sig { returns(T.nilable(T::Array[Knockapi::Condition])) }
|
|
488
|
+
attr_accessor :conditions
|
|
489
|
+
|
|
490
|
+
# The settings object for a workflow or category, where you can specify channel
|
|
491
|
+
# types or conditions.
|
|
492
|
+
sig do
|
|
493
|
+
params(
|
|
494
|
+
channel_types:
|
|
495
|
+
T.nilable(
|
|
496
|
+
Knockapi::Recipients::PreferenceSetChannelTypes::OrHash
|
|
497
|
+
),
|
|
498
|
+
channels:
|
|
499
|
+
T.nilable(
|
|
500
|
+
T::Hash[
|
|
501
|
+
Symbol,
|
|
502
|
+
T.any(
|
|
503
|
+
T::Boolean,
|
|
504
|
+
Knockapi::Recipients::PreferenceSetChannelSetting::OrHash
|
|
505
|
+
)
|
|
506
|
+
]
|
|
507
|
+
),
|
|
508
|
+
conditions: T.nilable(T::Array[Knockapi::Condition::OrHash])
|
|
509
|
+
).returns(T.attached_class)
|
|
510
|
+
end
|
|
511
|
+
def self.new(
|
|
512
|
+
# Channel type preferences.
|
|
513
|
+
channel_types: nil,
|
|
514
|
+
# Channel preferences.
|
|
515
|
+
channels: nil,
|
|
516
|
+
# A list of conditions to apply to a channel type.
|
|
517
|
+
conditions: nil
|
|
518
|
+
)
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
sig do
|
|
522
|
+
override.returns(
|
|
523
|
+
{
|
|
524
|
+
channel_types:
|
|
525
|
+
T.nilable(
|
|
526
|
+
Knockapi::Recipients::PreferenceSetChannelTypes
|
|
527
|
+
),
|
|
528
|
+
channels:
|
|
529
|
+
T.nilable(
|
|
530
|
+
T::Hash[
|
|
531
|
+
Symbol,
|
|
532
|
+
T.any(
|
|
533
|
+
T::Boolean,
|
|
534
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
535
|
+
)
|
|
536
|
+
]
|
|
537
|
+
),
|
|
538
|
+
conditions: T.nilable(T::Array[Knockapi::Condition])
|
|
539
|
+
}
|
|
540
|
+
)
|
|
541
|
+
end
|
|
542
|
+
def to_hash
|
|
543
|
+
end
|
|
544
|
+
|
|
545
|
+
# Whether the specific channel (by channel_id) is enabled for the preference set,
|
|
546
|
+
# or a settings object with conditions.
|
|
547
|
+
module Channel
|
|
548
|
+
extend Knockapi::Internal::Type::Union
|
|
549
|
+
|
|
550
|
+
Variants =
|
|
551
|
+
T.type_alias do
|
|
552
|
+
T.any(
|
|
553
|
+
T::Boolean,
|
|
554
|
+
Knockapi::Recipients::PreferenceSetChannelSetting
|
|
555
|
+
)
|
|
556
|
+
end
|
|
557
|
+
|
|
558
|
+
sig do
|
|
559
|
+
override.returns(
|
|
560
|
+
T::Array[
|
|
561
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Workflow::PreferenceSetWorkflowCategorySettingObject::Channel::Variants
|
|
562
|
+
]
|
|
563
|
+
)
|
|
564
|
+
end
|
|
565
|
+
def self.variants
|
|
566
|
+
end
|
|
567
|
+
end
|
|
568
|
+
end
|
|
569
|
+
|
|
570
|
+
sig do
|
|
571
|
+
override.returns(
|
|
572
|
+
T::Array[
|
|
573
|
+
Knockapi::Users::BulkSetPreferencesParams::Preferences::Workflow::Variants
|
|
574
|
+
]
|
|
575
|
+
)
|
|
576
|
+
end
|
|
577
|
+
def self.variants
|
|
578
|
+
end
|
|
579
|
+
end
|
|
580
|
+
end
|
|
60
581
|
end
|
|
61
582
|
end
|
|
62
583
|
end
|
|
@@ -184,6 +184,13 @@ module Knockapi
|
|
|
184
184
|
sig { params(channel_id: String).void }
|
|
185
185
|
attr_writer :channel_id
|
|
186
186
|
|
|
187
|
+
# URL to this guide in the Knock dashboard
|
|
188
|
+
sig { returns(T.nilable(String)) }
|
|
189
|
+
attr_reader :dashboard_url
|
|
190
|
+
|
|
191
|
+
sig { params(dashboard_url: String).void }
|
|
192
|
+
attr_writer :dashboard_url
|
|
193
|
+
|
|
187
194
|
sig { returns(T.nilable(Time)) }
|
|
188
195
|
attr_reader :inserted_at
|
|
189
196
|
|
|
@@ -252,6 +259,7 @@ module Knockapi
|
|
|
252
259
|
active: T::Boolean,
|
|
253
260
|
bypass_global_group_limit: T::Boolean,
|
|
254
261
|
channel_id: String,
|
|
262
|
+
dashboard_url: String,
|
|
255
263
|
inserted_at: Time,
|
|
256
264
|
key: String,
|
|
257
265
|
semver: String,
|
|
@@ -278,6 +286,8 @@ module Knockapi
|
|
|
278
286
|
active: nil,
|
|
279
287
|
bypass_global_group_limit: nil,
|
|
280
288
|
channel_id: nil,
|
|
289
|
+
# URL to this guide in the Knock dashboard
|
|
290
|
+
dashboard_url: nil,
|
|
281
291
|
inserted_at: nil,
|
|
282
292
|
# The key of the guide.
|
|
283
293
|
key: nil,
|
|
@@ -305,6 +315,7 @@ module Knockapi
|
|
|
305
315
|
active: T::Boolean,
|
|
306
316
|
bypass_global_group_limit: T::Boolean,
|
|
307
317
|
channel_id: String,
|
|
318
|
+
dashboard_url: String,
|
|
308
319
|
inserted_at: Time,
|
|
309
320
|
key: String,
|
|
310
321
|
semver: String,
|
|
@@ -14,11 +14,11 @@ module Knockapi
|
|
|
14
14
|
sig { returns(String) }
|
|
15
15
|
attr_accessor :key
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
17
|
+
# A key that is used to reference a specific workflow trigger request when issuing
|
|
18
|
+
# a [workflow cancellation](/send-notifications/canceling-workflows) request. Must
|
|
19
|
+
# be provided while triggering a workflow in order to enable subsequent
|
|
20
|
+
# cancellation. Should be unique across trigger requests to avoid unintentional
|
|
21
|
+
# cancellations.
|
|
22
22
|
sig { returns(String) }
|
|
23
23
|
attr_accessor :cancellation_key
|
|
24
24
|
|
|
@@ -53,11 +53,11 @@ module Knockapi
|
|
|
53
53
|
end
|
|
54
54
|
def self.new(
|
|
55
55
|
key:,
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
#
|
|
60
|
-
#
|
|
56
|
+
# A key that is used to reference a specific workflow trigger request when issuing
|
|
57
|
+
# a [workflow cancellation](/send-notifications/canceling-workflows) request. Must
|
|
58
|
+
# be provided while triggering a workflow in order to enable subsequent
|
|
59
|
+
# cancellation. Should be unique across trigger requests to avoid unintentional
|
|
60
|
+
# cancellations.
|
|
61
61
|
cancellation_key:,
|
|
62
62
|
# A list of recipients to cancel the notification for. If omitted, cancels for all
|
|
63
63
|
# recipients associated with the cancellation key.
|