trycourier 3.4.0.pre.alpha4 → 3.4.0.pre.alpha6

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/trycourier/internal/type/base_model.rb +3 -5
  5. data/lib/trycourier/models/audience.rb +1 -0
  6. data/lib/trycourier/models/audit_event.rb +1 -0
  7. data/lib/trycourier/models/brand.rb +1 -0
  8. data/lib/trycourier/models/message_details.rb +1 -0
  9. data/lib/trycourier/models/notification_get_content.rb +1 -0
  10. data/lib/trycourier/models/recipient.rb +2 -2
  11. data/lib/trycourier/models/subscription_list.rb +1 -0
  12. data/lib/trycourier/models/tenant.rb +1 -0
  13. data/lib/trycourier/models/user_recipient.rb +2 -2
  14. data/lib/trycourier/models/users/preference_retrieve_response.rb +3 -3
  15. data/lib/trycourier/models/users/preference_retrieve_topic_response.rb +3 -3
  16. data/lib/trycourier/models/users/token_add_single_params.rb +1 -1
  17. data/lib/trycourier/models/users/token_list_response.rb +1 -1
  18. data/lib/trycourier/models/users/token_retrieve_response.rb +1 -1
  19. data/lib/trycourier/models/users/topic_preference.rb +55 -0
  20. data/lib/trycourier/models/users/user_token.rb +183 -0
  21. data/lib/trycourier/models.rb +0 -4
  22. data/lib/trycourier/resources/users/tokens.rb +5 -5
  23. data/lib/trycourier/version.rb +1 -1
  24. data/lib/trycourier.rb +2 -2
  25. data/rbi/trycourier/models/recipient.rbi +2 -2
  26. data/rbi/trycourier/models/user_recipient.rbi +2 -2
  27. data/rbi/trycourier/models/users/preference_retrieve_response.rbi +3 -3
  28. data/rbi/trycourier/models/users/preference_retrieve_topic_response.rbi +4 -4
  29. data/rbi/trycourier/models/users/token_add_single_params.rbi +1 -1
  30. data/rbi/trycourier/models/users/token_list_response.rbi +1 -1
  31. data/rbi/trycourier/models/users/token_retrieve_response.rbi +1 -1
  32. data/rbi/trycourier/models/users/topic_preference.rbi +80 -0
  33. data/rbi/trycourier/models/users/user_token.rbi +291 -0
  34. data/rbi/trycourier/models.rbi +0 -4
  35. data/rbi/trycourier/resources/users/tokens.rbi +6 -5
  36. data/sig/trycourier/models/users/preference_retrieve_response.rbs +4 -4
  37. data/sig/trycourier/models/users/preference_retrieve_topic_response.rbs +4 -4
  38. data/sig/trycourier/models/users/token_add_single_params.rbs +1 -1
  39. data/sig/trycourier/models/users/token_list_response.rbs +1 -1
  40. data/sig/trycourier/models/users/token_retrieve_response.rbs +1 -1
  41. data/sig/trycourier/models/users/topic_preference.rbs +47 -0
  42. data/sig/trycourier/models/users/user_token.rbs +141 -0
  43. data/sig/trycourier/models.rbs +0 -4
  44. data/sig/trycourier/resources/users/tokens.rbs +4 -4
  45. metadata +8 -8
  46. data/lib/trycourier/models/topic_preference.rb +0 -53
  47. data/lib/trycourier/models/user_token.rb +0 -179
  48. data/rbi/trycourier/models/topic_preference.rbi +0 -75
  49. data/rbi/trycourier/models/user_token.rbi +0 -267
  50. data/sig/trycourier/models/topic_preference.rbs +0 -45
  51. data/sig/trycourier/models/user_token.rbs +0 -137
@@ -5,7 +5,7 @@ module Trycourier
5
5
  module Users
6
6
  TokenListResponse =
