knockapi 1.16.0 → 1.18.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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +1 -1
  4. data/lib/knockapi/internal/transport/pooled_net_requester.rb +30 -24
  5. data/lib/knockapi/internal/util.rb +5 -5
  6. data/lib/knockapi/models/identify_user_request.rb +2 -2
  7. data/lib/knockapi/models/inline_identify_user_request.rb +2 -2
  8. data/lib/knockapi/models/inline_object_request.rb +2 -2
  9. data/lib/knockapi/models/message.rb +94 -3
  10. data/lib/knockapi/models/messages/batch_archive_response.rb +1 -1
  11. data/lib/knockapi/models/messages/batch_mark_as_interacted_response.rb +1 -1
  12. data/lib/knockapi/models/messages/batch_mark_as_read_response.rb +1 -1
  13. data/lib/knockapi/models/messages/batch_mark_as_seen_response.rb +1 -1
  14. data/lib/knockapi/models/messages/batch_mark_as_unread_response.rb +1 -1
  15. data/lib/knockapi/models/messages/batch_mark_as_unseen_response.rb +1 -1
  16. data/lib/knockapi/models/messages/batch_unarchive_response.rb +1 -1
  17. data/lib/knockapi/models/object_set_params.rb +2 -2
  18. data/lib/knockapi/models/objects/bulk_set_params.rb +2 -2
  19. data/lib/knockapi/models/recipients/channel_data.rb +133 -11
  20. data/lib/knockapi/models/recipients/channel_data_request.rb +151 -9
  21. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +149 -7
  22. data/lib/knockapi/models/recipients/preference_set.rb +130 -3
  23. data/lib/knockapi/models/recipients/preference_set_request.rb +136 -3
  24. data/lib/knockapi/models/tenant_request.rb +2 -2
  25. data/lib/knockapi/models/tenant_set_params.rb +2 -2
  26. data/lib/knockapi/models/users/guide_get_channel_response.rb +270 -34
  27. data/lib/knockapi/resources/messages/batch.rb +7 -7
  28. data/lib/knockapi/resources/objects.rb +7 -3
  29. data/lib/knockapi/resources/tenants.rb +1 -1
  30. data/lib/knockapi/resources/users.rb +7 -3
  31. data/lib/knockapi/version.rb +1 -1
  32. data/lib/knockapi.rb +0 -2
  33. data/rbi/knockapi/models/identify_user_request.rbi +15 -9
  34. data/rbi/knockapi/models/inline_identify_user_request.rbi +15 -9
  35. data/rbi/knockapi/models/inline_object_request.rbi +15 -9
  36. data/rbi/knockapi/models/message.rbi +123 -2
  37. data/rbi/knockapi/models/messages/batch_archive_response.rbi +1 -1
  38. data/rbi/knockapi/models/messages/batch_mark_as_interacted_response.rbi +1 -1
  39. data/rbi/knockapi/models/messages/batch_mark_as_read_response.rbi +1 -1
  40. data/rbi/knockapi/models/messages/batch_mark_as_seen_response.rbi +1 -1
  41. data/rbi/knockapi/models/messages/batch_mark_as_unread_response.rbi +1 -1
  42. data/rbi/knockapi/models/messages/batch_mark_as_unseen_response.rbi +1 -1
  43. data/rbi/knockapi/models/messages/batch_unarchive_response.rbi +1 -1
  44. data/rbi/knockapi/models/object_set_params.rbi +20 -12
  45. data/rbi/knockapi/models/objects/bulk_set_params.rbi +15 -9
  46. data/rbi/knockapi/models/recipients/channel_data.rbi +250 -12
  47. data/rbi/knockapi/models/recipients/channel_data_request.rbi +298 -14
  48. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +281 -5
  49. data/rbi/knockapi/models/recipients/preference_set.rbi +279 -0
  50. data/rbi/knockapi/models/recipients/preference_set_request.rbi +299 -0
  51. data/rbi/knockapi/models/tenant_request.rbi +15 -9
  52. data/rbi/knockapi/models/tenant_set_params.rbi +15 -9
  53. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +532 -70
  54. data/rbi/knockapi/resources/messages/batch.rbi +7 -7
  55. data/rbi/knockapi/resources/objects.rbi +26 -6
  56. data/rbi/knockapi/resources/tenants.rbi +5 -3
  57. data/rbi/knockapi/resources/users.rbi +26 -6
  58. data/sig/knockapi/models/message.rbs +79 -0
  59. data/sig/knockapi/models/messages/batch_archive_response.rbs +1 -1
  60. data/sig/knockapi/models/messages/batch_mark_as_interacted_response.rbs +1 -2
  61. data/sig/knockapi/models/messages/batch_mark_as_read_response.rbs +1 -1
  62. data/sig/knockapi/models/messages/batch_mark_as_seen_response.rbs +1 -1
  63. data/sig/knockapi/models/messages/batch_mark_as_unread_response.rbs +1 -1
  64. data/sig/knockapi/models/messages/batch_mark_as_unseen_response.rbs +1 -1
  65. data/sig/knockapi/models/messages/batch_unarchive_response.rbs +1 -1
  66. data/sig/knockapi/models/recipients/channel_data.rbs +97 -7
  67. data/sig/knockapi/models/recipients/channel_data_request.rbs +108 -5
  68. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +108 -5
  69. data/sig/knockapi/models/recipients/preference_set.rbs +87 -0
  70. data/sig/knockapi/models/recipients/preference_set_request.rbs +87 -0
  71. data/sig/knockapi/models/users/guide_get_channel_response.rbs +294 -31
  72. data/sig/knockapi/resources/objects.rbs +2 -0
  73. data/sig/knockapi/resources/users.rbs +2 -0
  74. metadata +2 -8
  75. data/lib/knockapi/models/recipients/one_signal_channel_data.rb +0 -20
  76. data/lib/knockapi/models/recipients/push_channel_data.rb +0 -20
  77. data/rbi/knockapi/models/recipients/one_signal_channel_data.rbi +0 -33
  78. data/rbi/knockapi/models/recipients/push_channel_data.rbi +0 -33
  79. data/sig/knockapi/models/recipients/one_signal_channel_data.rbs +0 -15
  80. data/sig/knockapi/models/recipients/push_channel_data.rbs +0 -15
