knockapi 1.12.0 → 1.14.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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/README.md +1 -1
  4. data/lib/knockapi/errors.rb +25 -11
  5. data/lib/knockapi/internal/entries_cursor.rb +1 -1
  6. data/lib/knockapi/internal/items_cursor.rb +1 -1
  7. data/lib/knockapi/internal/ms_teams_pagination.rb +1 -1
  8. data/lib/knockapi/internal/slack_channels_cursor.rb +1 -1
  9. data/lib/knockapi/internal/transport/base_client.rb +11 -7
  10. data/lib/knockapi/internal/type/base_page.rb +1 -1
  11. data/lib/knockapi/internal/util.rb +1 -1
  12. data/lib/knockapi/models/identify_user_request.rb +2 -2
  13. data/lib/knockapi/models/inline_identify_user_request.rb +2 -2
  14. data/lib/knockapi/models/inline_object_request.rb +2 -2
  15. data/lib/knockapi/models/object_set_params.rb +2 -2
  16. data/lib/knockapi/models/objects/bulk_set_params.rb +2 -2
  17. data/lib/knockapi/models/recipients/channel_data.rb +25 -3
  18. data/lib/knockapi/models/recipients/channel_data_request.rb +24 -3
  19. data/lib/knockapi/models/recipients/inline_channel_data_request.rb +22 -1
  20. data/lib/knockapi/models/tenant_request.rb +2 -2
  21. data/lib/knockapi/models/tenant_set_params.rb +2 -2
  22. data/lib/knockapi/models/users/guide_get_channel_response.rb +9 -1
  23. data/lib/knockapi/resources/objects.rb +2 -2
  24. data/lib/knockapi/resources/tenants.rb +1 -1
  25. data/lib/knockapi/resources/users.rb +2 -2
  26. data/lib/knockapi/version.rb +1 -1
  27. data/rbi/knockapi/errors.rbi +29 -2
  28. data/rbi/knockapi/internal/transport/base_client.rbi +4 -5
  29. data/rbi/knockapi/internal/type/base_page.rbi +1 -1
  30. data/rbi/knockapi/internal/util.rbi +1 -1
  31. data/rbi/knockapi/models/identify_user_request.rbi +3 -0
  32. data/rbi/knockapi/models/inline_identify_user_request.rbi +3 -0
  33. data/rbi/knockapi/models/inline_object_request.rbi +3 -0
  34. data/rbi/knockapi/models/object_set_params.rbi +4 -0
  35. data/rbi/knockapi/models/objects/bulk_set_params.rbi +3 -0
  36. data/rbi/knockapi/models/recipients/channel_data.rbi +39 -2
  37. data/rbi/knockapi/models/recipients/channel_data_request.rbi +34 -0
  38. data/rbi/knockapi/models/recipients/inline_channel_data_request.rbi +31 -0
  39. data/rbi/knockapi/models/tenant_request.rbi +3 -0
  40. data/rbi/knockapi/models/tenant_set_params.rbi +3 -0
  41. data/rbi/knockapi/models/users/guide_get_channel_response.rbi +11 -0
  42. data/rbi/knockapi/resources/objects.rbi +2 -0
  43. data/rbi/knockapi/resources/tenants.rbi +1 -0
  44. data/rbi/knockapi/resources/users.rbi +2 -0
  45. data/sig/knockapi/errors.rbs +7 -0
  46. data/sig/knockapi/models/recipients/channel_data.rbs +13 -0
  47. data/sig/knockapi/models/recipients/channel_data_request.rbs +11 -0
  48. data/sig/knockapi/models/recipients/inline_channel_data_request.rbs +11 -0
  49. data/sig/knockapi/models/users/guide_get_channel_response.rbs +7 -0
  50. metadata +2 -2
@@ -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::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::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.
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::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::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.
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::SlackChannelData, Knockapi::Models::Recipients::MsTeamsChannelData, Knockapi::Models::Recipients::DiscordChannelData] Channel data for a given channel type.
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.
358
358
  #
359
359
  # @param request_options [Knockapi::RequestOptions, Hash{Symbol=>Object}, nil]
360
360
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Knockapi
4
- VERSION = "1.12.0"
4
+ VERSION = "1.14.0"
5
5
  end
@@ -33,6 +33,9 @@ module Knockapi
33
33
  sig { returns(T.nilable(Integer)) }
34
34
  attr_accessor :status
35
35
 
36
+ sig { returns(T.nilable(T::Hash[String, String])) }
37
+ attr_accessor :headers
38
+
36
39
  sig { returns(T.nilable(T.anything)) }
37
40
  attr_accessor :body
38
41
 
