trycourier 4.3.0 → 4.5.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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +1 -1
  4. data/lib/trycourier/internal/transport/pooled_net_requester.rb +12 -10
  5. data/lib/trycourier/internal/type/base_model.rb +4 -3
  6. data/lib/trycourier/internal/type/union.rb +7 -9
  7. data/lib/trycourier/internal/util.rb +7 -2
  8. data/lib/trycourier/models/airship_profile.rb +21 -0
  9. data/lib/trycourier/models/airship_profile_audience.rb +15 -0
  10. data/lib/trycourier/models/audience.rb +3 -3
  11. data/lib/trycourier/models/audience_filter.rb +52 -0
  12. data/lib/trycourier/models/audience_recipient.rb +36 -0
  13. data/lib/trycourier/models/audience_update_params.rb +3 -3
  14. data/lib/trycourier/models/bulk_create_job_params.rb +12 -3
  15. data/lib/trycourier/models/bulk_retrieve_job_response.rb +15 -3
  16. data/lib/trycourier/models/device_type.rb +7 -0
  17. data/lib/trycourier/models/discord.rb +16 -0
  18. data/lib/trycourier/models/expo.rb +16 -0
  19. data/lib/trycourier/models/filter.rb +8 -51
  20. data/lib/trycourier/models/filter_config.rb +8 -51
  21. data/lib/trycourier/models/inbound_bulk_message.rb +79 -113
  22. data/lib/trycourier/models/inbound_bulk_message_user.rb +21 -6
  23. data/lib/trycourier/models/intercom.rb +21 -0
  24. data/lib/trycourier/models/intercom_recipient.rb +15 -0
  25. data/lib/trycourier/models/list_filter.rb +52 -0
  26. data/lib/trycourier/models/list_pattern_recipient.rb +23 -0
  27. data/lib/trycourier/models/list_recipient.rb +29 -0
  28. data/lib/trycourier/models/ms_teams.rb +22 -0
  29. data/lib/trycourier/models/ms_teams_base_properties.rb +21 -0
  30. data/lib/trycourier/models/ms_teams_recipient.rb +17 -0
  31. data/lib/trycourier/models/multiple_tokens.rb +15 -0
  32. data/lib/trycourier/models/nested_filter_config.rb +49 -0
  33. data/lib/trycourier/models/pagerduty.rb +33 -0
  34. data/lib/trycourier/models/pagerduty_recipient.rb +17 -0
  35. data/lib/trycourier/models/send_direct_message.rb +15 -0
  36. data/lib/trycourier/models/send_message_params.rb +38 -8
  37. data/lib/trycourier/models/send_to_channel.rb +15 -0
  38. data/lib/trycourier/models/send_to_ms_teams_channel_id.rb +27 -0
  39. data/lib/trycourier/models/send_to_ms_teams_channel_name.rb +33 -0
  40. data/lib/trycourier/models/send_to_ms_teams_conversation_id.rb +27 -0
  41. data/lib/trycourier/models/send_to_ms_teams_email.rb +27 -0
  42. data/lib/trycourier/models/send_to_ms_teams_user_id.rb +27 -0
  43. data/lib/trycourier/models/send_to_slack_channel.rb +21 -0
  44. data/lib/trycourier/models/send_to_slack_email.rb +21 -0
  45. data/lib/trycourier/models/send_to_slack_user_id.rb +21 -0
  46. data/lib/trycourier/models/single_filter_config.rb +62 -0
  47. data/lib/trycourier/models/slack.rb +18 -0
  48. data/lib/trycourier/models/slack_base_properties.rb +15 -0
  49. data/lib/trycourier/models/slack_recipient.rb +17 -0
  50. data/lib/trycourier/models/token.rb +15 -0
  51. data/lib/trycourier/models/user_profile.rb +274 -0
  52. data/lib/trycourier/models/user_profile_firebase_token.rb +19 -0
  53. data/lib/trycourier/models/webhook_auth_mode.rb +16 -0
  54. data/lib/trycourier/models/webhook_authentication.rb +40 -0
  55. data/lib/trycourier/models/webhook_method.rb +15 -0
  56. data/lib/trycourier/models/webhook_profile.rb +53 -0
  57. data/lib/trycourier/models/webhook_profile_type.rb +15 -0
  58. data/lib/trycourier/models/webhook_recipient.rb +17 -0
  59. data/lib/trycourier/models.rb +84 -2
  60. data/lib/trycourier/resources/audiences.rb +1 -1
  61. data/lib/trycourier/resources/bulk.rb +17 -3
  62. data/lib/trycourier/version.rb +1 -1
  63. data/lib/trycourier.rb +42 -1
  64. data/rbi/trycourier/models/airship_profile.rbi +41 -0
  65. data/rbi/trycourier/models/airship_profile_audience.rbi +26 -0
  66. data/rbi/trycourier/models/audience.rbi +8 -7
  67. data/rbi/trycourier/models/audience_filter.rbi +88 -0
  68. data/rbi/trycourier/models/audience_recipient.rbi +52 -0
  69. data/rbi/trycourier/models/audience_update_params.rbi +25 -7
  70. data/rbi/trycourier/models/bulk_create_job_params.rbi +21 -20
  71. data/rbi/trycourier/models/bulk_retrieve_job_response.rbi +24 -9
  72. data/rbi/trycourier/models/device_type.rbi +7 -0
  73. data/rbi/trycourier/models/discord.rbi +18 -0
  74. data/rbi/trycourier/models/expo.rbi +16 -0
  75. data/rbi/trycourier/models/filter.rbi +8 -78
  76. data/rbi/trycourier/models/filter_config.rbi +8 -83
  77. data/rbi/trycourier/models/inbound_bulk_message.rbi +97 -153
  78. data/rbi/trycourier/models/inbound_bulk_message_user.rbi +20 -7
  79. data/rbi/trycourier/models/intercom.rbi +35 -0
  80. data/rbi/trycourier/models/intercom_recipient.rbi +23 -0
  81. data/rbi/trycourier/models/list_filter.rbi +86 -0
  82. data/rbi/trycourier/models/list_pattern_recipient.rbi +39 -0
  83. data/rbi/trycourier/models/list_recipient.rbi +44 -0
  84. data/rbi/trycourier/models/ms_teams.rbi +24 -0
  85. data/rbi/trycourier/models/ms_teams_base_properties.rbi +31 -0
  86. data/rbi/trycourier/models/ms_teams_recipient.rbi +58 -0
  87. data/rbi/trycourier/models/multiple_tokens.rbi +27 -0
  88. data/rbi/trycourier/models/nested_filter_config.rbi +104 -0
  89. data/rbi/trycourier/models/pagerduty.rbi +53 -0
  90. data/rbi/trycourier/models/pagerduty_recipient.rbi +31 -0
  91. data/rbi/trycourier/models/send_direct_message.rbi +23 -0
  92. data/rbi/trycourier/models/send_message_params.rbi +50 -11
  93. data/rbi/trycourier/models/send_to_channel.rbi +23 -0
  94. data/rbi/trycourier/models/send_to_ms_teams_channel_id.rbi +42 -0
  95. data/rbi/trycourier/models/send_to_ms_teams_channel_name.rbi +51 -0
  96. data/rbi/trycourier/models/send_to_ms_teams_conversation_id.rbi +42 -0
  97. data/rbi/trycourier/models/send_to_ms_teams_email.rbi +37 -0
  98. data/rbi/trycourier/models/send_to_ms_teams_user_id.rbi +37 -0
  99. data/rbi/trycourier/models/send_to_slack_channel.rbi +28 -0
  100. data/rbi/trycourier/models/send_to_slack_email.rbi +28 -0
  101. data/rbi/trycourier/models/send_to_slack_user_id.rbi +28 -0
  102. data/rbi/trycourier/models/single_filter_config.rbi +116 -0
  103. data/rbi/trycourier/models/slack.rbi +22 -0
  104. data/rbi/trycourier/models/slack_base_properties.rbi +23 -0
  105. data/rbi/trycourier/models/slack_recipient.rbi +52 -0
  106. data/rbi/trycourier/models/token.rbi +21 -0
  107. data/rbi/trycourier/models/user_profile.rbi +377 -0
  108. data/rbi/trycourier/models/user_profile_firebase_token.rbi +25 -0
  109. data/rbi/trycourier/models/webhook_auth_mode.rbi +22 -0
  110. data/rbi/trycourier/models/webhook_authentication.rbi +64 -0
  111. data/rbi/trycourier/models/webhook_method.rbi +21 -0
  112. data/rbi/trycourier/models/webhook_profile.rbi +80 -0
  113. data/rbi/trycourier/models/webhook_profile_type.rbi +22 -0
  114. data/rbi/trycourier/models/webhook_recipient.rbi +31 -0
  115. data/rbi/trycourier/models.rbi +84 -2
  116. data/rbi/trycourier/resources/audiences.rbi +7 -1
  117. data/rbi/trycourier/resources/bulk.rbi +22 -8
  118. data/sig/trycourier/models/airship_profile.rbs +25 -0
  119. data/sig/trycourier/models/airship_profile_audience.rbs +13 -0
  120. data/sig/trycourier/models/audience.rbs +4 -4
  121. data/sig/trycourier/models/audience_filter.rbs +50 -0
  122. data/sig/trycourier/models/audience_recipient.rbs +30 -0
  123. data/sig/trycourier/models/audience_update_params.rbs +8 -4
  124. data/sig/trycourier/models/bulk_create_job_params.rbs +4 -4
  125. data/sig/trycourier/models/bulk_retrieve_job_response.rbs +4 -4
  126. data/sig/trycourier/models/device_type.rbs +5 -0
  127. data/sig/trycourier/models/discord.rbs +11 -0
  128. data/sig/trycourier/models/expo.rbs +11 -0
  129. data/sig/trycourier/models/filter.rbs +4 -61
  130. data/sig/trycourier/models/filter_config.rbs +4 -61
  131. data/sig/trycourier/models/inbound_bulk_message.rbs +52 -99
  132. data/sig/trycourier/models/inbound_bulk_message_user.rbs +4 -6
  133. data/sig/trycourier/models/intercom.rbs +15 -0
  134. data/sig/trycourier/models/intercom_recipient.rbs +13 -0
  135. data/sig/trycourier/models/list_filter.rbs +50 -0
  136. data/sig/trycourier/models/list_pattern_recipient.rbs +19 -0
  137. data/sig/trycourier/models/list_recipient.rbs +30 -0
  138. data/sig/trycourier/models/ms_teams.rbs +16 -0
  139. data/sig/trycourier/models/ms_teams_base_properties.rbs +15 -0
  140. data/sig/trycourier/models/ms_teams_recipient.rbs +13 -0
  141. data/sig/trycourier/models/multiple_tokens.rbs +13 -0
  142. data/sig/trycourier/models/nested_filter_config.rbs +64 -0
  143. data/sig/trycourier/models/pagerduty.rbs +35 -0
  144. data/sig/trycourier/models/pagerduty_recipient.rbs +13 -0
  145. data/sig/trycourier/models/send_direct_message.rbs +13 -0
  146. data/sig/trycourier/models/send_message_params.rbs +22 -6
  147. data/sig/trycourier/models/send_to_channel.rbs +13 -0
  148. data/sig/trycourier/models/send_to_ms_teams_channel_id.rbs +26 -0
  149. data/sig/trycourier/models/send_to_ms_teams_channel_name.rbs +35 -0
  150. data/sig/trycourier/models/send_to_ms_teams_conversation_id.rbs +26 -0
  151. data/sig/trycourier/models/send_to_ms_teams_email.rbs +22 -0
  152. data/sig/trycourier/models/send_to_ms_teams_user_id.rbs +26 -0
  153. data/sig/trycourier/models/send_to_slack_channel.rbs +15 -0
  154. data/sig/trycourier/models/send_to_slack_email.rbs +15 -0
  155. data/sig/trycourier/models/send_to_slack_user_id.rbs +15 -0
  156. data/sig/trycourier/models/single_filter_config.rbs +69 -0
  157. data/sig/trycourier/models/slack.rbs +14 -0
  158. data/sig/trycourier/models/slack_base_properties.rbs +13 -0
  159. data/sig/trycourier/models/slack_recipient.rbs +13 -0
  160. data/sig/trycourier/models/token.rbs +13 -0
  161. data/sig/trycourier/models/user_profile.rbs +212 -0
  162. data/sig/trycourier/models/user_profile_firebase_token.rbs +13 -0
  163. data/sig/trycourier/models/webhook_auth_mode.rbs +15 -0
  164. data/sig/trycourier/models/webhook_authentication.rbs +35 -0
  165. data/sig/trycourier/models/webhook_method.rbs +14 -0
  166. data/sig/trycourier/models/webhook_profile.rbs +40 -0
  167. data/sig/trycourier/models/webhook_profile_type.rbs +14 -0
  168. data/sig/trycourier/models/webhook_recipient.rbs +13 -0
  169. data/sig/trycourier/models.rbs +87 -5
  170. data/sig/trycourier/resources/audiences.rbs +1 -1
  171. data/sig/trycourier/resources/bulk.rbs +1 -1
  172. metadata +128 -5
  173. data/lib/trycourier/models/recipient.rb +0 -113
  174. data/rbi/trycourier/models/recipient.rbi +0 -161
  175. data/sig/trycourier/models/recipient.rbs +0 -92
