trycourier 3.4.0.pre.alpha3 → 3.4.0.pre.alpha5

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 (48) 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/internal/util.rb +3 -2
  6. data/lib/trycourier/models/audience.rb +1 -0
  7. data/lib/trycourier/models/audit_event.rb +1 -0
  8. data/lib/trycourier/models/brand.rb +1 -0
  9. data/lib/trycourier/models/message_details.rb +1 -0
  10. data/lib/trycourier/models/notification_get_content.rb +1 -0
  11. data/lib/trycourier/models/subscription_list.rb +1 -0
  12. data/lib/trycourier/models/tenant.rb +1 -0
  13. data/lib/trycourier/models/users/preference_retrieve_response.rb +3 -3
  14. data/lib/trycourier/models/users/preference_retrieve_topic_response.rb +3 -3
  15. data/lib/trycourier/models/users/token_add_single_params.rb +1 -1
  16. data/lib/trycourier/models/users/token_list_response.rb +1 -1
  17. data/lib/trycourier/models/users/token_retrieve_response.rb +1 -1
  18. data/lib/trycourier/models/users/topic_preference.rb +55 -0
  19. data/lib/trycourier/models/users/user_token.rb +183 -0
  20. data/lib/trycourier/models.rb +0 -4
  21. data/lib/trycourier/resources/users/tokens.rb +5 -5
  22. data/lib/trycourier/version.rb +1 -1
  23. data/lib/trycourier.rb +2 -2
  24. data/rbi/trycourier/models/users/preference_retrieve_response.rbi +3 -3
  25. data/rbi/trycourier/models/users/preference_retrieve_topic_response.rbi +4 -4
  26. data/rbi/trycourier/models/users/token_add_single_params.rbi +1 -1
  27. data/rbi/trycourier/models/users/token_list_response.rbi +1 -1
  28. data/rbi/trycourier/models/users/token_retrieve_response.rbi +1 -1
  29. data/rbi/trycourier/models/users/topic_preference.rbi +80 -0
  30. data/rbi/trycourier/models/users/user_token.rbi +291 -0
  31. data/rbi/trycourier/models.rbi +0 -4
  32. data/rbi/trycourier/resources/users/tokens.rbi +6 -5
  33. data/sig/trycourier/models/users/preference_retrieve_response.rbs +4 -4
  34. data/sig/trycourier/models/users/preference_retrieve_topic_response.rbs +4 -4
  35. data/sig/trycourier/models/users/token_add_single_params.rbs +1 -1
  36. data/sig/trycourier/models/users/token_list_response.rbs +1 -1
  37. data/sig/trycourier/models/users/token_retrieve_response.rbs +1 -1
  38. data/sig/trycourier/models/users/topic_preference.rbs +47 -0
  39. data/sig/trycourier/models/users/user_token.rbs +141 -0
  40. data/sig/trycourier/models.rbs +0 -4
  41. data/sig/trycourier/resources/users/tokens.rbs +4 -4
  42. metadata +8 -8
  43. data/lib/trycourier/models/topic_preference.rb +0 -53
  44. data/lib/trycourier/models/user_token.rb +0 -179
  45. data/rbi/trycourier/models/topic_preference.rbi +0 -75
  46. data/rbi/trycourier/models/user_token.rbi +0 -267
  47. data/sig/trycourier/models/topic_preference.rbs +0 -45
  48. data/sig/trycourier/models/user_token.rbs +0 -137