@@ -41,6 +44,7 @@ module Knockapi
41
44
  params(
42
45
  url: URI::Generic,
43
46
  status: T.nilable(Integer),
47
+ headers: T.nilable(T::Hash[String, String]),
44
48
  body: T.nilable(Object),
45
49
  request: NilClass,
46
50
  response: NilClass,
@@ -50,6 +54,7 @@ module Knockapi
50
54
  def self.new(
51
55
  url:,
52
56
  status: nil,
57
+ headers: nil,
53
58
  body: nil,
54
59
  request: nil,
55
60
  response: nil,
@@ -70,6 +75,7 @@ module Knockapi
70
75
  params(
71
76
  url: URI::Generic,
72
77
  status: NilClass,
78
+ headers: T.nilable(T::Hash[String, String]),
73
79
  body: NilClass,
74
80
  request: NilClass,
75
81
  response: NilClass,
@@ -79,6 +85,7 @@ module Knockapi
79
85
  def self.new(
80
86
  url:,
81
87
  status: nil,
88
+ headers: nil,
82
89
  body: nil,
83
90
  request: nil,
84
91
  response: nil,
@@ -93,6 +100,7 @@ module Knockapi
93
100
  params(
94
101
  url: URI::Generic,
95
102
  status: NilClass,
103
+ headers: T.nilable(T::Hash[String, String]),
96
104
  body: NilClass,
97
105
  request: NilClass,
98
106
  response: NilClass,
@@ -102,6 +110,7 @@ module Knockapi
102
110
  def self.new(
103
111
  url:,
104
112
  status: nil,
113
+ headers: nil,
105
114
  body: nil,
106
115
  request: nil,
107
116
  response: nil,
@@ -116,13 +125,22 @@ module Knockapi
116
125
  params(
117
126
  url: URI::Generic,
118
127
  status: Integer,
128
+ headers: T.nilable(T::Hash[String, String]),
119
129
  body: T.nilable(Object),
120
130
  request: NilClass,
121
131
  response: NilClass,
122
132
  message: T.nilable(String)
123
133
  ).returns(T.attached_class)
124
134
  end
125
- def self.for(url:, status:, body:, request:, response:, message: nil)
135
+ def self.for(
136
+ url:,
137
+ status:,
138
+ headers:,
139
+ body:,
140
+ request:,
141
+ response:,
142
+ message: nil
143
+ )
126
144
  end
127
145
 
128
146
  sig { returns(Integer) }
@@ -133,13 +151,22 @@ module Knockapi
133
151
  params(
134
152
  url: URI::Generic,
135
153
  status: Integer,
154
+ headers: T.nilable(T::Hash[String, String]),
136
155
  body: T.nilable(Object),
137
156
  request: NilClass,
138
157
  response: NilClass,
139
158
  message: T.nilable(String)
140
159
  ).returns(T.attached_class)
141
160
  end
142
- def self.new(url:, status:, body:, request:, response:, message: nil)
161
+ def self.new(
162
+ url:,
163
+ status:,
164
+ headers:,
165
+ body:,
166
+ request:,
167
+ response:,
168
+ message: nil
169
+ )
143
170
  end
144
171
  end
145
172
 
@@ -84,10 +84,9 @@ module Knockapi
84
84
 
85
85
  # @api private
86
86
  sig do
87
- params(
88
- status: Integer,
89
- headers: T.any(T::Hash[String, String], Net::HTTPHeader)
90
- ).returns(T::Boolean)
87
+ params(status: Integer, headers: T::Hash[String, String]).returns(
88
+ T::Boolean
89
+ )
91
90
  end
92
91
  def should_retry?(status, headers:)
93
92
  end
@@ -97,7 +96,7 @@ module Knockapi
97
96
  params(
98
97
  request: Knockapi::Internal::Transport::BaseClient::RequestInput,
99
98
  status: Integer,
100
- response_headers: T.any(T::Hash[String, String], Net::HTTPHeader)
99
+ response_headers: T::Hash[String, String]
101
100
  ).returns(Knockapi::Internal::Transport::BaseClient::RequestInput)
102
101
  end
103
102
  def follow_redirect(request, status:, response_headers:)
@@ -30,7 +30,7 @@ module Knockapi
30
30
  params(
31
31
  client: Knockapi::Internal::Transport::BaseClient,
32
32
  req: Knockapi::Internal::Transport::BaseClient::RequestComponents,
33
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
33
+ headers: T::Hash[String, String],
34
34
  page_data: T.anything
35
35
  ).void
36
36
  end
@@ -361,7 +361,7 @@ module Knockapi
361
361
  # Assumes each chunk in stream has `Encoding::BINARY`.
362
362
  sig do
363
363
  params(
364
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
364
+ headers: T::Hash[String, String],
365
365
  stream: T::Enumerable[String],
366
366
  suppress_error: T::Boolean
367
367
  ).returns(T.anything)
@@ -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
@@ -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
@@ -94,6 +94,13 @@ module Knockapi
94
94
  sig { params(id: String).void }
95
95
  attr_writer :id
96
96
 
97
+ # Whether the guide is active.
98
+ sig { returns(T.nilable(T::Boolean)) }
99
+ attr_reader :active
100
+
101
+ sig { params(active: T::Boolean).void }
102
+ attr_writer :active
103
+
97
104
  # The content of the guide.
98
105
  sig { returns(T.nilable(String)) }
99
106
  attr_reader :content
@@ -118,6 +125,7 @@ module Knockapi
118
125
  sig do
119
126
  params(
120
127
  id: String,
128
+ active: T::Boolean,
121
129
  content: String,
122
130
  metadata: T::Hash[Symbol, T.anything],
123
131
  title: String
@@ -126,6 +134,8 @@ module Knockapi
126
134
  def self.new(
127
135
  # The unique identifier for the guide.
128
136
  id: nil,
137
+ # Whether the guide is active.
138
+ active: nil,
129
139
  # The content of the guide.
130
140
  content: nil,
131
141
  # The metadata of the guide.
@@ -139,6 +149,7 @@ module Knockapi
139
149
  override.returns(
140
150
  {
141
151
  id: String,
152
+ active: T::Boolean,
142
153
  content: String,
143
154
  metadata: T::Hash[Symbol, T.anything],
144
155
  title: String
@@ -355,6 +355,7 @@ module Knockapi
355
355
  T.any(
356
356
  Knockapi::Recipients::PushChannelData::OrHash,
357
357
  Knockapi::Recipients::OneSignalChannelData::OrHash,
358
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
358
359
  Knockapi::Recipients::SlackChannelData::OrHash,
359
360
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
360
361
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -402,6 +403,7 @@ module Knockapi
402
403
  T.any(
403
404
  Knockapi::Recipients::PushChannelData::OrHash,
404
405
  Knockapi::Recipients::OneSignalChannelData::OrHash,
406
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
405
407
  Knockapi::Recipients::SlackChannelData::OrHash,
406
408
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
407
409
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -72,6 +72,7 @@ module Knockapi
72
72
  T.any(
73
73
  Knockapi::Recipients::PushChannelData::OrHash,
74
74
  Knockapi::Recipients::OneSignalChannelData::OrHash,
75
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
75
76
  Knockapi::Recipients::SlackChannelData::OrHash,
76
77
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
77
78
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -26,6 +26,7 @@ module Knockapi
26
26
  T.any(
27
27
  Knockapi::Recipients::PushChannelData::OrHash,
28
28
  Knockapi::Recipients::OneSignalChannelData::OrHash,
29
+ Knockapi::Recipients::InlineChannelDataRequestItem::AwsSnsPushChannelData::OrHash,
29
30
  Knockapi::Recipients::SlackChannelData::OrHash,
30
31
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
31
32
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -344,6 +345,7 @@ module Knockapi
344
345
  T.any(
345
346
  Knockapi::Recipients::PushChannelData::OrHash,
346
347
  Knockapi::Recipients::OneSignalChannelData::OrHash,
348
+ Knockapi::Recipients::ChannelDataRequest::Data::AwsSnsPushChannelData::OrHash,
347
349
  Knockapi::Recipients::SlackChannelData::OrHash,
348
350
  Knockapi::Recipients::MsTeamsChannelData::OrHash,
349
351
  Knockapi::Recipients::DiscordChannelData::OrHash
@@ -21,11 +21,14 @@ module Knockapi
21
21
 
22
22
  attr_accessor status: Integer?
23
23
 
24
+ attr_accessor headers: ::Hash[String, String]?
25
+
24
26
  attr_accessor body: top?
25
27
 
26
28
  def initialize: (
27
29
  url: URI::Generic,
28
30
  ?status: Integer?,
31
+ ?headers: ::Hash[String, String]?,
29
32
  ?body: Object?,
30
33
  ?request: nil,
31
34
  ?response: nil,
@@ -37,6 +40,7 @@ module Knockapi
37
40
  def initialize: (
38
41
  url: URI::Generic,
39
42
  ?status: nil,
43
+ ?headers: ::Hash[String, String]?,
40
44
  ?body: nil,
41
45
  ?request: nil,
42
46
  ?response: nil,
@@ -48,6 +52,7 @@ module Knockapi
48
52
  def initialize: (
49
53
  url: URI::Generic,
50
54
  ?status: nil,
55
+ ?headers: ::Hash[String, String]?,
51
56
  ?body: nil,
52
57
  ?request: nil,
53
58
  ?response: nil,
@@ -59,6 +64,7 @@ module Knockapi
59
64
  def self.for: (
60
65
  url: URI::Generic,
61
66
  status: Integer,
67
+ headers: ::Hash[String, String]?,
62
68
  body: Object?,
63
69
  request: nil,
64
70
  response: nil,
@@ -68,6 +74,7 @@ module Knockapi
68
74
  def initialize: (
69
75
  url: URI::Generic,
70
76
  status: Integer,
77
+ headers: ::Hash[String, String]?,
71
78
  body: Object?,
72
79
  request: nil,
73
80
  response: nil,