trycourier 4.26.2 → 5.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f62c9ba0ccf68a6be91bb13460ab3d7ed38815cd7d2827eba3f0b6c5460598b
4
- data.tar.gz: 7d3026d94cc1db562eb020e2e145eacbb67bd5adeada9e29010e60143bdba7ce
3
+ metadata.gz: 69e1448e2d9e9f4b3e873bd482815aa3b9fad29ecb111705b64771c6b2e7b431
4
+ data.tar.gz: af2e780f1a0a216e736c414e7e9753c69ad6625a45c80e2b84eae72bf611a8e3
5
5
  SHA512:
6
- metadata.gz: aed6dce51f5f53597c0b64f394f29cec87c693790996d74d7fc6aaac652a724fe31dda9c3068e0c355888349cf0cb2249db1f8c70126c6f4eea85af0c75c70e6
7
- data.tar.gz: b2b494e23b204e033f15d79fe44aa38b601443a515915955c678770878268e68700793bd1542036c405a7e8b0cef24db72d4d33576dd73bdd94d295bc51fe148
6
+ metadata.gz: 32f36d5e0b55ac49d6279347e6c762f350d814531833a5f57ff0517cbf363e2f07656154eb4bcbb3a73244045d27f5feebd98f2a8244fc1e7cc43249ca04ef76
7
+ data.tar.gz: 976626752ed191ad270a800c71e7123f5a6d3ca6337097713aca3b32d6ec413304c86a6ab2b251cd4a0fe2177e1c270d3067bab8637eaf1cf4bd117906c9eca8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.0.0](https://github.com/trycourier/courier-ruby/compare/v4.26.2...v5.0.0) (2026-08-17)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * **api:** nest the AWS SNS target_arn under aws_sns on the user profile ([#123](https://github.com/trycourier/courier-ruby/issues/123))
9
+
10
+ ### Features
11
+
12
+ * **api:** nest the AWS SNS target_arn under aws_sns on the user profile ([#123](https://github.com/trycourier/courier-ruby/issues/123)) ([fcf37c6](https://github.com/trycourier/courier-ruby/commit/fcf37c690e11ccffc8283bbd5791864b405ca20c))
13
+
3
14
  ## [4.26.2](https://github.com/trycourier/courier-ruby/compare/v4.26.1...v4.26.2) (2026-08-13)
4
15
 
5
16
 
data/README.md CHANGED
@@ -9,7 +9,7 @@ Add the gem to your `Gemfile`:
9
9
  <!-- x-release-please-start-version -->
10
10
 
11
11
  ```ruby
12
- gem "trycourier", "~> 4.26.2"
12
+ gem "trycourier", "~> 5.0.0"
13
13
  ```
14
14
 
15
15
  <!-- x-release-please-end -->
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Courier
4
+ module Models
5
+ class AwsSns < Courier::Internal::Type::BaseModel
6
+ # @!attribute target_arn
7
+ # The ARN of the SNS platform endpoint, topic, or application to publish to.
8
+ #
9
+ # @return [String]
10
+ required :target_arn, String
11
+
12
+ # @!method initialize(target_arn:)
13
+ # Routes a push notification through the AWS SNS provider. The target ARN must be
14
+ # nested under `aws_sns` — a top-level `target_arn` on the profile is ignored by
15
+ # the provider.
16
+ #
17
+ # @param target_arn [String] The ARN of the SNS platform endpoint, topic, or application to publish to.
18
+ end
19
+ end
20
+ end
@@ -18,6 +18,14 @@ module Courier
18
18
  # @return [String, nil]
19
19
  optional :apn, String, nil?: true
20
20
 
21
+ # @!attribute aws_sns
22
+ # Routes a push notification through the AWS SNS provider. The target ARN must be
23
+ # nested under `aws_sns` — a top-level `target_arn` on the profile is ignored by
24
+ # the provider.
25
+ #
26
+ # @return [Courier::Models::AwsSns, nil]
27
+ optional :aws_sns, -> { Courier::AwsSns }, nil?: true
28
+
21
29
  # @!attribute birthdate
22
30
  #
23
31
  # @return [String, nil]
@@ -143,11 +151,6 @@ module Courier
143
151
  # @return [String, nil]
144
152
  optional :sub, String, nil?: true
145
153
 
146
- # @!attribute target_arn
147
- #
148
- # @return [String, nil]
149
- optional :target_arn, String, nil?: true
150
-
151
154
  # @!attribute updated_at
152
155
  #
153
156
  # @return [String, nil]
@@ -163,7 +166,7 @@ module Courier
163
166
  # @return [String, nil]
164
167
  optional :zoneinfo, String, nil?: true
165
168
 
166
- # @!method initialize(address: nil, airship: nil, apn: nil, birthdate: nil, custom: nil, discord: nil, email: nil, email_verified: nil, expo: nil, facebook_psid: nil, family_name: nil, firebase_token: nil, gender: nil, given_name: nil, intercom: nil, locale: nil, middle_name: nil, ms_teams: nil, name: nil, nickname: nil, phone_number: nil, phone_number_verified: nil, picture: nil, preferred_name: nil, profile: nil, slack: nil, sub: nil, target_arn: nil, updated_at: nil, website: nil, zoneinfo: nil)
169
+ # @!method initialize(address: nil, airship: nil, apn: nil, aws_sns: nil, birthdate: nil, custom: nil, discord: nil, email: nil, email_verified: nil, expo: nil, facebook_psid: nil, family_name: nil, firebase_token: nil, gender: nil, given_name: nil, intercom: nil, locale: nil, middle_name: nil, ms_teams: nil, name: nil, nickname: nil, phone_number: nil, phone_number_verified: nil, picture: nil, preferred_name: nil, profile: nil, slack: nil, sub: nil, updated_at: nil, website: nil, zoneinfo: nil)
167
170
  # Some parameter documentations has been truncated, see
168
171
  # {Courier::Models::UserProfile} for more details.
169
172
  #
@@ -173,6 +176,8 @@ module Courier
173
176
  #
174
177
  # @param apn [String, nil]
175
178
  #
179
+ # @param aws_sns [Courier::Models::AwsSns, nil] Routes a push notification through the AWS SNS provider. The target ARN must be
180
+ #
176
181
  # @param birthdate [String, nil]
177
182
  #
178
183
  # @param custom [Hash{Symbol=>Object}, nil] A free form object. Due to a limitation of the API Explorer, you can only enter
@@ -221,8 +226,6 @@ module Courier
221
226
  #
222
227
  # @param sub [String, nil]
223
228
  #
224
- # @param target_arn [String, nil]
225
- #
226
229
  # @param updated_at [String, nil]
227
230
  #
228
231
  # @param website [String, nil]
@@ -83,6 +83,8 @@ module Courier
83
83
 
84
84
  AutomationTemplateListResponse = Courier::Models::AutomationTemplateListResponse
85
85
 
86
+ AwsSns = Courier::Models::AwsSns
87
+
86
88
  BaseCheck = Courier::Models::BaseCheck
87
89
 
88
90
  BaseTemplateTenantAssociation = Courier::Models::BaseTemplateTenantAssociation
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Courier
4
- VERSION = "4.26.2"
4
+ VERSION = "5.0.0"
5
5
  end
data/lib/courier.rb CHANGED
@@ -116,6 +116,7 @@ require_relative "courier/models/automations/invoke_invoke_ad_hoc_params"
116
116
  require_relative "courier/models/automations/invoke_invoke_by_template_params"
117
117
  require_relative "courier/models/automation_template"
118
118
  require_relative "courier/models/automation_template_list_response"
119
+ require_relative "courier/models/aws_sns"
119
120
  require_relative "courier/models/brand"
120
121
  require_relative "courier/models/brand_colors"
121
122
  require_relative "courier/models/brand_create_params"
@@ -0,0 +1,28 @@
1
+ # typed: strong
2
+
3
+ module Courier
4
+ module Models
5
+ class AwsSns < Courier::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Courier::AwsSns, Courier::Internal::AnyHash) }
8
+
9
+ # The ARN of the SNS platform endpoint, topic, or application to publish to.
10
+ sig { returns(String) }
11
+ attr_accessor :target_arn
12
+
13
+ # Routes a push notification through the AWS SNS provider. The target ARN must be
14
+ # nested under `aws_sns` — a top-level `target_arn` on the profile is ignored by
15
+ # the provider.
16
+ sig { params(target_arn: String).returns(T.attached_class) }
17
+ def self.new(
18
+ # The ARN of the SNS platform endpoint, topic, or application to publish to.
19
+ target_arn:
20
+ )
21
+ end
22
+
23
+ sig { override.returns({ target_arn: String }) }
24
+ def to_hash
25
+ end
26
+ end
27
+ end
28
+ end
@@ -23,6 +23,15 @@ module Courier
23
23
  sig { returns(T.nilable(String)) }
24
24
  attr_accessor :apn
25
25
 
26
+ # Routes a push notification through the AWS SNS provider. The target ARN must be
27
+ # nested under `aws_sns` — a top-level `target_arn` on the profile is ignored by
28
+ # the provider.
29
+ sig { returns(T.nilable(Courier::AwsSns)) }
30
+ attr_reader :aws_sns
31
+
32
+ sig { params(aws_sns: T.nilable(Courier::AwsSns::OrHash)).void }
33
+ attr_writer :aws_sns
34
+
26
35
  sig { returns(T.nilable(String)) }
27
36
  attr_accessor :birthdate
28
37
 
@@ -126,9 +135,6 @@ module Courier
126
135
  sig { returns(T.nilable(String)) }
127
136
  attr_accessor :sub
128
137
 
129
- sig { returns(T.nilable(String)) }
130
- attr_accessor :target_arn
131
-
132
138
  sig { returns(T.nilable(String)) }
133
139
  attr_accessor :updated_at
134
140
 
@@ -143,6 +149,7 @@ module Courier
143
149
  address: T.nilable(Courier::UserProfile::Address::OrHash),
144
150
  airship: T.nilable(Courier::AirshipProfile::OrHash),
145
151
  apn: T.nilable(String),
152
+ aws_sns: T.nilable(Courier::AwsSns::OrHash),
146
153
  birthdate: T.nilable(String),
147
154
  custom: T.nilable(T::Hash[Symbol, T.anything]),
148
155
  discord:
@@ -193,7 +200,6 @@ module Courier
193
200
  )
