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
@@ -368,7 +368,7 @@ module Knockapi
368
368
  #
369
369
  # @param id [String] Unique identifier for the object.
370
370
  #
371
- # @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::PushChannelData, Knockapi::Models::Recipients::OneSignalChannelData, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}] A request to set channel data for a type of channel inline.
371
+ # @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}] A request to set channel data for a type of channel inline.
372
372
  #
373
373
  # @param locale [String, nil] The locale of the object. Used for [message localization](/concepts/translations
374
374
  #
@@ -404,7 +404,7 @@ module Knockapi
404
404
  #
405
405
  # @param channel_id [String] The unique identifier for the channel.
406
406
  #
407
- # @param data [Knockapi::Models::Recipients::PushChannelData, Knockapi::Models::Recipients::OneSignalChannelData, Knockapi::Models::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData] Channel data for a given channel type.
407
+ # @param data [Knockapi::Models::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly, Knockapi::Models::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData] Channel data for a given channel type.
408
408
  #
409
409
  # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
410
410
  #
@@ -434,7 +434,7 @@ module Knockapi
434
434
  # `tenant.id`. Learn more about
435
435
  # [per-tenant preferences](/preferences/tenant-preferences).
436
436
  #
437
- # @overload set_preferences(collection, object_id_, id, _persistence_strategy: nil, categories: nil, channel_types: nil, workflows: nil, request_options: {})
437
+ # @overload set_preferences(collection, object_id_, id, _persistence_strategy: nil, categories: nil, channel_types: nil, channels: nil, commercial_subscribed: nil, workflows: nil, request_options: {})
438
438
  #
439
439
  # @param collection [String] The collection this object belongs to.
440
440
  #
@@ -448,6 +448,10 @@ module Knockapi
448
448
  #
449
449
  # @param channel_types [Knockapi::Models::Recipients::PreferenceSetChannelTypes, nil] Channel type preferences.
450
450
  #
451
+ # @param channels [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetRequest::Channel::PreferenceSetChannelSetting}, nil] Channel preferences.
452
+ #
453
+ # @param commercial_subscribed [Boolean, nil] Whether the recipient is subscribed to commercial communications. When false, th
454
+ #
451
455
  # @param workflows [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetRequest::Workflow::PreferenceSetWorkflowCategorySettingObject}, nil] An object where the key is the workflow key and the values are the preference se
452
456
  #
453
457
  # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -84,7 +84,7 @@ module Knockapi
84
84
  #
85
85
  # @param id [String] The unique identifier for the tenant.
86
86
  #
87
- # @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::PushChannelData, Knockapi::Models::Recipients::OneSignalChannelData, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
87
+ # @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
88
88
  #
89
89
  # @param settings [Knockapi::Models::TenantSetParams::Settings] The settings for the tenant. Includes branding and preference set.
90
90
  #
@@ -25,7 +25,7 @@ module Knockapi
25
25
  #
26
26
  # @param avatar [String, nil] A URL for the avatar of the user.
27
27
  #
28
- # @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::PushChannelData, Knockapi::Models::Recipients::OneSignalChannelData, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
28
+ # @param channel_data [Hash{Symbol=>Knockapi::Models::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData}, nil] A request to set channel data for a type of channel inline.
29
29
  #
30
30
  # @param created_at [Time, nil] The creation date of the user from your system.
31
31
  #
@@ -354,7 +354,7 @@ module Knockapi
354
354
  #
355
355
  # @param channel_id [String] The unique identifier for the channel.
356
356
  #
357
- # @param data [Knockapi::Models::Recipients::PushChannelData, Knockapi::Models::Recipients::OneSignalChannelData, Knockapi::Models::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData] Channel data for a given channel type.
357
+ # @param data [Knockapi::Models::Recipients::ChannelDataRequest::Data::PushChannelDataTokensOnly, Knockapi::Models::Recipients::ChannelDataRequest::Data::AwssnsPushChannelDataTargetArNsOnly, Knockapi::Models::Recipients::ChannelDataRequest::Data::OneSignalChannelDataPlayerIDsOnly, Knockapi::Models::Recipients::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData] Channel data for a given channel type.
358
358
  #