7
7
  T.let(
8
- Trycourier::Internal::Type::ArrayOf[Trycourier::UserToken],
8
+ Trycourier::Internal::Type::ArrayOf[Trycourier::Users::UserToken],
9
9
  Trycourier::Internal::Type::Converter
10
10
  )
11
11
  end
@@ -3,7 +3,7 @@
3
3
  module Trycourier
4
4
  module Models
5
5
  module Users
6
- class TokenRetrieveResponse < Trycourier::Models::UserToken
6
+ class TokenRetrieveResponse < Trycourier::Models::Users::UserToken
7
7
  OrHash =
8
8
  T.type_alias do
9
9
  T.any(
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module Trycourier
4
+ module Models
5
+ module Users
6
+ class TopicPreference < Trycourier::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Trycourier::Users::TopicPreference,
11
+ Trycourier::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(Trycourier::PreferenceStatus::TaggedSymbol) }
16
+ attr_accessor :default_status
17
+
18
+ sig { returns(Trycourier::PreferenceStatus::TaggedSymbol) }
19
+ attr_accessor :status
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :topic_id
23
+
24
+ sig { returns(String) }
25
+ attr_accessor :topic_name
26
+
27
+ # The Channels a user has chosen to receive notifications through for this topic
28
+ sig do
29
+ returns(
30
+ T.nilable(T::Array[Trycourier::ChannelClassification::TaggedSymbol])
31
+ )
32
+ end
33
+ attr_accessor :custom_routing
34
+
35
+ sig { returns(T.nilable(T::Boolean)) }
36
+ attr_accessor :has_custom_routing
37
+
38
+ sig do
39
+ params(
40
+ default_status: Trycourier::PreferenceStatus::OrSymbol,
41
+ status: Trycourier::PreferenceStatus::OrSymbol,
42
+ topic_id: String,
43
+ topic_name: String,
44
+ custom_routing:
45
+ T.nilable(T::Array[Trycourier::ChannelClassification::OrSymbol]),
46
+ has_custom_routing: T.nilable(T::Boolean)
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ default_status:,
51
+ status:,
52
+ topic_id:,
53
+ topic_name:,
54
+ # The Channels a user has chosen to receive notifications through for this topic
55
+ custom_routing: nil,
56
+ has_custom_routing: nil
57
+ )
58
+ end
59
+
60
+ sig do
61
+ override.returns(
62
+ {
63
+ default_status: Trycourier::PreferenceStatus::TaggedSymbol,
64
+ status: Trycourier::PreferenceStatus::TaggedSymbol,
65
+ topic_id: String,
66
+ topic_name: String,
67
+ custom_routing:
68
+ T.nilable(
69
+ T::Array[Trycourier::ChannelClassification::TaggedSymbol]
70
+ ),
71
+ has_custom_routing: T.nilable(T::Boolean)
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,291 @@
1
+ # typed: strong
2
+
3
+ module Trycourier
4
+ module Models
5
+ UserToken = Users::UserToken
6
+
7
+ module Users
8
+ class UserToken < Trycourier::Internal::Type::BaseModel
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Trycourier::Users::UserToken, Trycourier::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(Trycourier::Users::UserToken::ProviderKey::TaggedSymbol) }
15
+ attr_accessor :provider_key
16
+
17
+ # Full body of the token. Must match token in URL.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :token
20
+
21
+ # Information about the device the token is associated with.
22
+ sig { returns(T.nilable(Trycourier::Users::UserToken::Device)) }
23
+ attr_reader :device
24
+
25
+ sig do
26
+ params(
27
+ device: T.nilable(Trycourier::Users::UserToken::Device::OrHash)
28
+ ).void
29
+ end
30
+ attr_writer :device
31
+
32
+ # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
33
+ # disable expiration.
34
+ sig do
35
+ returns(T.nilable(Trycourier::Users::UserToken::ExpiryDate::Variants))
36
+ end
37
+ attr_accessor :expiry_date
38
+
39
+ # Properties sent to the provider along with the token
40
+ sig { returns(T.nilable(T.anything)) }
41
+ attr_reader :properties
42
+
43
+ sig { params(properties: T.anything).void }
44
+ attr_writer :properties
45
+
46
+ # Information about the device the token is associated with.
47
+ sig { returns(T.nilable(Trycourier::Users::UserToken::Tracking)) }
48
+ attr_reader :tracking
49
+
50
+ sig do
51
+ params(
52
+ tracking: T.nilable(Trycourier::Users::UserToken::Tracking::OrHash)
53
+ ).void
54
+ end
55
+ attr_writer :tracking
56
+
57
+ sig do
58
+ params(
59
+ provider_key: Trycourier::Users::UserToken::ProviderKey::OrSymbol,
60
+ token: T.nilable(String),
61
+ device: T.nilable(Trycourier::Users::UserToken::Device::OrHash),
62
+ expiry_date:
63
+ T.nilable(Trycourier::Users::UserToken::ExpiryDate::Variants),
64
+ properties: T.anything,
65
+ tracking: T.nilable(Trycourier::Users::UserToken::Tracking::OrHash)
66
+ ).returns(T.attached_class)
67
+ end
68
+ def self.new(
69
+ provider_key:,
70
+ # Full body of the token. Must match token in URL.
71
+ token: nil,
72
+ # Information about the device the token is associated with.
73
+ device: nil,
74
+ # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
75
+ # disable expiration.
76
+ expiry_date: nil,
77
+ # Properties sent to the provider along with the token
78
+ properties: nil,
79
+ # Information about the device the token is associated with.
80
+ tracking: nil
81
+ )
82
+ end
83
+
84
+ sig do
85
+ override.returns(
86
+ {
87
+ provider_key:
88
+ Trycourier::Users::UserToken::ProviderKey::TaggedSymbol,
89
+ token: T.nilable(String),
90
+ device: T.nilable(Trycourier::Users::UserToken::Device),
91
+ expiry_date:
92
+ T.nilable(Trycourier::Users::UserToken::ExpiryDate::Variants),
93
+ properties: T.anything,
94
+ tracking: T.nilable(Trycourier::Users::UserToken::Tracking)
95
+ }
96
+ )
97
+ end
98
+ def to_hash
99
+ end
100
+
101
+ module ProviderKey
102
+ extend Trycourier::Internal::Type::Enum
103
+
104
+ TaggedSymbol =
105
+ T.type_alias do
106
+ T.all(Symbol, Trycourier::Users::UserToken::ProviderKey)
107
+ end
108
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
109
+
110
+ FIREBASE_FCM =
111
+ T.let(
112
+ :"firebase-fcm",
113
+ Trycourier::Users::UserToken::ProviderKey::TaggedSymbol
114
+ )
115
+ APN =
116
+ T.let(:apn, Trycourier::Users::UserToken::ProviderKey::TaggedSymbol)
117
+ EXPO =
118
+ T.let(
119
+ :expo,
120
+ Trycourier::Users::UserToken::ProviderKey::TaggedSymbol
121
+ )
122
+ ONESIGNAL =
123
+ T.let(
124
+ :onesignal,
125
+ Trycourier::Users::UserToken::ProviderKey::TaggedSymbol
126
+ )
127
+
128
+ sig do
129
+ override.returns(
130
+ T::Array[Trycourier::Users::UserToken::ProviderKey::TaggedSymbol]
131
+ )
132
+ end
133
+ def self.values
134
+ end
135
+ end
136
+
137
+ class Device < Trycourier::Internal::Type::BaseModel
138
+ OrHash =
139
+ T.type_alias do
140
+ T.any(
141
+ Trycourier::Users::UserToken::Device,
142
+ Trycourier::Internal::AnyHash
143
+ )
144
+ end
145
+
146
+ # Id of the advertising identifier
147
+ sig { returns(T.nilable(String)) }
148
+ attr_accessor :ad_id
149
+
150
+ # Id of the application the token is used for
151
+ sig { returns(T.nilable(String)) }
152
+ attr_accessor :app_id
153
+
154
+ # Id of the device the token is associated with
155
+ sig { returns(T.nilable(String)) }
156
+ attr_accessor :device_id
157
+
158
+ # The device manufacturer
159
+ sig { returns(T.nilable(String)) }
160
+ attr_accessor :manufacturer
161
+
162
+ # The device model
163
+ sig { returns(T.nilable(String)) }
164
+ attr_accessor :model
165
+
166
+ # The device platform i.e. android, ios, web
167
+ sig { returns(T.nilable(String)) }
168
+ attr_accessor :platform
169
+
170
+ # Information about the device the token is associated with.
171
+ sig do
172
+ params(
173
+ ad_id: T.nilable(String),
174
+ app_id: T.nilable(String),
175
+ device_id: T.nilable(String),
176
+ manufacturer: T.nilable(String),
177
+ model: T.nilable(String),
178
+ platform: T.nilable(String)
179
+ ).returns(T.attached_class)
180
+ end
181
+ def self.new(
182
+ # Id of the advertising identifier
183
+ ad_id: nil,
184
+ # Id of the application the token is used for
185
+ app_id: nil,
186
+ # Id of the device the token is associated with
187
+ device_id: nil,
188
+ # The device manufacturer
189
+ manufacturer: nil,
190
+ # The device model
191
+ model: nil,
192
+ # The device platform i.e. android, ios, web
193
+ platform: nil
194
+ )
195
+ end
196
+
197
+ sig do
198
+ override.returns(
199
+ {
200
+ ad_id: T.nilable(String),
201
+ app_id: T.nilable(String),
202
+ device_id: T.nilable(String),
203
+ manufacturer: T.nilable(String),
204
+ model: T.nilable(String),
205
+ platform: T.nilable(String)
206
+ }
207
+ )
208
+ end
209
+ def to_hash
210
+ end
211
+ end
212
+
213
+ # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
214
+ # disable expiration.
215
+ module ExpiryDate
216
+ extend Trycourier::Internal::Type::Union
217
+
218
+ Variants = T.type_alias { T.any(String, T::Boolean) }
219
+
220
+ sig do
221
+ override.returns(
222
+ T::Array[Trycourier::Users::UserToken::ExpiryDate::Variants]
223
+ )
224
+ end
225
+ def self.variants
226
+ end
227
+ end
228
+
229
+ class Tracking < Trycourier::Internal::Type::BaseModel
230
+ OrHash =
231
+ T.type_alias do
232
+ T.any(
233
+ Trycourier::Users::UserToken::Tracking,
234
+ Trycourier::Internal::AnyHash
235
+ )
236
+ end
237
+
238
+ # The IP address of the device
239
+ sig { returns(T.nilable(String)) }
240
+ attr_accessor :ip
241
+
242
+ # The latitude of the device
243
+ sig { returns(T.nilable(String)) }
244
+ attr_accessor :lat
245
+
246
+ # The longitude of the device
247
+ sig { returns(T.nilable(String)) }
248
+ attr_accessor :long
249
+
250
+ # The operating system version
251
+ sig { returns(T.nilable(String)) }
252
+ attr_accessor :os_version
253
+
254
+ # Information about the device the token is associated with.
255
+ sig do
256
+ params(
257
+ ip: T.nilable(String),
258
+ lat: T.nilable(String),
259
+ long: T.nilable(String),
260
+ os_version: T.nilable(String)
261
+ ).returns(T.attached_class)
262
+ end
263
+ def self.new(
264
+ # The IP address of the device
265
+ ip: nil,
266
+ # The latitude of the device
267
+ lat: nil,
268
+ # The longitude of the device
269
+ long: nil,
270
+ # The operating system version
271
+ os_version: nil
272
+ )
273
+ end
274
+
275
+ sig do
276
+ override.returns(
277
+ {
278
+ ip: T.nilable(String),
279
+ lat: T.nilable(String),
280
+ long: T.nilable(String),
281
+ os_version: T.nilable(String)
282
+ }
283
+ )
284
+ end
285
+ def to_hash
286
+ end
287
+ end
288
+ end
289
+ end
290
+ end
291
+ end
@@ -218,8 +218,6 @@ module Trycourier
218
218
 
219
219
  TextStyle = Trycourier::Models::TextStyle
220
220
 
221
- TopicPreference = Trycourier::Models::TopicPreference
222
-
223
221
  TranslationRetrieveParams = Trycourier::Models::TranslationRetrieveParams
224
222
 
225
223
  TranslationUpdateParams = Trycourier::Models::TranslationUpdateParams
@@ -228,8 +226,6 @@ module Trycourier
228
226
 
229
227
  Users = Trycourier::Models::Users
230
228
 
231
- UserToken = Trycourier::Models::UserToken
232
-
233
229
  Utm = Trycourier::Models::Utm
234
230
 
235
231
  WidgetBackground = Trycourier::Models::WidgetBackground
@@ -47,7 +47,7 @@ module Trycourier
47
47
  params(
48
48
  user_id: String,
49
49
  request_options: Trycourier::RequestOptions::OrHash
50
- ).returns(T::Array[Trycourier::UserToken])
50
+ ).returns(T::Array[Trycourier::Users::UserToken])
51
51
  end