194
201
  ),
195
202
  sub: T.nilable(String),
196
- target_arn: T.nilable(String),
197
203
  updated_at: T.nilable(String),
198
204
  website: T.nilable(String),
199
205
  zoneinfo: T.nilable(String)
@@ -203,6 +209,10 @@ module Courier
203
209
  address: nil,
204
210
  airship: nil,
205
211
  apn: nil,
212
+ # Routes a push notification through the AWS SNS provider. The target ARN must be
213
+ # nested under `aws_sns` — a top-level `target_arn` on the profile is ignored by
214
+ # the provider.
215
+ aws_sns: nil,
206
216
  birthdate: nil,
207
217
  # A free form object. Due to a limitation of the API Explorer, you can only enter
208
218
  # string key/values below, but this API accepts more complex object structures.
@@ -229,7 +239,6 @@ module Courier
229
239
  profile: nil,
230
240
  slack: nil,
231
241
  sub: nil,
232
- target_arn: nil,
233
242
  updated_at: nil,
234
243
  website: nil,
235
244
  zoneinfo: nil
@@ -242,6 +251,7 @@ module Courier
242
251
  address: T.nilable(Courier::UserProfile::Address),
243
252
  airship: T.nilable(Courier::AirshipProfile),
244
253
  apn: T.nilable(String),
