knockapi 1.11.2 → 1.13.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/knockapi/models/identify_user_request.rb +2 -2
  5. data/lib/knockapi/models/inline_identify_user_request.rb +2 -2
  6. data/lib/knockapi/models/inline_object_request.rb +2 -2
  7. data/lib/knockapi/models/message.rb +65 -65
  8. data/lib/knockapi/models/object_set_params.rb +2 -2
  9. data/lib/knockapi/models/objects/bulk_set_params.rb +2 -2
  10. data/lib/knockapi/models/recipients/channel_data.rb +25 -3
  11. data/lib/knockapi/models/recipients/channel_data_request.rb +24 -3
  12. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +22 -1
  13. data/lib/knockapi/models/tenant_request.rb +2 -2
  14. data/lib/knockapi/models/tenant_set_params.rb +2 -2
  15. data/lib/knockapi/models/users/guide_get_channel_response.rb +9 -1
  16. data/lib/knockapi/resources/objects.rb +2 -2
  17. data/lib/knockapi/resources/tenants.rb +1 -1
  18. data/lib/knockapi/resources/users.rb +2 -2
  19. data/lib/knockapi/version.rb +1 -1
  20. data/rbi/knockapi/models/identify_user_request.rbi +3 -0
  21. data/rbi/knockapi/models/inline_identify_user_request.rbi +3 -0
  22. data/rbi/knockapi/models/inline_object_request.rbi +3 -0
  23. data/rbi/knockapi/models/message.rbi +76 -112
  24. data/rbi/knockapi/models/object_set_params.rbi +4 -0
  25. data/rbi/knockapi/models/objects/bulk_set_params.rbi +3 -0
  26. data/rbi/knockapi/models/recipients/channel_data.rbi +39 -2
  27. data/rbi/knockapi/models/recipients/channel_data_request.rbi +34 -0
  28. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +31 -0
  29. data/rbi/knockapi/models/tenant_request.rbi +3 -0
  30. data/rbi/knockapi/models/tenant_set_params.rbi +3 -0
  31. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +11 -0
  32. data/rbi/knockapi/resources/objects.rbi +2 -0
  33. data/rbi/knockapi/resources/tenants.rbi +1 -0
  34. data/rbi/knockapi/resources/users.rbi +2 -0
  35. data/sig/knockapi/models/message.rbs +37 -61
  36. data/sig/knockapi/models/recipients/channel_data.rbs +13 -0
  37. data/sig/knockapi/models/recipients/channel_data_request.rbs +11 -0
  38. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +11 -0
  39. data/sig/knockapi/models/users/guide_get_channel_response.rbs +7 -0
  40. metadata +2 -2
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Knockapi
4
- VERSION = "1.11.2"
4
+ VERSION = "1.13.0"
5
5
  end
