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
@@ -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
@@ -34,12 +34,12 @@ module Trycourier
34
34
  def add_single: (
35
35
  String path_token,
36
36
  user_id: String,
37
- provider_key: Trycourier::Models::UserToken::provider_key,
37
+ provider_key: Trycourier::Models::Users::UserToken::provider_key,
38
38
  ?body_token: String?,
39
- ?device: Trycourier::UserToken::Device?,
40
- ?expiry_date: Trycourier::Models::UserToken::expiry_date?,
39
+ ?device: Trycourier::Users::UserToken::Device?,
40
+ ?expiry_date: Trycourier::Models::Users::UserToken::expiry_date?,
41
41
  ?properties: top,
42
- ?tracking: Trycourier::UserToken::Tracking?,
42
+ ?tracking: Trycourier::Users::UserToken::Tracking?,
43
43
  ?request_options: Trycourier::request_opts
44
44
  ) -> nil
45
45
 
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: 3.4.0.pre.alpha4
4
+ version: 3.4.0.pre.alpha6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Courier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-16 00:00:00.000000000 Z
11
+ date: 2025-10-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool
@@ -203,12 +203,10 @@ files:
203
203
  - lib/trycourier/models/tenants/tenant_default_preferences/item_delete_params.rb
204
204
  - lib/trycourier/models/tenants/tenant_default_preferences/item_update_params.rb
205
205
  - lib/trycourier/models/text_style.rb
206
- - lib/trycourier/models/topic_preference.rb
207
206
  - lib/trycourier/models/translation_retrieve_params.rb
208
207
  - lib/trycourier/models/translation_retrieve_response.rb
209
208
  - lib/trycourier/models/translation_update_params.rb
210
209
  - lib/trycourier/models/user_recipient.rb
211
- - lib/trycourier/models/user_token.rb
212
210
  - lib/trycourier/models/users/preference_retrieve_params.rb
213
211
  - lib/trycourier/models/users/preference_retrieve_response.rb
214
212
  - lib/trycourier/models/users/preference_retrieve_topic_params.rb
@@ -229,6 +227,8 @@ files:
229
227
  - lib/trycourier/models/users/token_retrieve_params.rb
230
228
  - lib/trycourier/models/users/token_retrieve_response.rb
231
229
  - lib/trycourier/models/users/token_update_params.rb
230
+ - lib/trycourier/models/users/topic_preference.rb
231
+ - lib/trycourier/models/users/user_token.rb
232
232
  - lib/trycourier/models/utm.rb
233
233
  - lib/trycourier/models/widget_background.rb
234
234
  - lib/trycourier/request_options.rb
@@ -428,12 +428,10 @@ files:
428
428
  - rbi/trycourier/models/tenants/tenant_default_preferences/item_delete_params.rbi
429
429
  - rbi/trycourier/models/tenants/tenant_default_preferences/item_update_params.rbi
430
430
  - rbi/trycourier/models/text_style.rbi
431
- - rbi/trycourier/models/topic_preference.rbi
432
431
  - rbi/trycourier/models/translation_retrieve_params.rbi
433
432
  - rbi/trycourier/models/translation_retrieve_response.rbi
434
433
  - rbi/trycourier/models/translation_update_params.rbi
435
434
  - rbi/trycourier/models/user_recipient.rbi
436
- - rbi/trycourier/models/user_token.rbi
437
435
  - rbi/trycourier/models/users/preference_retrieve_params.rbi
438
436
  - rbi/trycourier/models/users/preference_retrieve_response.rbi
439
437
  - rbi/trycourier/models/users/preference_retrieve_topic_params.rbi
@@ -454,6 +452,8 @@ files:
454
452
  - rbi/trycourier/models/users/token_retrieve_params.rbi
455
453
  - rbi/trycourier/models/users/token_retrieve_response.rbi
456
454
  - rbi/trycourier/models/users/token_update_params.rbi
455
+ - rbi/trycourier/models/users/topic_preference.rbi
456
+ - rbi/trycourier/models/users/user_token.rbi
457
457
  - rbi/trycourier/models/utm.rbi