254
+ aws_sns: T.nilable(Courier::AwsSns),
245
255
  birthdate: T.nilable(String),
246
256
  custom: T.nilable(T::Hash[Symbol, T.anything]),
247
257
  discord:
@@ -286,7 +296,6 @@ module Courier
286
296
  )
287
297
  ),
288
298
  sub: T.nilable(String),
289
- target_arn: T.nilable(String),
290
299
  updated_at: T.nilable(String),
291
300
  website: T.nilable(String),
292
301
  zoneinfo: T.nilable(String)
@@ -47,6 +47,8 @@ module Courier
47
47
  AutomationTemplateListResponse =
48
48
  Courier::Models::AutomationTemplateListResponse
49
49
 
50
+ AwsSns = Courier::Models::AwsSns
51
+
50
52
  BaseCheck = Courier::Models::BaseCheck
51
53
 
52
54
  BaseTemplateTenantAssociation = Courier::Models::BaseTemplateTenantAssociation
@@ -0,0 +1,13 @@
1
+ module Courier
2
+ module Models
3
+ type aws_sns = { target_arn: String }
4
+
5
+ class AwsSns < Courier::Internal::Type::BaseModel
6
+ attr_accessor target_arn: String
7
+
8
+ def initialize: (target_arn: String) -> void
9
+
10
+ def to_hash: -> { target_arn: String }
11
+ end
12
+ end
13
+ end
@@ -5,6 +5,7 @@ module Courier
5
5
  address: Courier::UserProfile::Address?,
6
6
  airship: Courier::AirshipProfile?,
7
7
  apn: String?,
8
+ aws_sns: Courier::AwsSns?,
8
9
  birthdate: String?,
9
10
  custom: ::Hash[Symbol, top]?,
10
11
  discord: Courier::Models::discord?,