@@ -10,7 +10,7 @@ module Knockapi
10
10
  params(
11
11
  message_ids: T::Array[String],
12
12
  request_options: Knockapi::RequestOptions::OrHash
13
- ).returns(T::Array[Knockapi::Models::Message])
13
+ ).returns(T::Array[Knockapi::Message])
14
14
  end
15
15
  def archive(
16
16
  # The message IDs to update the status of.
@@ -45,7 +45,7 @@ module Knockapi
45
45
  message_ids: T::Array[String],
46
46
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
47
47
  request_options: Knockapi::RequestOptions::OrHash
48
- ).returns(T::Array[Knockapi::Models::Message])
48
+ ).returns(T::Array[Knockapi::Message])
49
49
  end
50
50
  def mark_as_interacted(
51
51
  # The message IDs to batch mark as interacted with.
@@ -62,7 +62,7 @@ module Knockapi
62
62
  params(
63
63
  message_ids: T::Array[String],
64
64
  request_options: Knockapi::RequestOptions::OrHash
65
- ).returns(T::Array[Knockapi::Models::Message])
65
+ ).returns(T::Array[Knockapi::Message])
66
66
  end
67
67
  def mark_as_read(
68
68
  # The message IDs to update the status of.
@@ -78,7 +78,7 @@ module Knockapi
78
78
  params(
79
79
  message_ids: T::Array[String],
80
80
  request_options: Knockapi::RequestOptions::OrHash
81
- ).returns(T::Array[Knockapi::Models::Message])
81
+ ).returns(T::Array[Knockapi::Message])
82
82
  end
