knockapi 1.18.0 → 1.19.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.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/knockapi/client.rb +12 -0
  5. data/lib/knockapi/internal/transport/base_client.rb +7 -1
  6. data/lib/knockapi/internal/transport/pooled_net_requester.rb +6 -2
  7. data/lib/knockapi/models/identify_user_request.rb +2 -2
  8. data/lib/knockapi/models/inline_identify_user_request.rb +2 -2
  9. data/lib/knockapi/models/inline_object_request.rb +11 -3
  10. data/lib/knockapi/models/object_set_params.rb +11 -3
  11. data/lib/knockapi/models/objects/bulk_set_params.rb +11 -3
  12. data/lib/knockapi/models/recipients/aws_sns_push_channel_data_devices_only.rb +63 -0
  13. data/lib/knockapi/models/recipients/aws_sns_push_channel_data_target_arns_only.rb +25 -0
  14. data/lib/knockapi/models/recipients/channel_data.rb +4 -17
  15. data/lib/knockapi/models/recipients/channel_data_request.rb +8 -162
  16. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +6 -160
  17. data/lib/knockapi/models/recipients/one_signal_channel_data_player_ids_only.rb +20 -0
  18. data/lib/knockapi/models/recipients/preference_set.rb +12 -54
  19. data/lib/knockapi/models/recipients/preference_set_channel_setting.rb +21 -0
  20. data/lib/knockapi/models/recipients/preference_set_request.rb +12 -54
  21. data/lib/knockapi/models/recipients/push_channel_data_devices_only.rb +60 -0
  22. data/lib/knockapi/models/recipients/push_channel_data_tokens_only.rb +20 -0
  23. data/lib/knockapi/models/tenant_request.rb +11 -3
  24. data/lib/knockapi/models/tenant_set_params.rb +11 -3
  25. data/lib/knockapi/models/users/feed_list_items_params.rb +15 -1
  26. data/lib/knockapi/resources/objects.rb +6 -4
  27. data/lib/knockapi/resources/tenants.rb +4 -2
  28. data/lib/knockapi/resources/users/feeds.rb +6 -1
  29. data/lib/knockapi/resources/users.rb +3 -3
  30. data/lib/knockapi/version.rb +1 -1
  31. data/lib/knockapi.rb +7 -0
  32. data/manifest.yaml +1 -0
  33. data/rbi/knockapi/client.rbi +7 -0
  34. data/rbi/knockapi/internal/transport/base_client.rbi +5 -0
  35. data/rbi/knockapi/internal/transport/pooled_net_requester.rbi +6 -2
  36. data/rbi/knockapi/internal/type/base_model.rbi +8 -4
  37. data/rbi/knockapi/models/identify_user_request.rbi +15 -15
  38. data/rbi/knockapi/models/inline_identify_user_request.rbi +15 -15
  39. data/rbi/knockapi/models/inline_object_request.rbi +23 -15
  40. data/rbi/knockapi/models/object_set_params.rbi +28 -20
  41. data/rbi/knockapi/models/objects/bulk_set_params.rbi +23 -15
  42. data/rbi/knockapi/models/recipients/aws_sns_push_channel_data_devices_only.rbi +120 -0
  43. data/rbi/knockapi/models/recipients/aws_sns_push_channel_data_target_arns_only.rbi +35 -0
  44. data/rbi/knockapi/models/recipients/channel_data.rbi +2 -30
  45. data/rbi/knockapi/models/recipients/channel_data_request.rbi +20 -326
  46. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +5 -309
  47. data/rbi/knockapi/models/recipients/one_signal_channel_data_player_ids_only.rbi +33 -0
  48. data/rbi/knockapi/models/recipients/preference_set.rbi +6 -109
  49. data/rbi/knockapi/models/recipients/preference_set_channel_setting.rbi +38 -0
  50. data/rbi/knockapi/models/recipients/preference_set_request.rbi +12 -115
  51. data/rbi/knockapi/models/recipients/push_channel_data_devices_only.rbi +114 -0
  52. data/rbi/knockapi/models/recipients/push_channel_data_tokens_only.rbi +33 -0
  53. data/rbi/knockapi/models/tenant_request.rbi +23 -15
  54. data/rbi/knockapi/models/tenant_set_params.rbi +23 -15
  55. data/rbi/knockapi/models/users/feed_list_items_params.rbi +17 -0
  56. data/rbi/knockapi/resources/objects.rbi +14 -11
  57. data/rbi/knockapi/resources/tenants.rbi +8 -5
  58. data/rbi/knockapi/resources/users/feeds.rbi +6 -0
  59. data/rbi/knockapi/resources/users.rbi +11 -11
  60. data/sig/knockapi/client.rbs +3 -0
  61. data/sig/knockapi/internal/transport/base_client.rbs +2 -0
  62. data/sig/knockapi/internal/transport/pooled_net_requester.rbs +4 -1
  63. data/sig/knockapi/models/inline_object_request.rbs +5 -0
  64. data/sig/knockapi/models/object_set_params.rbs +5 -0
  65. data/sig/knockapi/models/objects/bulk_set_params.rbs +5 -0
  66. data/sig/knockapi/models/recipients/aws_sns_push_channel_data_devices_only.rbs +44 -0
  67. data/sig/knockapi/models/recipients/aws_sns_push_channel_data_target_arns_only.rbs +16 -0
  68. data/sig/knockapi/models/recipients/channel_data.rbs +1 -12
  69. data/sig/knockapi/models/recipients/channel_data_request.rbs +5 -116
  70. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +5 -116
  71. data/sig/knockapi/models/recipients/one_signal_channel_data_player_ids_only.rbs +16 -0
  72. data/sig/knockapi/models/recipients/preference_set.rbs +3 -44
  73. data/sig/knockapi/models/recipients/preference_set_channel_setting.rbs +16 -0
  74. data/sig/knockapi/models/recipients/preference_set_request.rbs +3 -44
  75. data/sig/knockapi/models/recipients/push_channel_data_devices_only.rbs +40 -0
  76. data/sig/knockapi/models/recipients/push_channel_data_tokens_only.rbs +15 -0
  77. data/sig/knockapi/models/tenant_request.rbs +5 -0
  78. data/sig/knockapi/models/tenant_set_params.rbs +5 -0
  79. data/sig/knockapi/models/users/feed_list_items_params.rbs +7 -0
  80. data/sig/knockapi/resources/objects.rbs +1 -0
  81. data/sig/knockapi/resources/tenants.rbs +1 -0
  82. data/sig/knockapi/resources/users/feeds.rbs +1 -0
  83. metadata +20 -2