@@ -29,7 +30,6 @@ module Courier
29
30
  profile: String?,
30
31
  slack: Courier::Models::slack?,
31
32
  sub: String?,
32
- target_arn: String?,
33
33
  updated_at: String?,
34
34
  website: String?,
35
35
  zoneinfo: String?
@@ -42,6 +42,8 @@ module Courier
42
42
 
43
43
  attr_accessor apn: String?
44
44
 
45
+ attr_accessor aws_sns: Courier::AwsSns?
46
+
45
47
  attr_accessor birthdate: String?
46
48
 
47
49
  attr_accessor custom: ::Hash[Symbol, top]?
@@ -90,8 +92,6 @@ module Courier
90
92
 
91
93
  attr_accessor sub: String?
92
94
 
93
- attr_accessor target_arn: String?
94
-
95
95
  attr_accessor updated_at: String?
96
96
 
97
97
  attr_accessor website: String?
@@ -102,6 +102,7 @@ module Courier
102
102
  ?address: Courier::UserProfile::Address?,
103
103
  ?airship: Courier::AirshipProfile?,
104
104
  ?apn: String?,
105
+ ?aws_sns: Courier::AwsSns?,
105
106
  ?birthdate: String?,
106
107
  ?custom: ::Hash[Symbol, top]?,
107
108
  ?discord: Courier::Models::discord?,
@@ -126,7 +127,6 @@ module Courier
126
127
  ?profile: String?,
127
128
  ?slack: Courier::Models::slack?,
128
129
  ?sub: String?,
129
- ?target_arn: String?,
130
130
  ?updated_at: String?,
131
131
  ?website: String?,
132
132
  ?zoneinfo: String?
@@ -136,6 +136,7 @@ module Courier
136
136
  address: Courier::UserProfile::Address?,
137
137
  airship: Courier::AirshipProfile?,
138
138
  apn: String?,
139
+ aws_sns: Courier::AwsSns?,
139
140
  birthdate: String?,
140
141
  custom: ::Hash[Symbol, top]?,
141
142
  discord: Courier::Models::discord?,
@@ -160,7 +161,6 @@ module Courier
160
161
  profile: String?,
161
162
  slack: Courier::Models::slack?,
162
163
  sub: String?,
163
- target_arn: String?,
164
164
  updated_at: String?,
165
165
  website: String?,
166
166
  zoneinfo: String?
@@ -43,6 +43,8 @@ module Courier
43
43
 
44
44
  class AutomationTemplateListResponse = Courier::Models::AutomationTemplateListResponse
45
45
 
46
+ class AwsSns = Courier::Models::AwsSns
47
+
46
48
  class BaseCheck = Courier::Models::BaseCheck
47
49
 
48
50
  class BaseTemplateTenantAssociation = Courier::Models::BaseTemplateTenantAssociation
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trycourier
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.26.2
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Courier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-14 00:00:00.000000000 Z
11
+ date: 2026-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -97,6 +97,7 @@ files:
97
97
  - lib/courier/models/automation_template_list_response.rb
98
98
  - lib/courier/models/automations/invoke_invoke_ad_hoc_params.rb
99
99
  - lib/courier/models/automations/invoke_invoke_by_template_params.rb
100
+ - lib/courier/models/aws_sns.rb
100
101
  - lib/courier/models/base_check.rb
101
102
  - lib/courier/models/base_template_tenant_association.rb
102
103
  - lib/courier/models/brand.rb
@@ -548,6 +549,7 @@ files:
548
549
  - rbi/courier/models/automation_template_list_response.rbi
549
550
  - rbi/courier/models/automations/invoke_invoke_ad_hoc_params.rbi
550
551
  - rbi/courier/models/automations/invoke_invoke_by_template_params.rbi
552
+ - rbi/courier/models/aws_sns.rbi
551
553
  - rbi/courier/models/base_check.rbi
552
554
  - rbi/courier/models/base_template_tenant_association.rbi
553
555
  - rbi/courier/models/brand.rbi
@@ -998,6 +1000,7 @@ files:
998
1000
  - sig/courier/models/automation_template_list_response.rbs
999
1001
  - sig/courier/models/automations/invoke_invoke_ad_hoc_params.rbs
1000
1002
  - sig/courier/models/automations/invoke_invoke_by_template_params.rbs
1003
+ - sig/courier/models/aws_sns.rbs
1001
1004
  - sig/courier/models/base_check.rbs
1002
1005
  - sig/courier/models/base_template_tenant_association.rbs
1003
1006
  - sig/courier/models/brand.rbs