83
83
  def mark_as_seen(
84
84
  # The message IDs to update the status of.
@@ -94,7 +94,7 @@ module Knockapi
94
94
  params(
95
95
  message_ids: T::Array[String],
96
96
  request_options: Knockapi::RequestOptions::OrHash
97
- ).returns(T::Array[Knockapi::Models::Message])
97
+ ).returns(T::Array[Knockapi::Message])
98
98
  end
99
99
  def mark_as_unread(
100
100
  # The message IDs to update the status of.
@@ -110,7 +110,7 @@ module Knockapi
110
110
  params(
111
111
  message_ids: T::Array[String],
112
112
  request_options: Knockapi::RequestOptions::OrHash
113
- ).returns(T::Array[Knockapi::Models::Message])
113
+ ).returns(T::Array[Knockapi::Message])
114
114
  end
115
115
  def mark_as_unseen(
116
116
  # The message IDs to update the status of.
@@ -126,7 +126,7 @@ module Knockapi
126
126
  params(
127
127
  message_ids: T::Array[String],
128
128
  request_options: Knockapi::RequestOptions::OrHash
129
- ).returns(T::Array[Knockapi::Models::Message])
129
+ ).returns(T::Array[Knockapi::Message])
130
130
  end
131
131
  def unarchive(
132
132
  # The message IDs to update the status of.
@@ -353,9 +353,11 @@ module Knockapi
353
353
  T::Hash[
354
354
  Symbol,
355
355
  T.any(
356
- Knockapi::Recipients::PushChannelData::OrHash,
357
- Knockapi::Recipients::OneSignalChannelData::OrHash,
358
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
356
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
357
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly::OrHash,
358
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
359
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly::OrHash,
360
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
359
361
  Knockapi::Recipients::SlackChannelData::OrHash,
360
362
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
361
363
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -401,9 +403,11 @@ module Knockapi
401
403
  channel_id: String,
402
404
  data:
403
405
  T.any(
404
- Knockapi::Recipients::PushChannelData::OrHash,
405
- Knockapi::Recipients::OneSignalChannelData::OrHash,
406
- Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
406
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly::OrHash,
407
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataDevicesOnly::OrHash,
408
+ Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly::OrHash,
409
+ Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataDevicesOnly::OrHash,
410
+ Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly::OrHash,
407
411
  Knockapi::Recipients::SlackChannelData::OrHash,
408
412
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
409
413
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -451,6 +455,17 @@ module Knockapi
451
455
  ),
452
456
  channel_types:
453
457
  T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes::OrHash),
458
+ channels:
459
+ T.nilable(
460
+ T::Hash[
461
+ Symbol,
462
+ T.any(
463
+ T::Boolean,
464
+ Knockapi::Recipients::PreferenceSetRequest::Channel::PreferenceSetChannelSetting::OrHash
465
+ )
466
+ ]
467
+ ),
468
+ commercial_subscribed: T.nilable(T::Boolean),
454
469
  workflows:
455
470
  T.nilable(
456
471
  T::Hash[
@@ -479,6 +494,11 @@ module Knockapi
479
494
  categories: nil,
480
495
  # Channel type preferences.
481
496
  channel_types: nil,
497
+ # Channel preferences.
498
+ channels: nil,
499
+ # Whether the recipient is subscribed to commercial communications. When false,
500
+ # the recipient will not receive commercial workflow notifications.
501
+ commercial_subscribed: nil,
482
502
  # An object where the key is the workflow key and the values are the preference
483
503
  # settings for that workflow.
484
504
  workflows: nil,
@@ -70,9 +70,11 @@ module Knockapi
70
70
  T::Hash[
71
71
  Symbol,
72
72
  T.any(
73
- Knockapi::Recipients::PushChannelData::OrHash,
74
- Knockapi::Recipients::OneSignalChannelData::OrHash,
75
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
73
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
74
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly::OrHash,
75
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
76
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly::OrHash,
77
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
76
78
  Knockapi::Recipients::SlackChannelData::OrHash,
77
79
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
78
80
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -24,9 +24,11 @@ module Knockapi
24
24
  T::Hash[
25
25
  Symbol,
26
26
  T.any(
27
- Knockapi::Recipients::PushChannelData::OrHash,
28
- Knockapi::Recipients::OneSignalChannelData::OrHash,
29
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
27
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
28
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataDevicesOnly::OrHash,
29
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
30
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataDevicesOnly::OrHash,
31
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
30
32
  Knockapi::Recipients::SlackChannelData::OrHash,
31
33
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
32
34
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -343,9 +345,11 @@ module Knockapi
343
345
  channel_id: String,
344
346
  data:
345
347
  T.any(
346
- Knockapi::Recipients::PushChannelData::OrHash,
347
- Knockapi::Recipients::OneSignalChannelData::OrHash,
348
- Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
348
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly::OrHash,
349
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataDevicesOnly::OrHash,
350
+ Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly::OrHash,
351
+ Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataDevicesOnly::OrHash,
352
+ Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly::OrHash,
349
353
  Knockapi::Recipients::SlackChannelData::OrHash,
350
354
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
351
355
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -386,6 +390,17 @@ module Knockapi
386
390
  ),
387
391
  channel_types:
388
392
  T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes::OrHash),
393
+ channels:
394
+ T.nilable(
395
+ T::Hash[
396
+ Symbol,
397
+ T.any(
398
+ T::Boolean,
399
+ Knockapi::Recipients::PreferenceSetRequest::Channel::PreferenceSetChannelSetting::OrHash
400
+ )
401
+ ]
402
+ ),
403
+ commercial_subscribed: T.nilable(T::Boolean),
389
404
  workflows:
390
405
  T.nilable(
391
406
  T::Hash[
@@ -412,6 +427,11 @@ module Knockapi
412
427
  categories: nil,
413
428
  # Channel type preferences.
414
429
  channel_types: nil,
430
+ # Channel preferences.
431
+ channels: nil,
432
+ # Whether the recipient is subscribed to commercial communications. When false,
433
+ # the recipient will not receive commercial workflow notifications.
434
+ commercial_subscribed: nil,
415
435
  # An object where the key is the workflow key and the values are the preference
416
436
  # settings for that workflow.
417
437
  workflows: nil,
@@ -13,6 +13,7 @@ module Knockapi
13
13
  updated_at: Time,
14
14
  actors: ::Array[Knockapi::Models::recipient_reference],
15
15
  archived_at: Time?,
16
+ channel: Knockapi::Message::Channel,
16
17
  clicked_at: Time?,
17
18
  data: ::Hash[Symbol, top]?,
18
19
  interacted_at: Time?,
@@ -52,6 +53,10 @@ module Knockapi
52
53
 
53
54
  attr_accessor archived_at: Time?
54
55
 
56
+ attr_reader channel: Knockapi::Message::Channel?
57
+
58
+ def channel=: (Knockapi::Message::Channel) -> Knockapi::Message::Channel
59
+
55
60
  attr_accessor clicked_at: Time?
56
61
 
57
62
  attr_accessor data: ::Hash[Symbol, top]?
@@ -84,6 +89,7 @@ module Knockapi
84
89
  updated_at: Time,
85
90
  ?actors: ::Array[Knockapi::Models::recipient_reference],
86
91
  ?archived_at: Time?,
92
+ ?channel: Knockapi::Message::Channel,
87
93
  ?clicked_at: Time?,
88
94
  ?data: ::Hash[Symbol, top]?,
89
95
  ?interacted_at: Time?,
@@ -108,6 +114,7 @@ module Knockapi
108
114
  updated_at: Time,
109
115
  actors: ::Array[Knockapi::Models::recipient_reference],
110
116
  archived_at: Time?,
117
+ channel: Knockapi::Message::Channel,
111
118
  clicked_at: Time?,
112
119
  data: ::Hash[Symbol, top]?,
113
120
  interacted_at: Time?,
@@ -215,6 +222,78 @@ module Knockapi
215
222
 
216
223
  def self?.values: -> ::Array[Knockapi::Models::Message::status]
217
224
  end
225
+
226
+ type channel =
227
+ {
228
+ id: String,
229
+ created_at: Time,
230
+ provider: String,
231
+ type: Knockapi::Models::Message::Channel::type_,
232
+ updated_at: Time,
233
+ key: String?,
234
+ name: String?
235
+ }
236
+
237
+ class Channel < Knockapi::Internal::Type::BaseModel
238
+ attr_accessor id: String
239
+
240
+ attr_accessor created_at: Time
241
+
242
+ attr_accessor provider: String
243
+
244
+ attr_accessor type: Knockapi::Models::Message::Channel::type_
245
+
246
+ attr_accessor updated_at: Time
247
+
248
+ attr_accessor key: String?
249
+
250
+ attr_accessor name: String?
251
+
252
+ def initialize: (
253
+ id: String,
254
+ created_at: Time,
255
+ provider: String,
256
+ type: Knockapi::Models::Message::Channel::type_,
257
+ updated_at: Time,
258
+ ?key: String?,
259
+ ?name: String?
260
+ ) -> void
261
+
262
+ def to_hash: -> {
263
+ id: String,
264
+ created_at: Time,
265
+ provider: String,
266
+ type: Knockapi::Models::Message::Channel::type_,
267
+ updated_at: Time,
268
+ key: String?,
269
+ name: String?
270
+ }
271
+
272
+ type type_ =
273
+ :email
274
+ | :in_app
275
+ | :in_app_feed
276
+ | :in_app_guide
277
+ | :sms
278
+ | :push
279
+ | :chat
280
+ | :http
281
+
282
+ module Type
283
+ extend Knockapi::Internal::Type::Enum
284
+
285
+ EMAIL: :email
286
+ IN_APP: :in_app
287
+ IN_APP_FEED: :in_app_feed
288
+ IN_APP_GUIDE: :in_app_guide
289
+ SMS: :sms
290
+ PUSH: :push
291
+ CHAT: :chat
292
+ HTTP: :http
293
+
294
+ def self?.values: -> ::Array[Knockapi::Models::Message::Channel::type_]
295
+ end
296
+ end
218
297
  end
219
298
  end
220
299
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_archive_response = ::Array[Knockapi::Models::Message]
4
+ type batch_archive_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchArchiveResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,8 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_interacted_response =
5
- ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_interacted_response = ::Array[Knockapi::Message]
6
5
 
7
6
  BatchMarkAsInteractedResponse: Knockapi::Internal::Type::Converter
8
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_read_response = ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_read_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchMarkAsReadResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_seen_response = ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_seen_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchMarkAsSeenResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_unread_response = ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_unread_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchMarkAsUnreadResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_mark_as_unseen_response = ::Array[Knockapi::Models::Message]
4
+ type batch_mark_as_unseen_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchMarkAsUnseenResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -1,7 +1,7 @@
1
1
  module Knockapi
2
2
  module Models
3
3
  module Messages
4
- type batch_unarchive_response = ::Array[Knockapi::Models::Message]
4
+ type batch_unarchive_response = ::Array[Knockapi::Message]
5
5
 
6
6
  BatchUnarchiveResponse: Knockapi::Internal::Type::Converter
7
7
  end
@@ -37,24 +37,114 @@ module Knockapi
37
37
  }
38
38
 
39
39
  type data =
40
- Knockapi::Recipients::PushChannelData
40
+ Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull
41
+ | Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull
42
+ | Knockapi::Recipients::RecipientsChannelData::Data::OneSignalChannelDataPlayerIDsOnly
41
43
  | Knockapi::Recipients::SlackChannelData
42
44
  | Knockapi::Recipients::MsTeamsChannelData
43
45
  | Knockapi::Recipients::DiscordChannelData
44
- | Knockapi::Recipients::OneSignalChannelData
45
- | Knockapi::Recipients::RecipientsChannelData::Data::AwsSnsPushChannelData
46
46
 
47
47
  module Data
48
48
  extend Knockapi::Internal::Type::Union
49
49
 
50
- type aws_sns_push_channel_data = { target_arns: ::Array[String] }
50
+ type push_channel_data_full =
51
+ {
52
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull::Device],
53
+ tokens: ::Array[String]
54
+ }
55
+
56
+ class PushChannelDataFull < Knockapi::Internal::Type::BaseModel
57
+ attr_accessor devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull::Device]
58
+
59
+ attr_accessor tokens: ::Array[String]
60
+
61
+ def initialize: (
62
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull::Device],
63
+ tokens: ::Array[String]
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::PushChannelDataFull::Device],
68
+ tokens: ::Array[String]
69
+ }
70
+
71
+ type device = { token: String, locale: String?, timezone: String? }
72
+
73
+ class Device < Knockapi::Internal::Type::BaseModel
74
+ attr_accessor token: String
75
+
76
+ attr_accessor locale: String?
77
+
78
+ attr_accessor timezone: String?
79
+
80
+ def initialize: (
81
+ token: String,
82
+ ?locale: String?,
83
+ ?timezone: String?
84
+ ) -> void
85
+
86
+ def to_hash: -> {
87
+ token: String,
88
+ locale: String?,
89
+ timezone: String?
90
+ }
91
+ end
92
+ end
93
+
94
+ type awssns_push_channel_data_full =
95
+ {
96
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull::Device],
97
+ target_arns: ::Array[String]
98
+ }
99
+
100
+ class AwssnsPushChannelDataFull < Knockapi::Internal::Type::BaseModel
101
+ attr_accessor devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull::Device]
51
102
 
52
- class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
53
103
  attr_accessor target_arns: ::Array[String]
54
104
 
55
- def initialize: (target_arns: ::Array[String]) -> void
105
+ def initialize: (
106
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull::Device],
107
+ target_arns: ::Array[String]
108
+ ) -> void
109
+
110
+ def to_hash: -> {
111
+ devices: ::Array[Knockapi::Recipients::RecipientsChannelData::Data::AwssnsPushChannelDataFull::Device],
112
+ target_arns: ::Array[String]
113
+ }
114
+
115
+ type device =
116
+ { target_arn: String, locale: String?, timezone: String? }
117
+
118
+ class Device < Knockapi::Internal::Type::BaseModel
119
+ attr_accessor target_arn: String
120
+
121
+ attr_accessor locale: String?
122
+
123
+ attr_accessor timezone: String?
124
+
125
+ def initialize: (
126
+ target_arn: String,
127
+ ?locale: String?,
128
+ ?timezone: String?
129
+ ) -> void
130
+
131
+ def to_hash: -> {
132
+ target_arn: String,
133
+ locale: String?,
134
+ timezone: String?
135
+ }
136
+ end
137
+ end
138
+
139
+ type one_signal_channel_data_player_ids_only =
140
+ { player_ids: ::Array[String] }
141
+
142
+ class OneSignalChannelDataPlayerIDsOnly < Knockapi::Internal::Type::BaseModel
143
+ attr_accessor player_ids: ::Array[String]
144
+
145
+ def initialize: (player_ids: ::Array[String]) -> void
56
146
 
57
- def to_hash: -> { target_arns: ::Array[String] }
147
+ def to_hash: -> { player_ids: ::Array[String] }
58
148
  end
59
149
 
60
150
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::RecipientsChannelData::data]
@@ -16,9 +16,11 @@ module Knockapi
16
16
  }