@@ -21,6 +21,7 @@ module Knockapi
21
21
  T.any(
22
22
  Knockapi::Recipients::PushChannelData,
23
23
  Knockapi::Recipients::OneSignalChannelData,
24
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
24
25
  Knockapi::Recipients::SlackChannelData,
25
26
  Knockapi::Recipients::MsTeamsChannelData,
26
27
  Knockapi::Recipients::DiscordChannelData
@@ -82,6 +83,7 @@ module Knockapi
82
83
  T.any(
83
84
  Knockapi::Recipients::PushChannelData::OrHash,
84
85
  Knockapi::Recipients::OneSignalChannelData::OrHash,
86
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
85
87
  Knockapi::Recipients::SlackChannelData::OrHash,
86
88
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
87
89
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -142,6 +144,7 @@ module Knockapi
142
144
  T.any(
143
145
  Knockapi::Recipients::PushChannelData,
144
146
  Knockapi::Recipients::OneSignalChannelData,
147
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
145
148
  Knockapi::Recipients::SlackChannelData,
146
149
  Knockapi::Recipients::MsTeamsChannelData,
147
150
  Knockapi::Recipients::DiscordChannelData
@@ -28,6 +28,7 @@ module Knockapi
28
28
  T.any(
29
29
  Knockapi::Recipients::PushChannelData,
30
30
  Knockapi::Recipients::OneSignalChannelData,
31
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
31
32
  Knockapi::Recipients::SlackChannelData,
32
33
  Knockapi::Recipients::MsTeamsChannelData,
33
34
  Knockapi::Recipients::DiscordChannelData
@@ -91,6 +92,7 @@ module Knockapi
91
92
  T.any(
92
93
  Knockapi::Recipients::PushChannelData::OrHash,
93
94
  Knockapi::Recipients::OneSignalChannelData::OrHash,
95
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
94
96
  Knockapi::Recipients::SlackChannelData::OrHash,
95
97
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
96
98
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -154,6 +156,7 @@ module Knockapi
154
156
  T.any(
155
157
  Knockapi::Recipients::PushChannelData,
156
158
  Knockapi::Recipients::OneSignalChannelData,
159
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
157
160
  Knockapi::Recipients::SlackChannelData,
158
161
  Knockapi::Recipients::MsTeamsChannelData,
159
162
  Knockapi::Recipients::DiscordChannelData
@@ -25,6 +25,7 @@ module Knockapi
25
25
  T.any(
26
26
  Knockapi::Recipients::PushChannelData,
27
27
  Knockapi::Recipients::OneSignalChannelData,
28
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
28
29
  Knockapi::Recipients::SlackChannelData,
29
30
  Knockapi::Recipients::MsTeamsChannelData,
30
31
  Knockapi::Recipients::DiscordChannelData
@@ -61,6 +62,7 @@ module Knockapi
61
62
  T.any(
62
63
  Knockapi::Recipients::PushChannelData::OrHash,
63
64
  Knockapi::Recipients::OneSignalChannelData::OrHash,
65
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
64
66
  Knockapi::Recipients::SlackChannelData::OrHash,
65
67
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
66
68
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -105,6 +107,7 @@ module Knockapi
105
107
  T.any(
106
108
  Knockapi::Recipients::PushChannelData,
107
109
  Knockapi::Recipients::OneSignalChannelData,
110
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
108
111
  Knockapi::Recipients::SlackChannelData,
109
112
  Knockapi::Recipients::MsTeamsChannelData,
110
113
  Knockapi::Recipients::DiscordChannelData
@@ -7,18 +7,46 @@ module Knockapi
7
7
  T.type_alias { T.any(Knockapi::Message, Knockapi::Internal::AnyHash) }
8
8
 
9
9
  # The unique identifier for the message.
10
- sig { returns(T.nilable(String)) }
11
- attr_reader :id
12
-
13
- sig { params(id: String).void }
14
- attr_writer :id
10
+ sig { returns(String) }
11
+ attr_accessor :id
15
12
 
16
13
  # The typename of the schema.
17
- sig { returns(T.nilable(String)) }
18
- attr_reader :_typename
14
+ sig { returns(String) }
15
+ attr_accessor :_typename
16
+
17
+ # The ID for the channel the message was sent through.
18
+ sig { returns(String) }
19
+ attr_accessor :channel_id
20
+
21
+ # A list of engagement statuses.
22
+ sig do
23
+ returns(T::Array[Knockapi::Message::EngagementStatus::TaggedSymbol])
24
+ end
25
+ attr_accessor :engagement_statuses
26
+
27
+ # Timestamp when the resource was created.
28
+ sig { returns(Time) }
29
+ attr_accessor :inserted_at
30
+
31
+ # A reference to a recipient, either a user identifier (string) or an object
32
+ # reference (ID, collection).
33
+ sig { returns(Knockapi::RecipientReference::Variants) }
34
+ attr_accessor :recipient
35
+
36
+ # The workflow that triggered the message.
37
+ sig { returns(Knockapi::Message::Source) }
38
+ attr_reader :source
39
+
40
+ sig { params(source: Knockapi::Message::Source::OrHash).void }
41
+ attr_writer :source
42
+
43
+ # The message delivery status.
44
+ sig { returns(Knockapi::Message::Status::TaggedSymbol) }
45
+ attr_accessor :status
19
46
 
20
- sig { params(_typename: String).void }
21
- attr_writer :_typename
47
+ # The timestamp when the resource was last updated.
48
+ sig { returns(Time) }
49
+ attr_accessor :updated_at
22
50
 
23
51
  # One or more actors that are associated with this message. Note: this is a list
24
52
  # that can contain up to 10 actors if the message is produced from a
@@ -45,13 +73,6 @@ module Knockapi
45
73
  sig { returns(T.nilable(Time)) }
46
74
  attr_accessor :archived_at
47
75
 
48
- # The ID for the channel the message was sent through.
49
- sig { returns(T.nilable(String)) }
50
- attr_reader :channel_id
51
-
52
- sig { params(channel_id: String).void }
53
- attr_writer :channel_id
54
-
55
76
  # Timestamp when the message was clicked.
56
77
  sig { returns(T.nilable(Time)) }
57
78
  attr_accessor :clicked_at
@@ -64,29 +85,6 @@ module Knockapi
64
85
  sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
65
86
  attr_accessor :data
66
87
 
67
- # A list of engagement statuses.
68
- sig do
69
- returns(
70
- T.nilable(T::Array[Knockapi::Message::EngagementStatus::TaggedSymbol])
71
- )
72
- end
73
- attr_reader :engagement_statuses
74
-
75
- sig do
76
- params(
77
- engagement_statuses:
78
- T::Array[Knockapi::Message::EngagementStatus::OrSymbol]
79
- ).void
80
- end
81
- attr_writer :engagement_statuses
82
-
83
- # Timestamp when the resource was created.
84
- sig { returns(T.nilable(Time)) }
85
- attr_reader :inserted_at
86
-
87
- sig { params(inserted_at: Time).void }
88
- attr_writer :inserted_at
89
-
90
88
  # Timestamp when the message was interacted with.
91
89
  sig { returns(T.nilable(Time)) }
92
90
  attr_accessor :interacted_at
@@ -103,19 +101,6 @@ module Knockapi
103
101
  sig { returns(T.nilable(Time)) }
104
102
  attr_accessor :read_at
105
103
 
106
- # A reference to a recipient, either a user identifier (string) or an object
107
- # reference (ID, collection).
108
- sig { returns(T.nilable(Knockapi::RecipientReference::Variants)) }
109
- attr_reader :recipient
110
-
111
- sig do
112
- params(
113
- recipient:
114
- T.any(String, Knockapi::RecipientReference::ObjectReference::OrHash)
115
- ).void
116
- end
117
- attr_writer :recipient
118
-
119
104
  # Timestamp when the message was scheduled to be sent.
120
105
  sig { returns(T.nilable(Time)) }
121
106
  attr_accessor :scheduled_at
@@ -124,32 +109,11 @@ module Knockapi
124
109
  sig { returns(T.nilable(Time)) }
125
110
  attr_accessor :seen_at
126
111
 
127
- # The workflow that triggered the message.
128
- sig { returns(T.nilable(Knockapi::Message::Source)) }
129
- attr_reader :source
130
-
131
- sig { params(source: Knockapi::Message::Source::OrHash).void }
132
- attr_writer :source
133
-
134
- # The message delivery status.
135
- sig { returns(T.nilable(Knockapi::Message::Status::TaggedSymbol)) }
136
- attr_reader :status
137
-
138
- sig { params(status: Knockapi::Message::Status::OrSymbol).void }
139
- attr_writer :status
140
-
141
112
  # The ID of the `tenant` associated with the message. Only present when a `tenant`
142
113
  # is provided on a workflow trigger request.
143
114
  sig { returns(T.nilable(String)) }
144
115
  attr_accessor :tenant
145
116
 
146
- # The timestamp when the resource was last updated.
147
- sig { returns(T.nilable(Time)) }
148
- attr_reader :updated_at
149
-
150
- sig { params(updated_at: Time).void }
151
- attr_writer :updated_at
152
-
153
117
  # The key of the workflow that generated the message.
154
118
  sig { returns(T.nilable(String)) }
155
119
  attr_accessor :workflow
@@ -160,6 +124,18 @@ module Knockapi
160
124
  params(
161
125
  id: String,
162
126
  _typename: String,
127
+ channel_id: String,
128
+ engagement_statuses:
129
+ T::Array[Knockapi::Message::EngagementStatus::OrSymbol],
130
+ inserted_at: Time,
131
+ recipient:
132
+ T.any(
133
+ String,
134
+ Knockapi::RecipientReference::ObjectReference::OrHash
135
+ ),
136
+ source: Knockapi::Message::Source::OrHash,
137
+ status: Knockapi::Message::Status::OrSymbol,
138
+ updated_at: Time,
163
139
  actors:
164
140
  T::Array[
165
141
  T.any(
@@ -168,43 +144,44 @@ module Knockapi
168
144
  )
169
145
  ],
170
146
  archived_at: T.nilable(Time),
171
- channel_id: String,
172
147
  clicked_at: T.nilable(Time),
173
148
  data: T.nilable(T::Hash[Symbol, T.anything]),
174
- engagement_statuses:
175
- T::Array[Knockapi::Message::EngagementStatus::OrSymbol],
176
- inserted_at: Time,
177
149
  interacted_at: T.nilable(Time),
178
150
  link_clicked_at: T.nilable(Time),
179
151
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
180
152
  read_at: T.nilable(Time),
181
- recipient:
182
- T.any(
183
- String,
184
- Knockapi::RecipientReference::ObjectReference::OrHash
185
- ),
186
153
  scheduled_at: T.nilable(Time),
187
154
  seen_at: T.nilable(Time),
188
- source: Knockapi::Message::Source::OrHash,
189
- status: Knockapi::Message::Status::OrSymbol,
190
155
  tenant: T.nilable(String),
191
- updated_at: Time,
192
156
  workflow: T.nilable(String)
193
157
  ).returns(T.attached_class)
194
158
  end
195
159
  def self.new(
196
160
  # The unique identifier for the message.
197
- id: nil,
161
+ id:,
198
162
  # The typename of the schema.
199
- _typename: nil,
163
+ _typename:,
164
+ # The ID for the channel the message was sent through.
165
+ channel_id:,
166
+ # A list of engagement statuses.
167
+ engagement_statuses:,
168
+ # Timestamp when the resource was created.
169
+ inserted_at:,
170
+ # A reference to a recipient, either a user identifier (string) or an object
171
+ # reference (ID, collection).
172
+ recipient:,
173
+ # The workflow that triggered the message.
174
+ source:,
175
+ # The message delivery status.
176
+ status:,
177
+ # The timestamp when the resource was last updated.
178
+ updated_at:,
200
179
  # One or more actors that are associated with this message. Note: this is a list
201
180
  # that can contain up to 10 actors if the message is produced from a
202
181
  # [batch](/designing-workflows/batch-function).
203
182
  actors: nil,
204
183
  # Timestamp when the message was archived.
205
184
  archived_at: nil,
206
- # The ID for the channel the message was sent through.
207
- channel_id: nil,
208
185
  # Timestamp when the message was clicked.
209
186
  clicked_at: nil,
210
187
  # Data associated with the message’s workflow run. Includes the workflow trigger
@@ -213,10 +190,6 @@ module Knockapi
213
190
  # after a [batch step](/designing-workflows/batch-function), includes the payload
214
191
  # `data` from the most-recent trigger request (the final `activity` in the batch).
215
192
  data: nil,
216
- # A list of engagement statuses.
217
- engagement_statuses: nil,
218
- # Timestamp when the resource was created.
219
- inserted_at: nil,
220
193
  # Timestamp when the message was interacted with.
221
194
  interacted_at: nil,
222
195
  # Timestamp when a link in the message was clicked.
@@ -225,22 +198,13 @@ module Knockapi
225
198
  metadata: nil,
226
199
  # Timestamp when the message was read.
227
200
  read_at: nil,
228
- # A reference to a recipient, either a user identifier (string) or an object
229
- # reference (ID, collection).
230
- recipient: nil,
231
201
  # Timestamp when the message was scheduled to be sent.
232
202
  scheduled_at: nil,
233
203
  # Timestamp when the message was seen.
234
204
  seen_at: nil,
235
- # The workflow that triggered the message.
236
- source: nil,
237
- # The message delivery status.
238
- status: nil,
239
205
  # The ID of the `tenant` associated with the message. Only present when a `tenant`
240
206
  # is provided on a workflow trigger request.
241
207
  tenant: nil,
242
- # The timestamp when the resource was last updated.
243
- updated_at: nil,
244
208
  # The key of the workflow that generated the message.
245
209
  workflow: nil
246
210
  )
@@ -251,25 +215,25 @@ module Knockapi
251
215
  {
252
216
  id: String,
253
217
  _typename: String,
254
- actors: T::Array[Knockapi::RecipientReference::Variants],
255
- archived_at: T.nilable(Time),
256
218
  channel_id: String,
257
- clicked_at: T.nilable(Time),
258
- data: T.nilable(T::Hash[Symbol, T.anything]),
259
219
  engagement_statuses:
260
220
  T::Array[Knockapi::Message::EngagementStatus::TaggedSymbol],
261
221
  inserted_at: Time,
222
+ recipient: Knockapi::RecipientReference::Variants,
223
+ source: Knockapi::Message::Source,
224
+ status: Knockapi::Message::Status::TaggedSymbol,
225
+ updated_at: Time,
226
+ actors: T::Array[Knockapi::RecipientReference::Variants],
227
+ archived_at: T.nilable(Time),
228
+ clicked_at: T.nilable(Time),
229
+ data: T.nilable(T::Hash[Symbol, T.anything]),
262
230
  interacted_at: T.nilable(Time),
263
231
  link_clicked_at: T.nilable(Time),
264
232
  metadata: T.nilable(T::Hash[Symbol, T.anything]),
265
233
  read_at: T.nilable(Time),
266
- recipient: Knockapi::RecipientReference::Variants,
267
234
  scheduled_at: T.nilable(Time),
268
235
  seen_at: T.nilable(Time),
269
- source: Knockapi::Message::Source,
270
- status: Knockapi::Message::Status::TaggedSymbol,
271
236
  tenant: T.nilable(String),
272
- updated_at: Time,
273
237
  workflow: T.nilable(String)
274
238
  }
275
239
  )
@@ -328,7 +292,7 @@ module Knockapi
328
292
  sig { returns(String) }
329
293
  attr_accessor :version_id
330
294
 
331
- # The step reference for the step in the workflow that generated the message
295
+ # The step reference for the step in the workflow that generated the message.
332
296
  sig { returns(T.nilable(String)) }
333
297
  attr_accessor :step_ref
334
298
 
@@ -350,7 +314,7 @@ module Knockapi
350
314
  key:,
351
315
  # The ID of the version of the workflow that triggered the message.
352
316
  version_id:,
353
- # The step reference for the step in the workflow that generated the message
317
+ # The step reference for the step in the workflow that generated the message.
354
318
  step_ref: nil
355
319
  )
356
320
  end
@@ -20,6 +20,7 @@ module Knockapi
20
20
  T.any(
21
21
  Knockapi::Recipients::PushChannelData,
22
22
  Knockapi::Recipients::OneSignalChannelData,
23
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
23
24
  Knockapi::Recipients::SlackChannelData,
24
25
  Knockapi::Recipients::MsTeamsChannelData,
25
26
  Knockapi::Recipients::DiscordChannelData
@@ -38,6 +39,7 @@ module Knockapi
38
39
  T.any(
39
40
  Knockapi::Recipients::PushChannelData::OrHash,
40
41
  Knockapi::Recipients::OneSignalChannelData::OrHash,
42
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
41
43
  Knockapi::Recipients::SlackChannelData::OrHash,
42
44
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
43
45
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -85,6 +87,7 @@ module Knockapi
85
87
  T.any(
86
88
  Knockapi::Recipients::PushChannelData::OrHash,
87
89
  Knockapi::Recipients::OneSignalChannelData::OrHash,
90
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
88
91
  Knockapi::Recipients::SlackChannelData::OrHash,
89
92
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
90
93
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -125,6 +128,7 @@ module Knockapi
125
128
  T.any(
126
129
  Knockapi::Recipients::PushChannelData,
127
130
  Knockapi::Recipients::OneSignalChannelData,
131
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
128
132
  Knockapi::Recipients::SlackChannelData,
129
133
  Knockapi::Recipients::MsTeamsChannelData,
130
134
  Knockapi::Recipients::DiscordChannelData
@@ -62,6 +62,7 @@ module Knockapi
62
62
  T.any(
63
63
  Knockapi::Recipients::PushChannelData,
64
64
  Knockapi::Recipients::OneSignalChannelData,
65
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
65
66
  Knockapi::Recipients::SlackChannelData,
66
67
  Knockapi::Recipients::MsTeamsChannelData,
67
68
  Knockapi::Recipients::DiscordChannelData
@@ -99,6 +100,7 @@ module Knockapi
99
100
  T.any(
100
101
  Knockapi::Recipients::PushChannelData::OrHash,
101
102
  Knockapi::Recipients::OneSignalChannelData::OrHash,
103
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
102
104
  Knockapi::Recipients::SlackChannelData::OrHash,
103
105
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
104
106
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -140,6 +142,7 @@ module Knockapi
140
142
  T.any(
141
143
  Knockapi::Recipients::PushChannelData,
142
144
  Knockapi::Recipients::OneSignalChannelData,
145
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
143
146
  Knockapi::Recipients::SlackChannelData,
144
147
  Knockapi::Recipients::MsTeamsChannelData,
145
148
  Knockapi::Recipients::DiscordChannelData
@@ -55,7 +55,8 @@ module Knockapi
55
55
  Knockapi::Recipients::SlackChannelData::OrHash,
56
56
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
57
57
  Knockapi::Recipients::DiscordChannelData::OrHash,
58
- Knockapi::Recipients::OneSignalChannelData::OrHash
58
+ Knockapi::Recipients::OneSignalChannelData::OrHash,
59
+ Knockapi::Recipients::RecipientsChannelData::Data::AwsSnsPushChannelData::OrHash
59
60
  ),
60
61
  provider:
61
62
  Knockapi::Recipients::RecipientsChannelData::Provider::OrSymbol
@@ -98,10 +99,41 @@ module Knockapi
98
99
  Knockapi::Recipients::SlackChannelData,
99
100
  Knockapi::Recipients::MsTeamsChannelData,
100
101
  Knockapi::Recipients::DiscordChannelData,
101
- Knockapi::Recipients::OneSignalChannelData
102
+ Knockapi::Recipients::OneSignalChannelData,
103
+ Knockapi::Recipients::RecipientsChannelData::Data::AwsSnsPushChannelData
102
104
  )
103
105
  end
104
106
 
107
+ class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
108
+ OrHash =
109
+ T.type_alias do
110
+ T.any(
111
+ Knockapi::Recipients::RecipientsChannelData::Data::AwsSnsPushChannelData,
112
+ Knockapi::Internal::AnyHash
113
+ )
114
+ end
115
+
116
+ # A list of platform endpoint ARNs. See
117
+ # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
118
+ sig { returns(T::Array[String]) }
119
+ attr_accessor :target_arns
120
+
121
+ # AWS SNS push channel data.
122
+ sig do
123
+ params(target_arns: T::Array[String]).returns(T.attached_class)
124
+ end
125
+ def self.new(
126
+ # A list of platform endpoint ARNs. See
127
+ # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
128
+ target_arns:
129
+ )
130
+ end
131
+
132
+ sig { override.returns({ target_arns: T::Array[String] }) }
133
+ def to_hash
134
+ end
135
+ end
136
+
105
137
  sig do
106
138
  override.returns(
107
139
  T::Array[
@@ -136,6 +168,11 @@ module Knockapi
136
168
  :push_apns,
137
169
  Knockapi::Recipients::RecipientsChannelData::Provider::TaggedSymbol
138
170
  )
171
+ PUSH_AWS_SNS =
172
+ T.let(
173
+ :push_aws_sns,
174
+ Knockapi::Recipients::RecipientsChannelData::Provider::TaggedSymbol
175
+ )
139
176
  PUSH_EXPO =
140
177
  T.let(
141
178
  :push_expo,
@@ -18,6 +18,7 @@ module Knockapi
18
18
  T.any(
19
19
  Knockapi::Recipients::PushChannelData,
20
20
  Knockapi::Recipients::OneSignalChannelData,
21
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData,
21
22
  Knockapi::Recipients::SlackChannelData,
22
23
  Knockapi::Recipients::MsTeamsChannelData,
23
24
  Knockapi::Recipients::DiscordChannelData
@@ -33,6 +34,7 @@ module Knockapi
33
34
  T.any(
34
35
  Knockapi::Recipients::PushChannelData::OrHash,
35
36
  Knockapi::Recipients::OneSignalChannelData::OrHash,
37
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
36
38
  Knockapi::Recipients::SlackChannelData::OrHash,
37
39
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
38
40
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -52,6 +54,7 @@ module Knockapi
52
54
  T.any(
53
55
  Knockapi::Recipients::PushChannelData,
54
56
  Knockapi::Recipients::OneSignalChannelData,
57
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData,
55
58
  Knockapi::Recipients::SlackChannelData,
56
59
  Knockapi::Recipients::MsTeamsChannelData,
57
60
  Knockapi::Recipients::DiscordChannelData
@@ -71,12 +74,43 @@ module Knockapi
71
74
  T.any(
72
75
  Knockapi::Recipients::PushChannelData,
73
76
  Knockapi::Recipients::OneSignalChannelData,
77
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData,
74
78
  Knockapi::Recipients::SlackChannelData,
75
79
  Knockapi::Recipients::MsTeamsChannelData,
76
80
  Knockapi::Recipients::DiscordChannelData
77
81
  )
78
82
  end
79
83
 
84
+ class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
85
+ OrHash =
86
+ T.type_alias do
87
+ T.any(
88
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData,
89
+ Knockapi::Internal::AnyHash
90
+ )
91
+ end
92
+
93
+ # A list of platform endpoint ARNs. See
94
+ # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
95
+ sig { returns(T::Array[String]) }
96
+ attr_accessor :target_arns
97
+
98
+ # AWS SNS push channel data.
99
+ sig do
100
+ params(target_arns: T::Array[String]).returns(T.attached_class)
101
+ end
102
+ def self.new(
103
+ # A list of platform endpoint ARNs. See
104
+ # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
105
+ target_arns:
106
+ )
107
+ end
108
+
109
+ sig { override.returns({ target_arns: T::Array[String] }) }
110
+ def to_hash
111
+ end
112
+ end
113
+
80
114
  sig do
81
115
  override.returns(
82
116
  T::Array[Knockapi::Recipients::ChannelDataRequest::Data::Variants]
@@ -12,12 +12,43 @@ module Knockapi
12
12
  T.any(
13
13
  Knockapi::Recipients::PushChannelData,
14
14
  Knockapi::Recipients::OneSignalChannelData,
15
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
15
16
  Knockapi::Recipients::SlackChannelData,
16
17
  Knockapi::Recipients::MsTeamsChannelData,
17
18
  Knockapi::Recipients::DiscordChannelData
18
19
  )
19
20
  end
20
21
 
22
+ class AwsSnsPushChannelData < Knockapi::Internal::Type::BaseModel
23
+ OrHash =
24
+ T.type_alias do
25
+ T.any(
26
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
27
+ Knockapi::Internal::AnyHash
28
+ )
29
+ end
30
+
31
+ # A list of platform endpoint ARNs. See
32
+ # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
33
+ sig { returns(T::Array[String]) }
34
+ attr_accessor :target_arns
35
+
36
+ # AWS SNS push channel data.
37
+ sig do
38
+ params(target_arns: T::Array[String]).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # A list of platform endpoint ARNs. See
42
+ # [Setting up an Amazon SNS platform endpoint for mobile notifications](https://docs.aws.amazon.com/sns/latest/dg/mobile-platform-endpoint.html).
43
+ target_arns:
44
+ )
45
+ end
46
+
47
+ sig { override.returns({ target_arns: T::Array[String] }) }
48
+ def to_hash
49
+ end
50
+ end
51
+
21
52
  sig do
22
53
  override.returns(
23
54
  T::Array[
@@ -21,6 +21,7 @@ module Knockapi
21
21
  T.any(
22
22
  Knockapi::Recipients::PushChannelData,
23
23
  Knockapi::Recipients::OneSignalChannelData,
24
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
24
25
  Knockapi::Recipients::SlackChannelData,
25
26
  Knockapi::Recipients::MsTeamsChannelData,
26
27
  Knockapi::Recipients::DiscordChannelData
@@ -60,6 +61,7 @@ module Knockapi
60
61
  T.any(
61
62
  Knockapi::Recipients::PushChannelData::OrHash,
62
63
  Knockapi::Recipients::OneSignalChannelData::OrHash,
64
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
63
65
  Knockapi::Recipients::SlackChannelData::OrHash,
64
66
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
65
67
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -101,6 +103,7 @@ module Knockapi
101
103
  T.any(
102
104
  Knockapi::Recipients::PushChannelData,
103
105
  Knockapi::Recipients::OneSignalChannelData,
106
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
104
107
  Knockapi::Recipients::SlackChannelData,
105
108
  Knockapi::Recipients::MsTeamsChannelData,
106
109
  Knockapi::Recipients::DiscordChannelData
@@ -20,6 +20,7 @@ module Knockapi
20
20
  T.any(
21
21
  Knockapi::Recipients::PushChannelData,
22
22
  Knockapi::Recipients::OneSignalChannelData,
23
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
23
24
  Knockapi::Recipients::SlackChannelData,
24
25
  Knockapi::Recipients::MsTeamsChannelData,
25
26
  Knockapi::Recipients::DiscordChannelData
@@ -46,6 +47,7 @@ module Knockapi
46
47
  T.any(
47
48
  Knockapi::Recipients::PushChannelData::OrHash,
48
49
  Knockapi::Recipients::OneSignalChannelData::OrHash,
50
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
49
51
  Knockapi::Recipients::SlackChannelData::OrHash,
50
52
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
51
53
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -75,6 +77,7 @@ module Knockapi
75
77
  T.any(
76
78
  Knockapi::Recipients::PushChannelData,
77
79
  Knockapi::Recipients::OneSignalChannelData,
80
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData,
78
81
  Knockapi::Recipients::SlackChannelData,
79
82
  Knockapi::Recipients::MsTeamsChannelData,
80
83
  Knockapi::Recipients::DiscordChannelData