@@ -10,321 +10,17 @@ module Knockapi
10
10
  Variants =
11
11
  T.type_alias do
12
12
  T.any(
13
- Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
14
- Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly,
15
- Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
16
- Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly,
17
- Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
13
+ Knockapi::Recipients::PushChannelDataTokensOnly,
14
+ Knockapi::Recipients::PushChannelDataDevicesOnly,
15
+ Knockapi::Recipients::AwsSnsPushChannelDataTargetArnsOnly,
16
+ Knockapi::Recipients::AwsSnsPushChannelDataDevicesOnly,
17
+ Knockapi::Recipients::OneSignalChannelDataPlayerIDsOnly,
18
18
  Knockapi::Recipients::SlackChannelData,
19
19
  Knockapi::Recipients::MsTeamsChannelData,
20
20
  Knockapi::Recipients::DiscordChannelData
21
21
  )
22
22
  end
23
23
 
24
- class PushChannelDataTokensOnly < Knockapi::Internal::Type::BaseModel
25
- OrHash =
26
- T.type_alias do
27
- T.any(
28
- Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
29
- Knockapi::Internal::AnyHash
30
- )
31
- end
32
-
33
- # A list of push channel tokens.
34
- sig { returns(T::Array[String]) }
35
- attr_accessor :tokens
36
-
37
- # Push channel data.
38
- sig { params(tokens: T::Array[String]).returns(T.attached_class) }
39
- def self.new(
40
- # A list of push channel tokens.
41
- tokens:
42
- )
43
- end
44
-
45
- sig { override.returns({ tokens: T::Array[String] }) }
46
- def to_hash
47
- end
48
- end
49
-
50
- class PushChannelDataDevicesOnly < Knockapi::Internal::Type::BaseModel
51
- OrHash =
52
- T.type_alias do
53
- T.any(
54
- Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly,
55
- Knockapi::Internal::AnyHash
56
- )
57
- end
58
-
59
- # A list of devices. Each device contains a token, and optionally a locale and
60
- # timezone.
61
- sig do
62
- returns(
63
- T::Array[
64
- Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly::Device
65
- ]
66
- )
67
- end
68
- attr_accessor :devices
69
-
70
- # Push channel data.
71
- sig do
72
- params(
73
- devices:
74
- T::Array[
75
- Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly::Device::OrHash
76
- ]
77
- ).returns(T.attached_class)
78
- end
79
- def self.new(
80
- # A list of devices. Each device contains a token, and optionally a locale and
81
- # timezone.
82
- devices:
83
- )
84
- end
85
-
86
- sig do
87
- override.returns(
88
- {
89
- devices:
90
- T::Array[
91
- Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly::Device
92
- ]
93
- }
94
- )
95
- end
96
- def to_hash
97
- end
98
-
99
- class Device < Knockapi::Internal::Type::BaseModel
100
- OrHash =
101
- T.type_alias do
102
- T.any(
103
- Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly::Device,
104
- Knockapi::Internal::AnyHash
105
- )
106
- end
107
-
108
- # The device token to send the push notification to.
109
- sig { returns(String) }
110
- attr_accessor :token
111
-
112
- # The locale of the object. Used for
113
- # [message localization](/concepts/translations).
114
- sig { returns(T.nilable(String)) }
115
- attr_accessor :locale
116
-
117
- # The timezone of the object. Must be a
118
- # valid [tz database time zone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
119
- # Used
120
- # for [recurring schedules](/concepts/schedules#scheduling-workflows-with-recurring-schedules-for-recipients).
121
- sig { returns(T.nilable(String)) }
122
- attr_accessor :timezone
123
-
124
- sig do
125
- params(
126
- token: String,
127
- locale: T.nilable(String),
128
- timezone: T.nilable(String)
129
- ).returns(T.attached_class)
130
- end
131
- def self.new(
132
- # The device token to send the push notification to.
133
- token:,
134
- # The locale of the object. Used for
135
- # [message localization](/concepts/translations).
136
- locale: nil,
137
- # The timezone of the object. Must be a
138
- # valid [tz database time zone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
139
- # Used
140
- # for [recurring schedules](/concepts/schedules#scheduling-workflows-with-recurring-schedules-for-recipients).
141
- timezone: nil
142
- )
143
- end
144
-
145
- sig do
146
- override.returns(
147
- {
148
- token: String,
149
- locale: T.nilable(String),
150
- timezone: T.nilable(String)
151
- }
152
- )
153
- end
154
- def to_hash
155
- end
156
- end
157
- end
158
-
159
- class AwssnsPushChannelDataTargetArNsOnly < Knockapi::Internal::Type::BaseModel
160
- OrHash =
161
- T.type_alias do
162
- T.any(
163
- Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
164
- Knockapi::Internal::AnyHash
165
- )
166
- end
167
-
168
- # A list of platform endpoint ARNs. See
169
- # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
170
- sig { returns(T::Array[String]) }
171
- attr_accessor :target_arns
172
-
173
- # AWS SNS push channel data.
174
- sig do
175
- params(target_arns: T::Array[String]).returns(T.attached_class)
176
- end
177
- def self.new(
178
- # A list of platform endpoint ARNs. See
179
- # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
180
- target_arns:
181
- )
182
- end
183
-
184
- sig { override.returns({ target_arns: T::Array[String] }) }
185
- def to_hash
186
- end
187
- end
188
-
189
- class AwssnsPushChannelDataDevicesOnly < Knockapi::Internal::Type::BaseModel
190
- OrHash =
191
- T.type_alias do
192
- T.any(
193
- Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly,
194
- Knockapi::Internal::AnyHash
195
- )
196
- end
197
-
198
- # A list of devices. Each device contains a target_arn, and optionally a locale
199
- # and timezone.
200
- sig do
201
- returns(
202
- T::Array[
203
- Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly::Device
204
- ]
205
- )
206
- end
207
- attr_accessor :devices
208
-
209
- # AWS SNS push channel data.
210
- sig do
211
- params(
212
- devices:
213
- T::Array[
214
- Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly::Device::OrHash
215
- ]
216
- ).returns(T.attached_class)
217
- end
218
- def self.new(
219
- # A list of devices. Each device contains a target_arn, and optionally a locale
220
- # and timezone.
221
- devices:
222
- )
223
- end
224
-
225
- sig do
226
- override.returns(
227
- {
228
- devices:
229
- T::Array[
230
- Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly::Device
231
- ]
232
- }
233
- )
234
- end
235
- def to_hash
236
- end
237
-
238
- class Device < Knockapi::Internal::Type::BaseModel
239
- OrHash =
240
- T.type_alias do
241
- T.any(
242
- Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly::Device,
243
- Knockapi::Internal::AnyHash
244
- )
245
- end
246
-
247
- # The ARN of a platform endpoint associated with a platform application and a
248
- # device token. See
249
- # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
250
- sig { returns(String) }
251
- attr_accessor :target_arn
252
-
253
- # The locale of the object. Used for
254
- # [message localization](/concepts/translations).
255
- sig { returns(T.nilable(String)) }
256
- attr_accessor :locale
257
-
258
- # The timezone of the object. Must be a
259
- # valid [tz database time zone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
260
- # Used
261
- # for [recurring schedules](/concepts/schedules#scheduling-workflows-with-recurring-schedules-for-recipients).
262
- sig { returns(T.nilable(String)) }
263
- attr_accessor :timezone
264
-
265
- sig do
266
- params(
267
- target_arn: String,
268
- locale: T.nilable(String),
269
- timezone: T.nilable(String)
270
- ).returns(T.attached_class)
271
- end
272
- def self.new(
273
- # The ARN of a platform endpoint associated with a platform application and a
274
- # device token. See
275
- # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
276
- target_arn:,
277
- # The locale of the object. Used for
278
- # [message localization](/concepts/translations).
279
- locale: nil,
280
- # The timezone of the object. Must be a
281
- # valid [tz database time zone string](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
282
- # Used
283
- # for [recurring schedules](/concepts/schedules#scheduling-workflows-with-recurring-schedules-for-recipients).
284
- timezone: nil
285
- )
286
- end
287
-
288
- sig do
289
- override.returns(
290
- {
291
- target_arn: String,
292
- locale: T.nilable(String),
293
- timezone: T.nilable(String)
294
- }
295
- )
296
- end
297
- def to_hash
298
- end
299
- end
300
- end
301
-
302
- class OneSignalChannelDataPlayerIDsOnly < Knockapi::Internal::Type::BaseModel
303
- OrHash =
304
- T.type_alias do
305
- T.any(
306
- Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
307
- Knockapi::Internal::AnyHash
308
- )
309
- end
310
-
311
- # A list of OneSignal player IDs.
312
- sig { returns(T::Array[String]) }
313
- attr_accessor :player_ids
314
-
315
- # OneSignal channel data.
316
- sig { params(player_ids: T::Array[String]).returns(T.attached_class) }
317
- def self.new(
318
- # A list of OneSignal player IDs.
319
- player_ids:
320
- )
321
- end
322
-
323
- sig { override.returns({ player_ids: T::Array[String] }) }
324
- def to_hash
325
- end
326
- end
327
-
328
24
  sig do