@@ -1,113 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Trycourier
4
- module Models
5
- class Recipient < Trycourier::Internal::Type::BaseModel
6
- # @!attribute account_id
7
- # Deprecated - Use `tenant_id` instead.
8
- #
9
- # @return [String, nil]
10
- optional :account_id, String, nil?: true
11
-
12
- # @!attribute context
13
- # Context such as tenant_id to send the notification with.
14
- #
15
- # @return [Trycourier::Models::MessageContext, nil]
16
- optional :context, -> { Trycourier::MessageContext }, nil?: true
17
-
18
- # @!attribute data
19
- #
20
- # @return [Hash{Symbol=>Object}, nil]
21
- optional :data, Trycourier::Internal::Type::HashOf[Trycourier::Internal::Type::Unknown], nil?: true
22
-
23
- # @!attribute email
24
- # The user's email address.
25
- #
26
- # @return [String, nil]
27
- optional :email, String, nil?: true
28
-
29
- # @!attribute list_id
30
- # The id of the list to send the message to.
31
- #
32
- # @return [String, nil]
33
- optional :list_id, String, nil?: true
34
-
35
- # @!attribute locale
36
- # The user's preferred ISO 639-1 language code.
37
- #
38
- # @return [String, nil]
39
- optional :locale, String, nil?: true
40
-
41
- # @!attribute phone_number
42
- # The user's phone number.
43
- #
44
- # @return [String, nil]
45
- optional :phone_number, String, nil?: true
46
-
47
- # @!attribute preferences
48
- #
49
- # @return [Trycourier::Models::Recipient::Preferences, nil]
50
- optional :preferences, -> { Trycourier::Recipient::Preferences }, nil?: true
51
-
52
- # @!attribute tenant_id
53
- # The id of the tenant the user is associated with.
54
- #
55
- # @return [String, nil]
56
- optional :tenant_id, String, nil?: true
57
-
58
- # @!attribute user_id
59
- # The user's unique identifier. Typically, this will match the user id of a user
60
- # in your system.
61
- #
62
- # @return [String, nil]
63
- optional :user_id, String, nil?: true
64
-
65
- # @!method initialize(account_id: nil, context: nil, data: nil, email: nil, list_id: nil, locale: nil, phone_number: nil, preferences: nil, tenant_id: nil, user_id: nil)
66
- # Some parameter documentations has been truncated, see
67
- # {Trycourier::Models::Recipient} for more details.
68
- #
69
- # @param account_id [String, nil] Deprecated - Use `tenant_id` instead.
70
- #
71
- # @param context [Trycourier::Models::MessageContext, nil] Context such as tenant_id to send the notification with.
72
- #
73
- # @param data [Hash{Symbol=>Object}, nil]
74
- #
75
- # @param email [String, nil] The user's email address.
76
- #
77
- # @param list_id [String, nil] The id of the list to send the message to.
78
- #
79
- # @param locale [String, nil] The user's preferred ISO 639-1 language code.
80
- #
81
- # @param phone_number [String, nil] The user's phone number.
82
- #
83
- # @param preferences [Trycourier::Models::Recipient::Preferences, nil]
84
- #
85
- # @param tenant_id [String, nil] The id of the tenant the user is associated with.
86
- #
87
- # @param user_id [String, nil] The user's unique identifier. Typically, this will match the user id of a user i
88
-
89
- # @see Trycourier::Models::Recipient#preferences
90
- class Preferences < Trycourier::Internal::Type::BaseModel
91
- # @!attribute notifications
92
- #
93
- # @return [Hash{Symbol=>Trycourier::Models::Preference}]
94
- required :notifications, -> { Trycourier::Internal::Type::HashOf[Trycourier::Preference] }
95
-
96
- # @!attribute categories
97
- #
98
- # @return [Hash{Symbol=>Trycourier::Models::Preference}, nil]
99
- optional :categories, -> { Trycourier::Internal::Type::HashOf[Trycourier::Preference] }, nil?: true
100
-
101
- # @!attribute template_id
102
- #
103
- # @return [String, nil]
104
- optional :template_id, String, api_name: :templateId, nil?: true
105
-
106
- # @!method initialize(notifications:, categories: nil, template_id: nil)
107
- # @param notifications [Hash{Symbol=>Trycourier::Models::Preference}]
108
- # @param categories [Hash{Symbol=>Trycourier::Models::Preference}, nil]
109
- # @param template_id [String, nil]
110
- end
111
- end
112
- end
113
- end
@@ -1,161 +0,0 @@
1
- # typed: strong
2
-
3
- module Trycourier
4
- module Models
5
- class Recipient < Trycourier::Internal::Type::BaseModel
6
- OrHash =
7
- T.type_alias do
8
- T.any(Trycourier::Recipient, Trycourier::Internal::AnyHash)
9
- end
10
-
11
- # Deprecated - Use `tenant_id` instead.
12
- sig { returns(T.nilable(String)) }
13
- attr_accessor :account_id
14
-
15
- # Context such as tenant_id to send the notification with.
16
- sig { returns(T.nilable(Trycourier::MessageContext)) }
17
- attr_reader :context
18
-
19
- sig do
20
- params(context: T.nilable(Trycourier::MessageContext::OrHash)).void
21
- end
22
- attr_writer :context
23
-
24
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
25
- attr_accessor :data
26
-
27
- # The user's email address.
28
- sig { returns(T.nilable(String)) }
29
- attr_accessor :email
30
-
31
- # The id of the list to send the message to.
32
- sig { returns(T.nilable(String)) }
33
- attr_accessor :list_id
34
-
35
- # The user's preferred ISO 639-1 language code.
36
- sig { returns(T.nilable(String)) }
37
- attr_accessor :locale
38
-
39
- # The user's phone number.
40
- sig { returns(T.nilable(String)) }
41
- attr_accessor :phone_number
42
-
43
- sig { returns(T.nilable(Trycourier::Recipient::Preferences)) }
44
- attr_reader :preferences
45
-
46
- sig do
47
- params(
48
- preferences: T.nilable(Trycourier::Recipient::Preferences::OrHash)
49
- ).void
50
- end
51
- attr_writer :preferences
52
-
53
- # The id of the tenant the user is associated with.
54
- sig { returns(T.nilable(String)) }
55
- attr_accessor :tenant_id
56
-
57
- # The user's unique identifier. Typically, this will match the user id of a user
58
- # in your system.
59
- sig { returns(T.nilable(String)) }
60
- attr_accessor :user_id
61
-
62
- sig do
63
- params(
64
- account_id: T.nilable(String),
65
- context: T.nilable(Trycourier::MessageContext::OrHash),
66
- data: T.nilable(T::Hash[Symbol, T.anything]),
67
- email: T.nilable(String),
68
- list_id: T.nilable(String),
69
- locale: T.nilable(String),
70
- phone_number: T.nilable(String),
71
- preferences: T.nilable(Trycourier::Recipient::Preferences::OrHash),
72
- tenant_id: T.nilable(String),
73
- user_id: T.nilable(String)
74
- ).returns(T.attached_class)
75
- end
76
- def self.new(
77
- # Deprecated - Use `tenant_id` instead.
78
- account_id: nil,
79
- # Context such as tenant_id to send the notification with.
80
- context: nil,
81
- data: nil,
82
- # The user's email address.
83
- email: nil,
84
- # The id of the list to send the message to.
85
- list_id: nil,
86
- # The user's preferred ISO 639-1 language code.
87
- locale: nil,
88
- # The user's phone number.
89
- phone_number: nil,
90
- preferences: nil,
91
- # The id of the tenant the user is associated with.
92
- tenant_id: nil,
93
- # The user's unique identifier. Typically, this will match the user id of a user
94
- # in your system.
95
- user_id: nil
96
- )
97
- end
98
-
99
- sig do
100
- override.returns(
101
- {
102
- account_id: T.nilable(String),
103
- context: T.nilable(Trycourier::MessageContext),
104
- data: T.nilable(T::Hash[Symbol, T.anything]),
105
- email: T.nilable(String),
106
- list_id: T.nilable(String),
107
- locale: T.nilable(String),
108
- phone_number: T.nilable(String),
109
- preferences: T.nilable(Trycourier::Recipient::Preferences),
110
- tenant_id: T.nilable(String),
111
- user_id: T.nilable(String)
112
- }
113
- )
114
- end
115
- def to_hash
116
- end
117
-
118
- class Preferences < Trycourier::Internal::Type::BaseModel
119
- OrHash =
120
- T.type_alias do
121
- T.any(
122
- Trycourier::Recipient::Preferences,
123
- Trycourier::Internal::AnyHash
124
- )
125
- end
126
-
127
- sig { returns(T::Hash[Symbol, Trycourier::Preference]) }
128
- attr_accessor :notifications
129
-
130
- sig { returns(T.nilable(T::Hash[Symbol, Trycourier::Preference])) }
131
- attr_accessor :categories
132
-
133
- sig { returns(T.nilable(String)) }
134
- attr_accessor :template_id
135
-
136
- sig do
137
- params(
138
- notifications: T::Hash[Symbol, Trycourier::Preference::OrHash],
139
- categories:
140
- T.nilable(T::Hash[Symbol, Trycourier::Preference::OrHash]),
141
- template_id: T.nilable(String)
142
- ).returns(T.attached_class)
143
- end
144
- def self.new(notifications:, categories: nil, template_id: nil)
145
- end
146
-
147
- sig do
148
- override.returns(
149
- {
150
- notifications: T::Hash[Symbol, Trycourier::Preference],
151
- categories: T.nilable(T::Hash[Symbol, Trycourier::Preference]),
152
- template_id: T.nilable(String)
153
- }
154
- )
155
- end
156
- def to_hash
157
- end
158
- end
159
- end
160
- end
161
- end
@@ -1,92 +0,0 @@
1
- module Trycourier
2
- module Models
3
- type recipient =
4
- {
5
- account_id: String?,
6
- context: Trycourier::MessageContext?,
7
- data: ::Hash[Symbol, top]?,
8
- email: String?,
9
- list_id: String?,
10
- locale: String?,
11
- phone_number: String?,
12
- preferences: Trycourier::Recipient::Preferences?,
13
- tenant_id: String?,
14
- user_id: String?
15
- }
16
-
17
- class Recipient < Trycourier::Internal::Type::BaseModel
18
- attr_accessor account_id: String?
19
-
20
- attr_accessor context: Trycourier::MessageContext?
21
-
22
- attr_accessor data: ::Hash[Symbol, top]?
23
-
24
- attr_accessor email: String?
25
-
26
- attr_accessor list_id: String?
27
-
28
- attr_accessor locale: String?
29
-
30
- attr_accessor phone_number: String?
31
-
32
- attr_accessor preferences: Trycourier::Recipient::Preferences?
33
-
34
- attr_accessor tenant_id: String?
35
-
36
- attr_accessor user_id: String?
37
-
38
- def initialize: (
39
- ?account_id: String?,
40
- ?context: Trycourier::MessageContext?,
41
- ?data: ::Hash[Symbol, top]?,
42
- ?email: String?,
43
- ?list_id: String?,
44
- ?locale: String?,
45
- ?phone_number: String?,
46
- ?preferences: Trycourier::Recipient::Preferences?,
47
- ?tenant_id: String?,
48
- ?user_id: String?
49
- ) -> void
50
-
51
- def to_hash: -> {
52
- account_id: String?,
53
- context: Trycourier::MessageContext?,
54
- data: ::Hash[Symbol, top]?,
55
- email: String?,
56
- list_id: String?,
57
- locale: String?,
58
- phone_number: String?,
59
- preferences: Trycourier::Recipient::Preferences?,
60
- tenant_id: String?,
61
- user_id: String?
62
- }
63
-
64
- type preferences =
65
- {
66
- notifications: ::Hash[Symbol, Trycourier::Preference],
67
- categories: ::Hash[Symbol, Trycourier::Preference]?,
68
- template_id: String?
69
- }
70
-
71
- class Preferences < Trycourier::Internal::Type::BaseModel
72
- attr_accessor notifications: ::Hash[Symbol, Trycourier::Preference]
73
-
74
- attr_accessor categories: ::Hash[Symbol, Trycourier::Preference]?
75
-
76
- attr_accessor template_id: String?
77
-
78
- def initialize: (
79
- notifications: ::Hash[Symbol, Trycourier::Preference],
80
- ?categories: ::Hash[Symbol, Trycourier::Preference]?,
81
- ?template_id: String?
82
- ) -> void
83
-
84
- def to_hash: -> {
85
- notifications: ::Hash[Symbol, Trycourier::Preference],
86
- categories: ::Hash[Symbol, Trycourier::Preference]?,
87
- template_id: String?
88
- }
89
- end
90
- end
91
- end
92
- end