52
52
  def list(
53
53
  # The user's ID. This can be any uniquely identifiable string.
@@ -92,12 +92,13 @@ module Trycourier
92
92
  params(
93
93
  path_token: String,
94
94
  user_id: String,
95
- provider_key: Trycourier::UserToken::ProviderKey::OrSymbol,
95
+ provider_key: Trycourier::Users::UserToken::ProviderKey::OrSymbol,
96
96
  body_token: T.nilable(String),
97
- device: T.nilable(Trycourier::UserToken::Device::OrHash),
98
- expiry_date: T.nilable(Trycourier::UserToken::ExpiryDate::Variants),
97
+ device: T.nilable(Trycourier::Users::UserToken::Device::OrHash),
98
+ expiry_date:
99
+ T.nilable(Trycourier::Users::UserToken::ExpiryDate::Variants),
99
100
  properties: T.anything,
100
- tracking: T.nilable(Trycourier::UserToken::Tracking::OrHash),
101
+ tracking: T.nilable(Trycourier::Users::UserToken::Tracking::OrHash),
101
102
  request_options: Trycourier::RequestOptions::OrHash
102
103
  ).void
103
104
  end
@@ -3,22 +3,22 @@ module Trycourier
3
3
  module Users
4
4
  type preference_retrieve_response =
5
5
  {
6
- items: ::Array[Trycourier::TopicPreference],
6
+ items: ::Array[Trycourier::Users::TopicPreference],
7
7
  paging: Trycourier::Paging
8
8
  }
9
9
 
10
10
  class PreferenceRetrieveResponse < Trycourier::Internal::Type::BaseModel
11
- attr_accessor items: ::Array[Trycourier::TopicPreference]
11
+ attr_accessor items: ::Array[Trycourier::Users::TopicPreference]
12
12
 
13
13
  attr_accessor paging: Trycourier::Paging
14
14
 
15
15
  def initialize: (
16
- items: ::Array[Trycourier::TopicPreference],
16
+ items: ::Array[Trycourier::Users::TopicPreference],
17
17
  paging: Trycourier::Paging
18
18
  ) -> void
19
19
 
20
20
  def to_hash: -> {
21
- items: ::Array[Trycourier::TopicPreference],
21
+ items: ::Array[Trycourier::Users::TopicPreference],
22
22
  paging: Trycourier::Paging
23
23
  }
24
24
  end
@@ -2,14 +2,14 @@ module Trycourier
2
2
  module Models
3
3
  module Users
4
4
  type preference_retrieve_topic_response =
5
- { topic: Trycourier::TopicPreference }
5
+ { topic: Trycourier::Users::TopicPreference }
6
6
 
7
7
  class PreferenceRetrieveTopicResponse < Trycourier::Internal::Type::BaseModel
8
- attr_accessor topic: Trycourier::TopicPreference
8
+ attr_accessor topic: Trycourier::Users::TopicPreference
9
9
 
10
- def initialize: (topic: Trycourier::TopicPreference) -> void
10
+ def initialize: (topic: Trycourier::Users::TopicPreference) -> void
11
11
 
12
- def to_hash: -> { topic: Trycourier::TopicPreference }
12
+ def to_hash: -> { topic: Trycourier::Users::TopicPreference }
13
13
  end
14
14
  end
15
15
  end
@@ -4,7 +4,7 @@ module Trycourier
4
4
  type token_add_single_params =
5
5
  { user_id: String } & Trycourier::Internal::Type::request_parameters
6
6
 
7
- class TokenAddSingleParams < Trycourier::Models::UserToken
7
+ class TokenAddSingleParams < Trycourier::Models::Users::UserToken
8
8
  extend Trycourier::Internal::Type::RequestParameters::Converter
9
9
  include Trycourier::Internal::Type::RequestParameters
10
10
 
@@ -1,7 +1,7 @@
1
1
  module Trycourier
2
2
  module Models
3
3
  module Users
4
- type token_list_response = ::Array[Trycourier::UserToken]
4
+ type token_list_response = ::Array[Trycourier::Users::UserToken]
5
5
 
6
6
  TokenListResponse: Trycourier::Internal::Type::Converter
7
7
  end
@@ -7,7 +7,7 @@ module Trycourier
7
7
  status_reason: String?
8
8
  }