329
25
  override.returns(
330
26
  T::Array[
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Recipients
6
+ class OneSignalChannelDataPlayerIDsOnly < Knockapi::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Knockapi::Recipients::OneSignalChannelDataPlayerIDsOnly,
11
+ Knockapi::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # A list of OneSignal player IDs.
16
+ sig { returns(T::Array[String]) }
17
+ attr_accessor :player_ids
18
+
19
+ # OneSignal channel data.
20
+ sig { params(player_ids: T::Array[String]).returns(T.attached_class) }
21
+ def self.new(
22
+ # A list of OneSignal player IDs.
23
+ player_ids:
24
+ )
25
+ end
26
+
27
+ sig { override.returns({ player_ids: T::Array[String] }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -101,7 +101,7 @@ module Knockapi
101
101
  Symbol,
102
102
  T.any(
103
103
  T::Boolean,
104
- Knockapi::Recipients::PreferenceSet::Channel::PreferenceSetChannelSetting::OrHash
104
+ Knockapi::Recipients::PreferenceSetChannelSetting::OrHash
105
105
  )
106
106
  ]
107
107
  ),
@@ -241,7 +241,7 @@ module Knockapi
241
241
  Symbol,
242
242
  T.any(
243
243
  T::Boolean,
244
- Knockapi::Recipients::PreferenceSet::Category::PreferenceSetWorkflowCategorySettingObject::Channel::PreferenceSetChannelSetting::OrHash
244
+ Knockapi::Recipients::PreferenceSetChannelSetting::OrHash
245
245
  )
246
246
  ]
247
247
  ),