359
359
  # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
360
360
  #
@@ -380,7 +380,7 @@ module Knockapi
380
380
  # Use '**persistence_strategy**': 'merge' to merge with existing preferences
381
381
  # instead.
382
382
  #
383
- # @overload set_preferences(user_id, id, _persistence_strategy: nil, categories: nil, channel_types: nil, workflows: nil, request_options: {})
383
+ # @overload set_preferences(user_id, id, _persistence_strategy: nil, categories: nil, channel_types: nil, channels: nil, commercial_subscribed: nil, workflows: nil, request_options: {})
384
384
  #
385
385
  # @param user_id [String] The unique identifier of the user.
386
386
  #
@@ -392,6 +392,10 @@ module Knockapi
392
392
  #
393
393
  # @param channel_types [Knockapi::Models::Recipients::PreferenceSetChannelTypes, nil] Channel type preferences.
394
394
  #
395
+ # @param channels [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetRequest::Channel::PreferenceSetChannelSetting}, nil] Channel preferences.
396
+ #
397
+ # @param commercial_subscribed [Boolean, nil] Whether the recipient is subscribed to commercial communications. When false, th
398
+ #
395
399
  # @param workflows [Hash{Symbol=>Boolean, Knockapi::Models::Recipients::PreferenceSetRequest::Workflow::PreferenceSetWorkflowCategorySettingObject}, nil] An object where the key is the workflow key and the values are the preference se
396
400
  #
397
401
  # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Knockapi
4
- VERSION = "1.16.0"
4
+ VERSION = "1.17.0"
5
5
  end
data/lib/knockapi.rb CHANGED
@@ -151,11 +151,9 @@ require_relative "knockapi/models/recipients/discord_channel_data"
151
151
  require_relative "knockapi/models/recipients/inline_channel_data_request"
152
152
  require_relative "knockapi/models/recipients/inline_preference_set_request"
153
153
  require_relative "knockapi/models/recipients/ms_teams_channel_data"
154
- require_relative "knockapi/models/recipients/one_signal_channel_data"
155
154
  require_relative "knockapi/models/recipients/preference_set"
156
155
  require_relative "knockapi/models/recipients/preference_set_channel_types"
157
156
  require_relative "knockapi/models/recipients/preference_set_channel_type_setting"
158
- require_relative "knockapi/models/recipients/push_channel_data"
159
157
  require_relative "knockapi/models/recipients/channel_data"
160
158
  require_relative "knockapi/models/recipients/slack_channel_data"
161
159
  require_relative "knockapi/models/recipients/subscription"