458
458
  - rbi/trycourier/models/widget_background.rbi
459
459
  - rbi/trycourier/request_options.rbi
@@ -652,12 +652,10 @@ files:
652
652
  - sig/trycourier/models/tenants/tenant_default_preferences/item_delete_params.rbs
653
653
  - sig/trycourier/models/tenants/tenant_default_preferences/item_update_params.rbs
654
654
  - sig/trycourier/models/text_style.rbs
655
- - sig/trycourier/models/topic_preference.rbs
656
655
  - sig/trycourier/models/translation_retrieve_params.rbs
657
656
  - sig/trycourier/models/translation_retrieve_response.rbs
658
657
  - sig/trycourier/models/translation_update_params.rbs
659
658
  - sig/trycourier/models/user_recipient.rbs
660
- - sig/trycourier/models/user_token.rbs
661
659
  - sig/trycourier/models/users/preference_retrieve_params.rbs
662
660
  - sig/trycourier/models/users/preference_retrieve_response.rbs
663
661
  - sig/trycourier/models/users/preference_retrieve_topic_params.rbs
@@ -678,6 +676,8 @@ files:
678
676
  - sig/trycourier/models/users/token_retrieve_params.rbs
679
677
  - sig/trycourier/models/users/token_retrieve_response.rbs
680
678
  - sig/trycourier/models/users/token_update_params.rbs
679
+ - sig/trycourier/models/users/topic_preference.rbs
680
+ - sig/trycourier/models/users/user_token.rbs
681
681
  - sig/trycourier/models/utm.rbs
682
682
  - sig/trycourier/models/widget_background.rbs