@@ -286,45 +286,10 @@ module Knockapi
286
286
  T.type_alias do
287
287
  T.any(
288
288
  T::Boolean,
289
- Knockapi::Recipients::PreferenceSet::Category::PreferenceSetWorkflowCategorySettingObject::Channel::PreferenceSetChannelSetting
289
+ Knockapi::Recipients::PreferenceSetChannelSetting
290
290
  )
291
291
  end
292
292
 
293
- class PreferenceSetChannelSetting < Knockapi::Internal::Type::BaseModel
294
- OrHash =
295
- T.type_alias do
296
- T.any(
297
- Knockapi::Recipients::PreferenceSet::Category::PreferenceSetWorkflowCategorySettingObject::Channel::PreferenceSetChannelSetting,
298
- Knockapi::Internal::AnyHash
299
- )
300
- end
301
-
302
- # A list of conditions to apply to a specific channel.
303
- sig { returns(T::Array[Knockapi::Condition]) }
304
- attr_accessor :conditions
305
-
306
- # A set of settings for a specific channel. Currently, this can only be a list of
307
- # conditions to apply.
308
- sig do
309
- params(
310
- conditions: T::Array[Knockapi::Condition::OrHash]
311
- ).returns(T.attached_class)
312
- end
313
- def self.new(
314
- # A list of conditions to apply to a specific channel.
315
- conditions:
316
- )
317
- end
318
-
319
- sig do
320
- override.returns(
321
- { conditions: T::Array[Knockapi::Condition] }
322
- )
323
- end
324
- def to_hash
325
- end
326
- end
327
-
328
293
  sig do