@@ -19,9 +19,9 @@ module Knockapi
19
19
  T::Hash[
20
20
  Symbol,
21
21
  T.any(
22
- Knockapi::Recipients::PushChannelData,
23
- Knockapi::Recipients::OneSignalChannelData,
24
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
22
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
23
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
24
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
25
25
  Knockapi::Recipients::SlackChannelData,
26
26
  Knockapi::Recipients::MsTeamsChannelData,
27
27
  Knockapi::Recipients::DiscordChannelData
@@ -81,9 +81,9 @@ module Knockapi
81
81
  T::Hash[
82
82
  Symbol,
83
83
  T.any(
84
- Knockapi::Recipients::PushChannelData::OrHash,
85
- Knockapi::Recipients::OneSignalChannelData::OrHash,
86
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
84
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
85
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
86
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
87
87
  Knockapi::Recipients::SlackChannelData::OrHash,
88
88
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
89
89
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -142,9 +142,9 @@ module Knockapi
142
142
  T::Hash[
143
143
  Symbol,
144
144
  T.any(
145
- Knockapi::Recipients::PushChannelData,
146
- Knockapi::Recipients::OneSignalChannelData,
147
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
145
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
146
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
147
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
148
148
  Knockapi::Recipients::SlackChannelData,
149
149
  Knockapi::Recipients::MsTeamsChannelData,
150
150
  Knockapi::Recipients::DiscordChannelData
@@ -26,9 +26,9 @@ module Knockapi
26
26
  T::Hash[
27
27
  Symbol,
28
28
  T.any(
29
- Knockapi::Recipients::PushChannelData,
30
- Knockapi::Recipients::OneSignalChannelData,
31
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
29
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
30
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
31
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
32
32
  Knockapi::Recipients::SlackChannelData,
33
33
  Knockapi::Recipients::MsTeamsChannelData,
34
34
  Knockapi::Recipients::DiscordChannelData
@@ -90,9 +90,9 @@ module Knockapi
90
90
  T::Hash[
91
91
  Symbol,
92
92
  T.any(
93
- Knockapi::Recipients::PushChannelData::OrHash,
94
- Knockapi::Recipients::OneSignalChannelData::OrHash,
95
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
93
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
94
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
95
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
96
96
  Knockapi::Recipients::SlackChannelData::OrHash,
97
97
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
98
98
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -154,9 +154,9 @@ module Knockapi
154
154
  T::Hash[
155
155
  Symbol,
156
156
  T.any(
157
- Knockapi::Recipients::PushChannelData,
158
- Knockapi::Recipients::OneSignalChannelData,
159
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
157
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
158
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
159
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
160
160
  Knockapi::Recipients::SlackChannelData,
161
161
  Knockapi::Recipients::MsTeamsChannelData,
162
162
  Knockapi::Recipients::DiscordChannelData
@@ -23,9 +23,9 @@ module Knockapi
23
23
  T::Hash[
24
24
  Symbol,
25
25
  T.any(
26
- Knockapi::Recipients::PushChannelData,
27
- Knockapi::Recipients::OneSignalChannelData,
28
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
26
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
27
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
28
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
29
29
  Knockapi::Recipients::SlackChannelData,
30
30
  Knockapi::Recipients::MsTeamsChannelData,
31
31
  Knockapi::Recipients::DiscordChannelData
@@ -60,9 +60,9 @@ module Knockapi
60
60
  T::Hash[
61
61
  Symbol,
62
62
  T.any(
63
- Knockapi::Recipients::PushChannelData::OrHash,
64
- Knockapi::Recipients::OneSignalChannelData::OrHash,
65
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
63
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
64
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
65
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
66
66
  Knockapi::Recipients::SlackChannelData::OrHash,
67
67
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
68
68
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -105,9 +105,9 @@ module Knockapi
105
105
  T::Hash[
106
106
  Symbol,
107
107
  T.any(
108
- Knockapi::Recipients::PushChannelData,
109
- Knockapi::Recipients::OneSignalChannelData,
110
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
108
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
109
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
110
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
111
111
  Knockapi::Recipients::SlackChannelData,
112
112
  Knockapi::Recipients::MsTeamsChannelData,
113
113
  Knockapi::Recipients::DiscordChannelData
@@ -14,7 +14,7 @@ module Knockapi
14
14
  sig { returns(String) }
15
15
  attr_accessor :_typename
16
16
 
17
- # The ID for the channel the message was sent through.
17
+ # Deprecated, use channel.id instead.
18
18
  sig { returns(String) }
19
19
  attr_accessor :channel_id
20
20
 
@@ -73,6 +73,13 @@ module Knockapi
73
73
  sig { returns(T.nilable(Time)) }
74
74
  attr_accessor :archived_at
75
75
 
76
+ # A configured channel, which is a way to route messages to a provider.
77
+ sig { returns(T.nilable(Knockapi::Message::Channel)) }
78
+ attr_reader :channel
79
+
80
+ sig { params(channel: Knockapi::Message::Channel::OrHash).void }
81
+ attr_writer :channel
82
+
76
83
  # Timestamp when the message was clicked.
77
84
  sig { returns(T.nilable(Time)) }
78
85
  attr_accessor :clicked_at
@@ -144,6 +151,7 @@ module Knockapi
144
151
  )
145
152
  ],
146
153
  archived_at: T.nilable(Time),
154
+ channel: Knockapi::Message::Channel::OrHash,
147
155
  clicked_at: T.nilable(Time),
148
156
  data: T.nilable(T::Hash[Symbol, T.anything]),
149
157
  interacted_at: T.nilable(Time),
@@ -161,7 +169,7 @@ module Knockapi
161
169
  id:,
162
170
  # The typename of the schema.
163
171
  _typename:,
164
- # The ID for the channel the message was sent through.
172
+ # Deprecated, use channel.id instead.
165
173
  channel_id:,
166
174
  # A list of engagement statuses.
167
175
  engagement_statuses:,
@@ -182,6 +190,8 @@ module Knockapi
182
190
  actors: nil,
183
191
  # Timestamp when the message was archived.
184
192
  archived_at: nil,
193
+ # A configured channel, which is a way to route messages to a provider.
194
+ channel: nil,
185
195
  # Timestamp when the message was clicked.
186
196
  clicked_at: nil,
187
197
  # Data associated with the message’s workflow run. Includes the workflow trigger
@@ -225,6 +235,7 @@ module Knockapi
225
235
  updated_at: Time,
226
236
  actors: T::Array[Knockapi::RecipientReference::Variants],
227
237
  archived_at: T.nilable(Time),
238
+ channel: Knockapi::Message::Channel,
228
239
  clicked_at: T.nilable(Time),
229
240
  data: T.nilable(T::Hash[Symbol, T.anything]),
230
241
  interacted_at: T.nilable(Time),
@@ -393,6 +404,116 @@ module Knockapi
393
404
  def self.values
394
405
  end
395
406
  end
407
+
408
+ class Channel < Knockapi::Internal::Type::BaseModel
409
+ OrHash =
410
+ T.type_alias do
411
+ T.any(Knockapi::Message::Channel, Knockapi::Internal::AnyHash)
412
+ end
413
+
414
+ # The unique identifier for the channel.
415
+ sig { returns(String) }
416
+ attr_accessor :id
417
+
418
+ # The timestamp of when the channel was created.
419
+ sig { returns(Time) }
420
+ attr_accessor :created_at
421
+
422
+ # The ID of the provider that this channel uses to deliver messages.
423
+ sig { returns(String) }
424
+ attr_accessor :provider
425
+
426
+ # The type of channel, determining what kind of messages it can send.
427
+ sig { returns(Knockapi::Message::Channel::Type::TaggedSymbol) }
428
+ attr_accessor :type
429
+
430
+ # The timestamp of when the channel was last updated.
431
+ sig { returns(Time) }
432
+ attr_accessor :updated_at
433
+
434
+ # Unique identifier for the channel within a project (immutable once created).
435
+ sig { returns(T.nilable(String)) }
436
+ attr_accessor :key
437
+
438
+ # The human-readable name of the channel.
439
+ sig { returns(T.nilable(String)) }
440
+ attr_accessor :name
441
+
442
+ # A configured channel, which is a way to route messages to a provider.
443
+ sig do
444
+ params(
445
+ id: String,
446
+ created_at: Time,
447
+ provider: String,
448
+ type: Knockapi::Message::Channel::Type::OrSymbol,
449
+ updated_at: Time,
450
+ key: T.nilable(String),
451
+ name: T.nilable(String)
452
+ ).returns(T.attached_class)
453
+ end
454
+ def self.new(
455
+ # The unique identifier for the channel.
456
+ id:,
457
+ # The timestamp of when the channel was created.
458
+ created_at:,
459
+ # The ID of the provider that this channel uses to deliver messages.
460
+ provider:,
461
+ # The type of channel, determining what kind of messages it can send.
462
+ type:,
463
+ # The timestamp of when the channel was last updated.
464
+ updated_at:,
465
+ # Unique identifier for the channel within a project (immutable once created).
466
+ key: nil,
467
+ # The human-readable name of the channel.
468
+ name: nil
469
+ )
470
+ end
471
+
472
+ sig do
473
+ override.returns(
474
+ {
475
+ id: String,
476
+ created_at: Time,
477
+ provider: String,
478
+ type: Knockapi::Message::Channel::Type::TaggedSymbol,
479
+ updated_at: Time,
480
+ key: T.nilable(String),
481
+ name: T.nilable(String)
482
+ }
483
+ )
484
+ end
485
+ def to_hash
486
+ end
487
+
488
+ # The type of channel, determining what kind of messages it can send.
489
+ module Type
490
+ extend Knockapi::Internal::Type::Enum
491
+
492
+ TaggedSymbol =
493
+ T.type_alias { T.all(Symbol, Knockapi::Message::Channel::Type) }
494
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
495
+
496
+ EMAIL = T.let(:email, Knockapi::Message::Channel::Type::TaggedSymbol)
497
+ IN_APP =
498
+ T.let(:in_app, Knockapi::Message::Channel::Type::TaggedSymbol)
499
+ IN_APP_FEED =
500
+ T.let(:in_app_feed, Knockapi::Message::Channel::Type::TaggedSymbol)
501
+ IN_APP_GUIDE =
502
+ T.let(:in_app_guide, Knockapi::Message::Channel::Type::TaggedSymbol)
503
+ SMS = T.let(:sms, Knockapi::Message::Channel::Type::TaggedSymbol)
504
+ PUSH = T.let(:push, Knockapi::Message::Channel::Type::TaggedSymbol)
505
+ CHAT = T.let(:chat, Knockapi::Message::Channel::Type::TaggedSymbol)
506
+ HTTP = T.let(:http, Knockapi::Message::Channel::Type::TaggedSymbol)
507
+
508
+ sig do
509
+ override.returns(
510
+ T::Array[Knockapi::Message::Channel::Type::TaggedSymbol]
511
+ )
512
+ end
513
+ def self.values
514
+ end
515
+ end
516
+ end
396
517
  end
397
518
  end
398
519
  end
@@ -5,7 +5,7 @@ module Knockapi
5
5
  module Messages
6
6
  BatchArchiveResponse =
7
7
  T.let(
8
- Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Message],
8
+ Knockapi::Internal::Type::ArrayOf[Knockapi::Message],
9
9
  Knockapi::Internal::Type::Converter
10
10
  )
11
11
  end
@@ -5,7 +5,7 @@ module Knockapi
5
5
  module Messages
6
6
  BatchMarkAsInteractedResponse =
7
7
  T.let(
8
- Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Message],
8
+ Knockapi::Internal::Type::ArrayOf[Knockapi::Message],
9
9
  Knockapi::Internal::Type::Converter
10
10
  )
11
11
  end
@@ -5,7 +5,7 @@ module Knockapi
5
5
  module Messages
6
6
  BatchMarkAsReadResponse =
7
7
  T.let(
8
- Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Message],
8
+ Knockapi::Internal::Type::ArrayOf[Knockapi::Message],
9
9
  Knockapi::Internal::Type::Converter
10
10
  )
11
11
  end
@@ -5,7 +5,7 @@ module Knockapi
5
5
  module Messages
6
6
  BatchMarkAsSeenResponse =
7
7
  T.let(
8
- Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Message],
8
+ Knockapi::Internal::Type::ArrayOf[Knockapi::Message],
9
9
  Knockapi::Internal::Type::Converter
10
10
  )
11
11
  end
@@ -5,7 +5,7 @@ module Knockapi
5
5
  module Messages
6
6
  BatchMarkAsUnreadResponse =
7
7
  T.let(
8
- Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Message],
8
+ Knockapi::Internal::Type::ArrayOf[Knockapi::Message],
9
9
  Knockapi::Internal::Type::Converter
10
10
  )
11
11
  end
@@ -5,7 +5,7 @@ module Knockapi
5
5
  module Messages
6
6
  BatchMarkAsUnseenResponse =
7
7
  T.let(
8
- Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Message],
8
+ Knockapi::Internal::Type::ArrayOf[Knockapi::Message],
9
9
  Knockapi::Internal::Type::Converter
10
10
  )
11
11
  end
@@ -5,7 +5,7 @@ module Knockapi
5
5
  module Messages
6
6
  BatchUnarchiveResponse =
7
7
  T.let(
8
- Knockapi::Internal::Type::ArrayOf[Knockapi::Models::Message],
8
+ Knockapi::Internal::Type::ArrayOf[Knockapi::Message],
9
9
  Knockapi::Internal::Type::Converter
10
10
  )
11
11
  end
@@ -18,9 +18,9 @@ module Knockapi
18
18
  T::Hash[
19
19
  Symbol,
20
20
  T.any(
21
- Knockapi::Recipients::PushChannelData,
22
- Knockapi::Recipients::OneSignalChannelData,
23
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
21
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
22
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
23
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
24
24
  Knockapi::Recipients::SlackChannelData,
25
25
  Knockapi::Recipients::MsTeamsChannelData,
26
26
  Knockapi::Recipients::DiscordChannelData
@@ -37,9 +37,9 @@ module Knockapi
37
37
  T::Hash[
38
38
  Symbol,
39
39
  T.any(
40
- Knockapi::Recipients::PushChannelData::OrHash,
41
- Knockapi::Recipients::OneSignalChannelData::OrHash,
42
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
40
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
41
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
42
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
43
43
  Knockapi::Recipients::SlackChannelData::OrHash,
44
44
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
45
45
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -85,9 +85,9 @@ module Knockapi
85
85
  T::Hash[
86
86
  Symbol,
87
87
  T.any(
88
- Knockapi::Recipients::PushChannelData::OrHash,
89
- Knockapi::Recipients::OneSignalChannelData::OrHash,
90
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
88
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
89
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
90
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
91
91
  Knockapi::Recipients::SlackChannelData::OrHash,
92
92
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
93
93
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -126,9 +126,9 @@ module Knockapi
126
126
  T::Hash[
127
127
  Symbol,
128
128
  T.any(
129
- Knockapi::Recipients::PushChannelData,
130
- Knockapi::Recipients::OneSignalChannelData,
131
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
129
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
130
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
131
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
132
132
  Knockapi::Recipients::SlackChannelData,
133
133
  Knockapi::Recipients::MsTeamsChannelData,
134
134
  Knockapi::Recipients::DiscordChannelData
@@ -60,9 +60,9 @@ module Knockapi
60
60
  T::Hash[
61
61
  Symbol,
62
62
  T.any(
63
- Knockapi::Recipients::PushChannelData,
64
- Knockapi::Recipients::OneSignalChannelData,
65
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
63
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
64
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
65
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
66
66
  Knockapi::Recipients::SlackChannelData,
67
67
  Knockapi::Recipients::MsTeamsChannelData,
68
68
  Knockapi::Recipients::DiscordChannelData
@@ -98,9 +98,9 @@ module Knockapi
98
98
  T::Hash[
99
99
  Symbol,
100
100
  T.any(
101
- Knockapi::Recipients::PushChannelData::OrHash,
102
- Knockapi::Recipients::OneSignalChannelData::OrHash,
103
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
101
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly::OrHash,
102
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly::OrHash,
103
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly::OrHash,
104
104
  Knockapi::Recipients::SlackChannelData::OrHash,
105
105
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
106
106
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -140,9 +140,9 @@ module Knockapi
140
140
  T::Hash[
141
141
  Symbol,
142
142
  T.any(
143
- Knockapi::Recipients::PushChannelData,
144
- Knockapi::Recipients::OneSignalChannelData,
145
- Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
143
+ Knockapi::Recipients::InlineChannelDataRequestItem::PushChannelDataTokensOnly,
144
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwssnsPushChannelDataTargetArNsOnly,
145
+ Knockapi::Recipients::InlineChannelDataRequestItem::OneSignalChannelDataPlayerIDsOnly,
146
146
  Knockapi::Recipients::SlackChannelData,
147
147
  Knockapi::Recipients::MsTeamsChannelData,
148
148
  Knockapi::Recipients::DiscordChannelData