knockapi 1.16.0 → 1.17.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 +26 -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 +36 -10
  21. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +34 -8
  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 +9 -9
  34. data/rbi/knockapi/models/inline_identify_user_request.rbi +9 -9
  35. data/rbi/knockapi/models/inline_object_request.rbi +9 -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 +12 -12
  45. data/rbi/knockapi/models/objects/bulk_set_params.rbi +9 -9
  46. data/rbi/knockapi/models/recipients/channel_data.rbi +250 -12
  47. data/rbi/knockapi/models/recipients/channel_data_request.rbi +68 -14
  48. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +57 -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 +9 -9
  52. data/rbi/knockapi/models/tenant_set_params.rbi +9 -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 +22 -6
  56. data/rbi/knockapi/resources/tenants.rbi +3 -3
  57. data/rbi/knockapi/resources/users.rbi +22 -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 +27 -5
  68. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +27 -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,9 @@ 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::AwssnsPushChannelDataTargetArNsOnly::OrHash,
358
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
359
359
  Knockapi::Recipients::SlackChannelData::OrHash,
360
360
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
361
361
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -401,9 +401,9 @@ module Knockapi
401
401
  channel_id: String,
402
402
  data:
403
403
  T.any(
404
- Knockapi::Recipients::PushChannelData::OrHash,
405
- Knockapi::Recipients::OneSignalChannelData::OrHash,
406
- Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
404
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly::OrHash,
405
+ Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly::OrHash,
406
+ Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly::OrHash,
407
407
  Knockapi::Recipients::SlackChannelData::OrHash,
408
408
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
409
409
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -451,6 +451,17 @@ module Knockapi
451
451
  ),
452
452
  channel_types:
453
453
  T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes::OrHash),
454
+ channels:
455
+ T.nilable(
456
+ T::Hash[
457
+ Symbol,
458
+ T.any(
459
+ T::Boolean,
460
+ Knockapi::Recipients::PreferenceSetRequest::Channel::PreferenceSetChannelSetting::OrHash
461
+ )
462
+ ]
463
+ ),
464
+ commercial_subscribed: T.nilable(T::Boolean),
454
465
  workflows:
455
466
  T.nilable(
456
467
  T::Hash[
@@ -479,6 +490,11 @@ module Knockapi
479
490
  categories: nil,
480
491
  # Channel type preferences.
481
492
  channel_types: nil,
493
+ # Channel preferences.
494
+ channels: nil,
495
+ # Whether the recipient is subscribed to commercial communications. When false,
496
+ # the recipient will not receive commercial workflow notifications.
497
+ commercial_subscribed: nil,
482
498
  # An object where the key is the workflow key and the values are the preference
483
499
  # settings for that workflow.
484
500
  workflows: nil,
@@ -70,9 +70,9 @@ 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::AwssnsPushChannelDataTargetArNsOnly::OrHash,
75
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
76
76
  Knockapi::Recipients::SlackChannelData::OrHash,
77
77
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
78
78
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -24,9 +24,9 @@ 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::AwssnsPushChannelDataTargetArNsOnly::OrHash,
29
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
30
30
  Knockapi::Recipients::SlackChannelData::OrHash,
31
31
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
32
32
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -343,9 +343,9 @@ module Knockapi
343
343
  channel_id: String,
344
344
  data:
345
345
  T.any(
346
- Knockapi::Recipients::PushChannelData::OrHash,
347
- Knockapi::Recipients::OneSignalChannelData::OrHash,
348
- Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
346
+ Knockapi::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly::OrHash,
347
+ Knockapi::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly::OrHash,
348
+ Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly::OrHash,
349
349
  Knockapi::Recipients::SlackChannelData::OrHash,
350
350
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
351
351
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -386,6 +386,17 @@ module Knockapi
386
386
  ),
387
387
  channel_types:
388
388
  T.nilable(Knockapi::Recipients::PreferenceSetChannelTypes::OrHash),
389
+ channels:
390
+ T.nilable(
391
+ T::Hash[
392
+ Symbol,
393
+ T.any(
394
+ T::Boolean,
395
+ Knockapi::Recipients::PreferenceSetRequest::Channel::PreferenceSetChannelSetting::OrHash
396
+ )
397
+ ]
398
+ ),
399
+ commercial_subscribed: T.nilable(T::Boolean),
389
400
  workflows:
390
401
  T.nilable(
391
402
  T::Hash[
@@ -412,6 +423,11 @@ module Knockapi
412
423
  categories: nil,
413
424
  # Channel type preferences.
414
425
  channel_types: nil,
426
+ # Channel preferences.
427
+ channels: nil,
428
+ # Whether the recipient is subscribed to commercial communications. When false,
429
+ # the recipient will not receive commercial workflow notifications.
430
+ commercial_subscribed: nil,
415
431
  # An object where the key is the workflow key and the values are the preference
416
432
  # settings for that workflow.
417
433
  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,9 @@ 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::AwssnsPushChannelDataTargetArNsOnly
21
+ | Knockapi::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly
22
22
  | Knockapi::Recipients::SlackChannelData
23
23
  | Knockapi::Recipients::MsTeamsChannelData
24
24
  | Knockapi::Recipients::DiscordChannelData
@@ -26,9 +26,20 @@ module Knockapi
26
26
  module Data
27
27
  extend Knockapi::Internal::Type::Union
28
28
 
29
- type aws_sns_push_channel_data = { target_arns: ::Array[String] }
29
+ type push_channel_data_tokens_only = { tokens: ::Array[String] }
30
30
 
31
- class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
31
+ class PushChannelDataTokensOnly < Knockapi::Internal::Type::BaseModel
32
+ attr_accessor tokens: ::Array[String]
33
+
34
+ def initialize: (tokens: ::Array[String]) -> void
35
+
36
+ def to_hash: -> { tokens: ::Array[String] }
37
+ end
38
+
39
+ type awssns_push_channel_data_target_ar_ns_only =
40
+ { target_arns: ::Array[String] }
41
+
42
+ class AwssnsPushChannelDataTargetArNsOnly < Knockapi::Internal::Type::BaseModel
32
43
  attr_accessor target_arns: ::Array[String]
33
44
 
34
45
  def initialize: (target_arns: ::Array[String]) -> void
@@ -36,6 +47,17 @@ module Knockapi
36
47
  def to_hash: -> { target_arns: ::Array[String] }
37
48
  end
38
49
 
50
+ type one_signal_channel_data_player_ids_only =
51
+ { player_ids: ::Array[String] }
52
+
53
+ class OneSignalChannelDataPlayerIDsOnly < Knockapi::Internal::Type::BaseModel
54
+ attr_accessor player_ids: ::Array[String]
55
+
56
+ def initialize: (player_ids: ::Array[String]) -> void
57
+
58
+ def to_hash: -> { player_ids: ::Array[String] }
59
+ end
60
+
39
61
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::ChannelDataRequest::data]
40
62
  end
41
63
  end
@@ -2,9 +2,9 @@ module Knockapi
2
2
  module Models
3
3
  module Recipients
4
4
  type inline_channel_data_request_item =
5
- Knockapi::Recipients::PushChannelData
6
- | Knockapi::Recipients::OneSignalChannelData
7
- | Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData
5
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly
6
+ | Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly
7
+ | Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly
8
8
  | Knockapi::Recipients::SlackChannelData
9
9
  | Knockapi::Recipients::MsTeamsChannelData
10
10
  | Knockapi::Recipients::DiscordChannelData
@@ -12,9 +12,20 @@ module Knockapi
12
12
  module InlineChannelDataRequestItem
13
13
  extend Knockapi::Internal::Type::Union
14
14
 
15
- type aws_sns_push_channel_data = { target_arns: ::Array[String] }
15
+ type push_channel_data_tokens_only = { tokens: ::Array[String] }
16
16
 
17
- class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
17
+ class PushChannelDataTokensOnly < Knockapi::Internal::Type::BaseModel
18
+ attr_accessor tokens: ::Array[String]
19
+
20
+ def initialize: (tokens: ::Array[String]) -> void
21
+
22
+ def to_hash: -> { tokens: ::Array[String] }
23
+ end
24
+
25
+ type awssns_push_channel_data_target_ar_ns_only =
26
+ { target_arns: ::Array[String] }
27
+
28
+ class AwssnsPushChannelDataTargetArNsOnly < Knockapi::Internal::Type::BaseModel
18
29
  attr_accessor target_arns: ::Array[String]
19
30
 
20
31
  def initialize: (target_arns: ::Array[String]) -> void
@@ -22,6 +33,17 @@ module Knockapi
22
33
  def to_hash: -> { target_arns: ::Array[String] }
23
34
  end
24
35
 
36
+ type one_signal_channel_data_player_ids_only =
37
+ { player_ids: ::Array[String] }
38
+
39
+ class OneSignalChannelDataPlayerIDsOnly < Knockapi::Internal::Type::BaseModel
40
+ attr_accessor player_ids: ::Array[String]
41
+
42
+ def initialize: (player_ids: ::Array[String]) -> void
43
+
44
+ def to_hash: -> { player_ids: ::Array[String] }
45
+ end
46
+
25
47
  def self?.variants: -> ::Array[Knockapi::Models::Recipients::inline_channel_data_request_item]
26
48
  end
27
49