683
683
  - sig/trycourier/request_options.rbs
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Trycourier
4
- module Models
5
- class TopicPreference < Trycourier::Internal::Type::BaseModel
6
- # @!attribute default_status
7
- #
8
- # @return [Symbol, Trycourier::Models::PreferenceStatus]
9
- required :default_status, enum: -> { Trycourier::PreferenceStatus }
10
-
11
- # @!attribute status
12
- #
13
- # @return [Symbol, Trycourier::Models::PreferenceStatus]
14
- required :status, enum: -> { Trycourier::PreferenceStatus }
15
-
16
- # @!attribute topic_id
17
- #
18
- # @return [String]
19
- required :topic_id, String
20
-
21
- # @!attribute topic_name
22
- #
23
- # @return [String]
24
- required :topic_name, String
25
-
26
- # @!attribute custom_routing
27
- # The Channels a user has chosen to receive notifications through for this topic
28
- #
29
- # @return [Array<Symbol, Trycourier::Models::ChannelClassification>, nil]
30
- optional :custom_routing,
31
- -> { Trycourier::Internal::Type::ArrayOf[enum: Trycourier::ChannelClassification] },
32
- nil?: true
33
-
34
- # @!attribute has_custom_routing
35
- #
36
- # @return [Boolean, nil]
37
- optional :has_custom_routing, Trycourier::Internal::Type::Boolean, nil?: true
38
-
39
- # @!method initialize(default_status:, status:, topic_id:, topic_name:, custom_routing: nil, has_custom_routing: nil)
40
- # @param default_status [Symbol, Trycourier::Models::PreferenceStatus]
41
- #
42
- # @param status [Symbol, Trycourier::Models::PreferenceStatus]
43
- #
44
- # @param topic_id [String]
45
- #
46
- # @param topic_name [String]
47
- #
48
- # @param custom_routing [Array<Symbol, Trycourier::Models::ChannelClassification>, nil] The Channels a user has chosen to receive notifications through for this topic
49
- #
50
- # @param has_custom_routing [Boolean, nil]
51
- end
52
- end
53
- end
@@ -1,179 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Trycourier
4
- module Models
5
- class UserToken < Trycourier::Internal::Type::BaseModel
6
- # @!attribute provider_key
7
- #
8
- # @return [Symbol, Trycourier::Models::UserToken::ProviderKey]
9
- required :provider_key, enum: -> { Trycourier::UserToken::ProviderKey }
10
-
11
- # @!attribute token
12
- # Full body of the token. Must match token in URL.
13
- #
14
- # @return [String, nil]
15
- optional :token, String, nil?: true
16
-
17
- # @!attribute device
18
- # Information about the device the token is associated with.
19
- #
20
- # @return [Trycourier::Models::UserToken::Device, nil]
21
- optional :device, -> { Trycourier::UserToken::Device }, nil?: true
22
-
23
- # @!attribute expiry_date
24
- # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
25
- # disable expiration.
26
- #
27
- # @return [String, Boolean, nil]
28
- optional :expiry_date, union: -> { Trycourier::UserToken::ExpiryDate }, nil?: true
29
-
30
- # @!attribute properties
31
- # Properties sent to the provider along with the token
32
- #
33
- # @return [Object, nil]
34
- optional :properties, Trycourier::Internal::Type::Unknown
35
-
36
- # @!attribute tracking
37
- # Information about the device the token is associated with.
38
- #
39
- # @return [Trycourier::Models::UserToken::Tracking, nil]
40
- optional :tracking, -> { Trycourier::UserToken::Tracking }, nil?: true
41
-
42
- # @!method initialize(provider_key:, token: nil, device: nil, expiry_date: nil, properties: nil, tracking: nil)
43
- # Some parameter documentations has been truncated, see
44
- # {Trycourier::Models::UserToken} for more details.
45
- #
46
- # @param provider_key [Symbol, Trycourier::Models::UserToken::ProviderKey]
47
- #
48
- # @param token [String, nil] Full body of the token. Must match token in URL.
49
- #
50
- # @param device [Trycourier::Models::UserToken::Device, nil] Information about the device the token is associated with.
51
- #
52
- # @param expiry_date [String, Boolean, nil] ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
53
- #
54
- # @param properties [Object] Properties sent to the provider along with the token
55
- #
56
- # @param tracking [Trycourier::Models::UserToken::Tracking, nil] Information about the device the token is associated with.
57
-
58
- # @see Trycourier::Models::UserToken#provider_key
59
- module ProviderKey
60
- extend Trycourier::Internal::Type::Enum
61
-
62
- FIREBASE_FCM = :"firebase-fcm"
63
- APN = :apn
64
- EXPO = :expo
65
- ONESIGNAL = :onesignal
66
-
67
- # @!method self.values
68
- # @return [Array<Symbol>]
69
- end
70
-
71
- # @see Trycourier::Models::UserToken#device
72
- class Device < Trycourier::Internal::Type::BaseModel
73
- # @!attribute ad_id
74
- # Id of the advertising identifier
75
- #
76
- # @return [String, nil]
77
- optional :ad_id, String, nil?: true
78
-
79
- # @!attribute app_id
80
- # Id of the application the token is used for
81
- #
82
- # @return [String, nil]
83
- optional :app_id, String, nil?: true
84
-
85
- # @!attribute device_id
86
- # Id of the device the token is associated with
87
- #
88
- # @return [String, nil]
89
- optional :device_id, String, nil?: true
90
-
91
- # @!attribute manufacturer
92
- # The device manufacturer
93
- #
94
- # @return [String, nil]
95
- optional :manufacturer, String, nil?: true
96
-
97
- # @!attribute model
98
- # The device model
99
- #
100
- # @return [String, nil]
101
- optional :model, String, nil?: true
102
-
103
- # @!attribute platform
104
- # The device platform i.e. android, ios, web
105
- #
106
- # @return [String, nil]
107
- optional :platform, String, nil?: true
108
-
109
- # @!method initialize(ad_id: nil, app_id: nil, device_id: nil, manufacturer: nil, model: nil, platform: nil)
110
- # Information about the device the token is associated with.
111
- #
112
- # @param ad_id [String, nil] Id of the advertising identifier
113
- #
114
- # @param app_id [String, nil] Id of the application the token is used for
115
- #
116
- # @param device_id [String, nil] Id of the device the token is associated with
117
- #
118
- # @param manufacturer [String, nil] The device manufacturer
119
- #
120
- # @param model [String, nil] The device model
121
- #
122
- # @param platform [String, nil] The device platform i.e. android, ios, web
123
- end
124
-
125
- # ISO 8601 formatted date the token expires. Defaults to 2 months. Set to false to
126
- # disable expiration.
127
- #
128
- # @see Trycourier::Models::UserToken#expiry_date
129
- module ExpiryDate
130
- extend Trycourier::Internal::Type::Union
131
-
132
- variant String
133
-
134
- variant Trycourier::Internal::Type::Boolean
135
-
136
- # @!method self.variants
137
- # @return [Array(String, Boolean)]
138
- end
139
-
140
- # @see Trycourier::Models::UserToken#tracking
141
- class Tracking < Trycourier::Internal::Type::BaseModel
142
- # @!attribute ip
143
- # The IP address of the device
144
- #
145
- # @return [String, nil]
146
- optional :ip, String, nil?: true
147
-
148
- # @!attribute lat
149
- # The latitude of the device
150
- #
151
- # @return [String, nil]
152
- optional :lat, String, nil?: true
153
-
154
- # @!attribute long
155
- # The longitude of the device
156
- #
157
- # @return [String, nil]
158
- optional :long, String, nil?: true
159
-
160
- # @!attribute os_version
161
- # The operating system version
162
- #
163
- # @return [String, nil]
164
- optional :os_version, String, nil?: true
165
-
166
- # @!method initialize(ip: nil, lat: nil, long: nil, os_version: nil)
167
- # Information about the device the token is associated with.
168
- #
169
- # @param ip [String, nil] The IP address of the device
170
- #
171
- # @param lat [String, nil] The latitude of the device
172
- #
173
- # @param long [String, nil] The longitude of the device
174
- #
175
- # @param os_version [String, nil] The operating system version
176
- end
177
- end
178
- end
179
- end
@@ -1,75 +0,0 @@
1
- # typed: strong
2
-
3
- module Trycourier
4
- module Models
5
- class TopicPreference < Trycourier::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Trycourier::TopicPreference, Trycourier::Internal::AnyHash)
9
- end
10
-
11
- sig { returns(Trycourier::PreferenceStatus::TaggedSymbol) }
12
- attr_accessor :default_status
13
-
14
- sig { returns(Trycourier::PreferenceStatus::TaggedSymbol) }
15
- attr_accessor :status
16
-
17
- sig { returns(String) }
18
- attr_accessor :topic_id
19
-
20
- sig { returns(String) }
21
- attr_accessor :topic_name
22
-
23
- # The Channels a user has chosen to receive notifications through for this topic
24
- sig do
25
- returns(
26
- T.nilable(T::Array[Trycourier::ChannelClassification::TaggedSymbol])
27
- )
28
- end
29
- attr_accessor :custom_routing
30
-
31
- sig { returns(T.nilable(T::Boolean)) }
32
- attr_accessor :has_custom_routing
33
-
34
- sig do
35
- params(
36
- default_status: Trycourier::PreferenceStatus::OrSymbol,
37
- status: Trycourier::PreferenceStatus::OrSymbol,
38
- topic_id: String,
39
- topic_name: String,
40
- custom_routing:
41
- T.nilable(T::Array[Trycourier::ChannelClassification::OrSymbol]),
42
- has_custom_routing: T.nilable(T::Boolean)
43
- ).returns(T.attached_class)
44
- end
45
- def self.new(
46
- default_status:,
47
- status:,
48
- topic_id:,
49
- topic_name:,
50
- # The Channels a user has chosen to receive notifications through for this topic
51
- custom_routing: nil,
52
- has_custom_routing: nil
53
- )
54
- end
55
-
56
- sig do
57
- override.returns(
58
- {
59
- default_status: Trycourier::PreferenceStatus::TaggedSymbol,
60
- status: Trycourier::PreferenceStatus::TaggedSymbol,
61
- topic_id: String,
62
- topic_name: String,
63
- custom_routing:
64
- T.nilable(
65
- T::Array[Trycourier::ChannelClassification::TaggedSymbol]
66
- ),
67
- has_custom_routing: T.nilable(T::Boolean)
68
- }
69
- )
70
- end
71
- def to_hash
72
- end
73
- end
74
- end
75
- end