17
17
 
18
18
  type data =
19
- Knockapi::Recipients::PushChannelData
20
- | Knockapi::Recipients::OneSignalChannelData
21
- | Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData
19
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly
20
+ | Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataDevicesOnly
21
+ | Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly
22
+ | Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataDevicesOnly
23
+ | Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly
22
24
  | Knockapi::Recipients::SlackChannelData
23
25
  | Knockapi::Recipients::MsTeamsChannelData
24
26
  | Knockapi::Recipients::DiscordChannelData
@@ -26,9 +28,59 @@ module Knockapi
26
28
  module Data
27
29
  extend Knockapi::Internal::Type::Union
28
30
 
29
- type aws_sns_push_channel_data = { target_arns: ::Array[String] }
31
+ type push_channel_data_tokens_only = { tokens: ::Array[String] }
30
32
 
31
- class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
33
+ class PushChannelDataTokensOnly < Knockapi::Internal::Type::BaseModel
34
+ attr_accessor tokens: ::Array[String]
35
+
36
+ def initialize: (tokens: ::Array[String]) -> void
37
+
38
+ def to_hash: -> { tokens: ::Array[String] }
39
+ end
40
+
41
+ type push_channel_data_devices_only =
42
+ {
43
+ devices: ::Array[Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataDevicesOnly::Device]
44
+ }
45
+
46
+ class PushChannelDataDevicesOnly < Knockapi::Internal::Type::BaseModel
47
+ attr_accessor devices: ::Array[Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataDevicesOnly::Device]
48
+
49
+ def initialize: (
50
+ devices: ::Array[Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataDevicesOnly::Device]
51
+ ) -> void
52
+
53
+ def to_hash: -> {
54
+ devices: ::Array[Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataDevicesOnly::Device]
55
+ }
56
+
57
+ type device = { token: String, locale: String?, timezone: String? }
58
+
59
+ class Device < Knockapi::Internal::Type::BaseModel
60
+ attr_accessor token: String
61
+
62
+ attr_accessor locale: String?
63
+
64
+ attr_accessor timezone: String?
65
+
66
+ def initialize: (
67
+ token: String,
68
+ ?locale: String?,
69
+ ?timezone: String?
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ token: String,
74
+ locale: String?,
75
+ timezone: String?
76
+ }
77
+ end
78
+ end
79
+
80
+ type awssns_push_channel_data_target_ar_ns_only =
81
+ { target_arns: ::Array[String] }
82
+
83
+ class AwssnsPushChannelDataTargetArNsOnly < Knockapi::Internal::Type::BaseModel
32
84
  attr_accessor target_arns: ::Array[String]