329
294
  override.returns(
330
295
  T::Array[
@@ -355,42 +320,9 @@ module Knockapi
355
320
  T.type_alias do
356
321
  T.any(
357
322
  T::Boolean,
358
- Knockapi::Recipients::PreferenceSet::Channel::PreferenceSetChannelSetting
359
- )
360
- end
361
-
362
- class PreferenceSetChannelSetting < Knockapi::Internal::Type::BaseModel
363
- OrHash =
364
- T.type_alias do
365
- T.any(
366
- Knockapi::Recipients::PreferenceSet::Channel::PreferenceSetChannelSetting,
367
- Knockapi::Internal::AnyHash
368
- )
369
- end
370
-
371
- # A list of conditions to apply to a specific channel.
372
- sig { returns(T::Array[Knockapi::Condition]) }
373
- attr_accessor :conditions
374
-
375
- # A set of settings for a specific channel. Currently, this can only be a list of
376
- # conditions to apply.
377
- sig do
378
- params(conditions: T::Array[Knockapi::Condition::OrHash]).returns(
379
- T.attached_class
323
+ Knockapi::Recipients::PreferenceSetChannelSetting
380
324
  )
381
325
  end
382
- def self.new(
383
- # A list of conditions to apply to a specific channel.
384
- conditions:
385
- )
386
- end
387
-
388
- sig do
389
- override.returns({ conditions: T::Array[Knockapi::Condition] })
390
- end
391
- def to_hash
392
- end
393
- end
394
326
 
395
327
  sig do
396
328
  override.returns(
@@ -471,7 +403,7 @@ module Knockapi
471
403
  Symbol,
472
404
  T.any(
473
405
  T::Boolean,
474
- Knockapi::Recipients::PreferenceSet::Workflow::PreferenceSetWorkflowCategorySettingObject::Channel::PreferenceSetChannelSetting::OrHash
406
+ Knockapi::Recipients::PreferenceSetChannelSetting::OrHash
475
407
  )
476
408
  ]
477
409
  ),
@@ -516,44 +448,9 @@ module Knockapi
516
448
  T.type_alias do
517
449
  T.any(
518
450
  T::Boolean,
519
- Knockapi::Recipients::PreferenceSet::Workflow::PreferenceSetWorkflowCategorySettingObject::Channel::PreferenceSetChannelSetting
520
- )
521
- end
522
-
523
- class PreferenceSetChannelSetting < Knockapi::Internal::Type::BaseModel
524
- OrHash =
525
- T.type_alias do
526
- T.any(
527
- Knockapi::Recipients::PreferenceSet::Workflow::PreferenceSetWorkflowCategorySettingObject::Channel::PreferenceSetChannelSetting,
528
- Knockapi::Internal::AnyHash
529
- )
530
- end
531
-
532
- # A list of conditions to apply to a specific channel.
533
- sig { returns(T::Array[Knockapi::Condition]) }
534
- attr_accessor :conditions
535
-
536
- # A set of settings for a specific channel. Currently, this can only be a list of
537
- # conditions to apply.
538
- sig do
539
- params(
540
- conditions: T::Array[Knockapi::Condition::OrHash]
541
- ).returns(T.attached_class)
542
- end
543
- def self.new(
544
- # A list of conditions to apply to a specific channel.
545
- conditions:
546
- )
547
- end
548
-
549
- sig do
550
- override.returns(
551
- { conditions: T::Array[Knockapi::Condition] }
451
+ Knockapi::Recipients::PreferenceSetChannelSetting
552
452
  )
553
453
  end
554
- def to_hash
555
- end
556
- end
557
454
 
558
455
  sig do
559
456
  override.returns(
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module Knockapi
4
+ module Models
5
+ module Recipients
6
+ class PreferenceSetChannelSetting < Knockapi::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Knockapi::Recipients::PreferenceSetChannelSetting,
11
+ Knockapi::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # A list of conditions to apply to a specific channel.
16
+ sig { returns(T::Array[Knockapi::Condition]) }
17
+ attr_accessor :conditions
18
+
19
+ # A set of settings for a specific channel. Currently, this can only be a list of
20
+ # conditions to apply.
21
+ sig do
22
+ params(conditions: T::Array[Knockapi::Condition::OrHash]).returns(
23
+ T.attached_class
24
+ )
25
+ end
26
+ def self.new(
27
+ # A list of conditions to apply to a specific channel.
28
+ conditions:
29
+ )
30
+ end
31
+
32
+ sig { override.returns({ conditions: T::Array[Knockapi::Condition] }) }
33
+ def to_hash
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end