@@ -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
@@ -0,0 +1,141 @@
1
+ module Trycourier
2
+ module Models
3
+ class UserToken = Users::UserToken
4
+
5
+ module Users
6
+ type user_token =
7
+ {
8
+ provider_key: Trycourier::Models::Users::UserToken::provider_key,
9
+ token: String?,
10
+ device: Trycourier::Users::UserToken::Device?,
11
+ expiry_date: Trycourier::Models::Users::UserToken::expiry_date?,
12
+ properties: top,
13
+ tracking: Trycourier::Users::UserToken::Tracking?
14
+ }
15
+
16
+ class UserToken < Trycourier::Internal::Type::BaseModel
17
+ attr_accessor provider_key: Trycourier::Models::Users::UserToken::provider_key
18
+
19
+ attr_accessor token: String?
20
+
21
+ attr_accessor device: Trycourier::Users::UserToken::Device?
22
+
23
+ attr_accessor expiry_date: Trycourier::Models::Users::UserToken::expiry_date?
24
+
25
+ attr_reader properties: top?
26
+
27
+ def properties=: (top) -> top
28
+
29
+ attr_accessor tracking: Trycourier::Users::UserToken::Tracking?
30
+
31
+ def initialize: (
32
+ provider_key: Trycourier::Models::Users::UserToken::provider_key,
33
+ ?token: String?,
34
+ ?device: Trycourier::Users::UserToken::Device?,
35
+ ?expiry_date: Trycourier::Models::Users::UserToken::expiry_date?,
36
+ ?properties: top,
37
+ ?tracking: Trycourier::Users::UserToken::Tracking?
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ provider_key: Trycourier::Models::Users::UserToken::provider_key,
42
+ token: String?,
43
+ device: Trycourier::Users::UserToken::Device?,
44
+ expiry_date: Trycourier::Models::Users::UserToken::expiry_date?,
45
+ properties: top,
46
+ tracking: Trycourier::Users::UserToken::Tracking?
47
+ }
48
+
49
+ type provider_key = :"firebase-fcm" | :apn | :expo | :onesignal
50
+
51
+ module ProviderKey
52
+ extend Trycourier::Internal::Type::Enum
53
+
54
+ FIREBASE_FCM: :"firebase-fcm"
55
+ APN: :apn
56
+ EXPO: :expo
57
+ ONESIGNAL: :onesignal
58
+
59
+ def self?.values: -> ::Array[Trycourier::Models::Users::UserToken::provider_key]
60
+ end
61
+
62
+ type device =
63
+ {
64
+ ad_id: String?,
65
+ app_id: String?,
66
+ device_id: String?,
67
+ manufacturer: String?,
68
+ model: String?,
69
+ platform: String?
70
+ }
71
+
72
+ class Device < Trycourier::Internal::Type::BaseModel
73
+ attr_accessor ad_id: String?
74
+
75
+ attr_accessor app_id: String?
76
+
77
+ attr_accessor device_id: String?
78
+
79
+ attr_accessor manufacturer: String?
80
+
81
+ attr_accessor model: String?
82
+
83
+ attr_accessor platform: String?
84
+
85
+ def initialize: (
86
+ ?ad_id: String?,
87
+ ?app_id: String?,
88
+ ?device_id: String?,
89
+ ?manufacturer: String?,
90
+ ?model: String?,
91
+ ?platform: String?
92
+ ) -> void
93
+
94
+ def to_hash: -> {
95
+ ad_id: String?,
96
+ app_id: String?,
97
+ device_id: String?,
98
+ manufacturer: String?,
99
+ model: String?,
100
+ platform: String?
101
+ }
102
+ end
103
+
104
+ type expiry_date = String | bool
105
+
106
+ module ExpiryDate
107
+ extend Trycourier::Internal::Type::Union
108
+
109
+ def self?.variants: -> ::Array[Trycourier::Models::Users::UserToken::expiry_date]
110
+ end
111
+
112
+ type tracking =
113
+ { ip: String?, lat: String?, long: String?, os_version: String? }
114
+
115
+ class Tracking < Trycourier::Internal::Type::BaseModel
116
+ attr_accessor ip: String?
117
+
118
+ attr_accessor lat: String?
119
+
120
+ attr_accessor long: String?
121
+
122
+ attr_accessor os_version: String?
123
+
124
+ def initialize: (
125
+ ?ip: String?,
126
+ ?lat: String?,
127
+ ?long: String?,
128
+ ?os_version: String?
129
+ ) -> void
130
+
131
+ def to_hash: -> {
132
+ ip: String?,
133
+ lat: String?,
134
+ long: String?,
135
+ os_version: String?
136
+ }
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end
@@ -211,8 +211,6 @@ module Trycourier
211
211
 
212
212
  module TextStyle = Trycourier::Models::TextStyle
213
213
 
214
- class TopicPreference = Trycourier::Models::TopicPreference
215
-
216
214
  class TranslationRetrieveParams = Trycourier::Models::TranslationRetrieveParams
217
215
 
218
216
  class TranslationUpdateParams = Trycourier::Models::TranslationUpdateParams
@@ -221,8 +219,6 @@ module Trycourier
221
219
 
222
220
  module Users = Trycourier::Models::Users
223
221
 
224
- class UserToken = Trycourier::Models::UserToken
225
-
226
222
  class Utm = Trycourier::Models::Utm
227
223
 
228
224
  class WidgetBackground = Trycourier::Models::WidgetBackground