33
85
 
34
86
  def initialize: (target_arns: ::Array[String]) -> void
@@ -36,6 +88,57 @@ module Knockapi
36
88
  def to_hash: -> { target_arns: ::Array[String] }
37
89
  end
38
90
 
91
+ type awssns_push_channel_data_devices_only =
92
+ {
93
+ devices: ::Array[Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataDevicesOnly::Device]
94
+ }
95
+
96
+ class AwssnsPushChannelDataDevicesOnly < Knockapi::Internal::Type::BaseModel
97
+ attr_accessor devices: ::Array[Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataDevicesOnly::Device]
98
+
99
+ def initialize: (
100
+ devices: ::Array[Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataDevicesOnly::Device]
101
+ ) -> void
102
+
103
+ def to_hash: -> {
104
+ devices: ::Array[Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataDevicesOnly::Device]
105
+ }
106
+
107
+ type device =
108
+ { target_arn: String, locale: String?, timezone: String? }
109
+
110
+ class Device < Knockapi::Internal::Type::BaseModel
111
+ attr_accessor target_arn: String
112
+
113
+ attr_accessor locale: String?
114
+
115
+ attr_accessor timezone: String?
116
+
117
+ def initialize: (
118
+ target_arn: String,
119
+ ?locale: String?,
120
+ ?timezone: String?
121
+ ) -> void
122
+
123
+ def to_hash: -> {
124
+ target_arn: String,
125
+ locale: String?,
126
+ timezone: String?
127
+ }
128
+ end
129
+ end
130
+
131
+ type one_signal_channel_data_player_ids_only =
132
+ { player_ids: ::Array[String] }
133
+
134
+ class OneSignalChannelDataPlayerIDsOnly < Knockapi::Internal::Type::BaseModel
135
+ attr_accessor player_ids: ::Array[String]
136
+
137
+ def initialize: (player_ids: ::Array[String]) -> void
138
+
139
+ def to_hash: -> { player_ids: ::Array[String] }
140
+ end
141
+
39
142
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::ChannelDataRequest::data]
40
143
  end
41
144
  end