9
9
 
10
- class TokenRetrieveResponse < Trycourier::Models::UserToken
10
+ class TokenRetrieveResponse < Trycourier::Models::Users::UserToken
11
11
  def status: -> Trycourier::Models::Users::TokenRetrieveResponse::status?
12
12
 
13
13
  def status=: (
@@ -0,0 +1,47 @@
1
+ module Trycourier
2
+ module Models
3
+ module Users
4
+ type topic_preference =
5
+ {
6
+ default_status: Trycourier::Models::preference_status,
7
+ status: Trycourier::Models::preference_status,
8
+ topic_id: String,
9
+ topic_name: String,
10
+ custom_routing: ::Array[Trycourier::Models::channel_classification]?,
11
+ has_custom_routing: bool?
12
+ }
13
+
14
+ class TopicPreference < Trycourier::Internal::Type::BaseModel
15
+ attr_accessor default_status: Trycourier::Models::preference_status
16
+
17
+ attr_accessor status: Trycourier::Models::preference_status
18
+
19
+ attr_accessor topic_id: String
20
+
21
+ attr_accessor topic_name: String
22
+
23
+ attr_accessor custom_routing: ::Array[Trycourier::Models::channel_classification]?
24
+
25
+ attr_accessor has_custom_routing: bool?
26
+
27
+ def initialize: (
28
+ default_status: Trycourier::Models::preference_status,
29
+ status: Trycourier::Models::preference_status,
30
+ topic_id: String,
31
+ topic_name: String,
32
+ ?custom_routing: ::Array[Trycourier::Models::channel_classification]?,
33
+ ?has_custom_routing: bool?
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ default_status: Trycourier::Models::preference_status,
38
+ status: Trycourier::Models::preference_status,
39
+ topic_id: String,
40
+ topic_name: String,
41
+ custom_routing: ::Array[Trycourier::Models::channel_classification]?,
42
+ has_custom_routing: bool?
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end