trycourier 4.8.0 → 4.10.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 (225) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +41 -0
  3. data/README.md +1 -1
  4. data/lib/courier/client.rb +8 -0
  5. data/lib/courier/internal/util.rb +19 -6
  6. data/lib/courier/models/associated_notification_list_response.rb +24 -0
  7. data/lib/courier/models/channel.rb +75 -0
  8. data/lib/courier/models/channel_metadata.rb +15 -0
  9. data/lib/courier/models/element_with_checksums.rb +60 -0
  10. data/lib/courier/models/elemental_content.rb +2 -2
  11. data/lib/courier/models/elemental_html_node_with_type.rb +24 -0
  12. data/lib/courier/models/elemental_node.rb +3 -1
  13. data/lib/courier/models/message_channels.rb +8 -0
  14. data/lib/courier/models/message_providers.rb +8 -0
  15. data/lib/courier/models/message_providers_type.rb +38 -0
  16. data/lib/courier/models/metadata.rb +15 -0
  17. data/lib/courier/models/notification_archive_params.rb +20 -0
  18. data/lib/courier/models/notification_content_get_response.rb +26 -0
  19. data/lib/courier/models/notification_content_mutation_response.rb +61 -0
  20. data/lib/courier/models/notification_content_put_request.rb +51 -0
  21. data/lib/courier/models/notification_create_params.rb +14 -0
  22. data/lib/courier/models/notification_element_put_request.rb +62 -0
  23. data/lib/courier/models/notification_get_content.rb +0 -1
  24. data/lib/courier/models/notification_list_params.rb +13 -4
  25. data/lib/courier/models/notification_list_response.rb +108 -93
  26. data/lib/courier/models/notification_list_versions_params.rb +37 -0
  27. data/lib/courier/models/notification_locale_put_request.rb +39 -0
  28. data/lib/courier/models/notification_publish_params.rb +20 -0
  29. data/lib/courier/models/notification_put_content_params.rb +20 -0
  30. data/lib/courier/models/notification_put_element_params.rb +26 -0
  31. data/lib/courier/models/notification_put_locale_params.rb +26 -0
  32. data/lib/courier/models/notification_replace_params.rb +20 -0
  33. data/lib/courier/models/notification_retrieve_content_params.rb +14 -1
  34. data/lib/courier/models/notification_retrieve_content_response.rb +21 -0
  35. data/lib/courier/models/notification_retrieve_params.rb +33 -0
  36. data/lib/courier/models/notification_template_create_request.rb +45 -0
  37. data/lib/courier/models/notification_template_get_response.rb +92 -0
  38. data/lib/courier/models/notification_template_mutation_response.rb +51 -0
  39. data/lib/courier/models/notification_template_payload.rb +98 -0
  40. data/lib/courier/models/notification_template_publish_request.rb +19 -0
  41. data/lib/courier/models/notification_template_state.rb +16 -0
  42. data/lib/courier/models/notification_template_summary.rb +81 -0
  43. data/lib/courier/models/notification_template_update_request.rb +46 -0
  44. data/lib/courier/models/notification_template_version_list_response.rb +22 -0
  45. data/lib/courier/models/provider.rb +67 -0
  46. data/lib/courier/models/provider_create_params.rb +52 -0
  47. data/lib/courier/models/provider_delete_params.rb +20 -0
  48. data/lib/courier/models/provider_list_params.rb +22 -0
  49. data/lib/courier/models/provider_list_response.rb +24 -0
  50. data/lib/courier/models/provider_retrieve_params.rb +20 -0
  51. data/lib/courier/models/provider_update_params.rb +58 -0
  52. data/lib/courier/models/providers/catalog_list_params.rb +44 -0
  53. data/lib/courier/models/providers/catalog_list_response.rb +26 -0
  54. data/lib/courier/models/providers_catalog_entry.rb +86 -0
  55. data/lib/courier/models/routing_strategy_archive_params.rb +20 -0
  56. data/lib/courier/models/routing_strategy_create_params.rb +14 -0
  57. data/lib/courier/models/routing_strategy_create_request.rb +58 -0
  58. data/lib/courier/models/routing_strategy_get_response.rb +99 -0
  59. data/lib/courier/models/routing_strategy_list_notifications_params.rb +37 -0
  60. data/lib/courier/models/routing_strategy_list_params.rb +30 -0
  61. data/lib/courier/models/routing_strategy_list_response.rb +24 -0
  62. data/lib/courier/models/routing_strategy_mutation_response.rb +19 -0
  63. data/lib/courier/models/routing_strategy_replace_params.rb +20 -0
  64. data/lib/courier/models/routing_strategy_replace_request.rb +59 -0
  65. data/lib/courier/models/routing_strategy_retrieve_params.rb +20 -0
  66. data/lib/courier/models/routing_strategy_summary.rb +75 -0
  67. data/lib/courier/models/send_message_params.rb +6 -154
  68. data/lib/courier/models/tenant_template_input.rb +6 -152
  69. data/lib/courier/models/timeouts.rb +21 -0
  70. data/lib/courier/models/version_node.rb +46 -0
  71. data/lib/courier/models.rb +110 -0
  72. data/lib/courier/resources/notifications.rb +289 -12
  73. data/lib/courier/resources/providers/catalog.rb +49 -0
  74. data/lib/courier/resources/providers.rb +150 -0
  75. data/lib/courier/resources/routing_strategies.rb +179 -0
  76. data/lib/courier/version.rb +1 -1
  77. data/lib/courier.rb +60 -2
  78. data/rbi/courier/client.rbi +6 -0
  79. data/rbi/courier/internal/util.rbi +8 -0
  80. data/rbi/courier/models/associated_notification_list_response.rbi +45 -0
  81. data/rbi/courier/models/channel.rbi +106 -0
  82. data/rbi/courier/models/channel_metadata.rbi +28 -0
  83. data/rbi/courier/models/element_with_checksums.rbi +109 -0
  84. data/rbi/courier/models/elemental_content.rbi +6 -3
  85. data/rbi/courier/models/elemental_html_node_with_type.rbi +59 -0
  86. data/rbi/courier/models/elemental_node.rbi +2 -1
  87. data/rbi/courier/models/message_channels.rbi +11 -0
  88. data/rbi/courier/models/message_providers.rbi +11 -0
  89. data/rbi/courier/models/message_providers_type.rbi +60 -0
  90. data/rbi/courier/models/metadata.rbi +26 -0
  91. data/rbi/courier/models/notification_archive_params.rbi +35 -0
  92. data/rbi/courier/models/notification_content_get_response.rbi +45 -0
  93. data/rbi/courier/models/notification_content_mutation_response.rbi +95 -0
  94. data/rbi/courier/models/notification_content_put_request.rbi +145 -0
  95. data/rbi/courier/models/notification_create_params.rbi +27 -0
  96. data/rbi/courier/models/notification_element_put_request.rbi +98 -0
  97. data/rbi/courier/models/notification_list_params.rbi +15 -2
  98. data/rbi/courier/models/notification_list_response.rbi +159 -119
  99. data/rbi/courier/models/notification_list_versions_params.rbi +66 -0
  100. data/rbi/courier/models/notification_locale_put_request.rbi +79 -0
  101. data/rbi/courier/models/notification_publish_params.rbi +35 -0
  102. data/rbi/courier/models/notification_put_content_params.rbi +38 -0
  103. data/rbi/courier/models/notification_put_element_params.rbi +46 -0
  104. data/rbi/courier/models/notification_put_locale_params.rbi +46 -0
  105. data/rbi/courier/models/notification_replace_params.rbi +35 -0
  106. data/rbi/courier/models/notification_retrieve_content_params.rbi +21 -2
  107. data/rbi/courier/models/notification_retrieve_content_response.rbi +29 -0
  108. data/rbi/courier/models/notification_retrieve_params.rbi +54 -0
  109. data/rbi/courier/models/notification_template_create_request.rbi +102 -0
  110. data/rbi/courier/models/notification_template_get_response.rbi +162 -0
  111. data/rbi/courier/models/notification_template_mutation_response.rbi +121 -0
  112. data/rbi/courier/models/notification_template_payload.rbi +183 -0
  113. data/rbi/courier/models/notification_template_publish_request.rbi +35 -0
  114. data/rbi/courier/models/notification_template_state.rbi +26 -0
  115. data/rbi/courier/models/notification_template_summary.rbi +124 -0
  116. data/rbi/courier/models/notification_template_update_request.rbi +103 -0
  117. data/rbi/courier/models/notification_template_version_list_response.rbi +41 -0
  118. data/rbi/courier/models/provider.rbi +87 -0
  119. data/rbi/courier/models/provider_create_params.rbi +82 -0
  120. data/rbi/courier/models/provider_delete_params.rbi +35 -0
  121. data/rbi/courier/models/provider_list_params.rbi +43 -0
  122. data/rbi/courier/models/provider_list_response.rbi +42 -0
  123. data/rbi/courier/models/provider_retrieve_params.rbi +35 -0
  124. data/rbi/courier/models/provider_update_params.rbi +86 -0
  125. data/rbi/courier/models/providers/catalog_list_params.rbi +75 -0
  126. data/rbi/courier/models/providers/catalog_list_response.rbi +47 -0
  127. data/rbi/courier/models/providers_catalog_entry.rbi +129 -0
  128. data/rbi/courier/models/routing_strategy_archive_params.rbi +38 -0
  129. data/rbi/courier/models/routing_strategy_create_params.rbi +30 -0
  130. data/rbi/courier/models/routing_strategy_create_request.rbi +86 -0
  131. data/rbi/courier/models/routing_strategy_get_response.rbi +121 -0
  132. data/rbi/courier/models/routing_strategy_list_notifications_params.rbi +63 -0
  133. data/rbi/courier/models/routing_strategy_list_params.rbi +54 -0
  134. data/rbi/courier/models/routing_strategy_list_response.rbi +45 -0
  135. data/rbi/courier/models/routing_strategy_mutation_response.rbi +31 -0
  136. data/rbi/courier/models/routing_strategy_replace_params.rbi +38 -0
  137. data/rbi/courier/models/routing_strategy_replace_request.rbi +87 -0
  138. data/rbi/courier/models/routing_strategy_retrieve_params.rbi +38 -0
  139. data/rbi/courier/models/routing_strategy_summary.rbi +95 -0
  140. data/rbi/courier/models/send_message_params.rbi +6 -362
  141. data/rbi/courier/models/tenant_template_input.rbi +8 -336
  142. data/rbi/courier/models/timeouts.rbi +33 -0
  143. data/rbi/courier/models/version_node.rbi +65 -0
  144. data/rbi/courier/models.rbi +122 -0
  145. data/rbi/courier/resources/notifications.rbi +222 -6
  146. data/rbi/courier/resources/providers/catalog.rbi +38 -0
  147. data/rbi/courier/resources/providers.rbi +116 -0
  148. data/rbi/courier/resources/routing_strategies.rbi +147 -0
  149. data/sig/courier/client.rbs +4 -0
  150. data/sig/courier/internal/util.rbs +4 -0
  151. data/sig/courier/models/associated_notification_list_response.rbs +25 -0
  152. data/sig/courier/models/channel.rbs +61 -0
  153. data/sig/courier/models/channel_metadata.rbs +13 -0
  154. data/sig/courier/models/element_with_checksums.rbs +60 -0
  155. data/sig/courier/models/elemental_html_node_with_type.rbs +32 -0
  156. data/sig/courier/models/elemental_node.rbs +1 -0
  157. data/sig/courier/models/message_channels.rbs +7 -0
  158. data/sig/courier/models/message_providers.rbs +7 -0
  159. data/sig/courier/models/message_providers_type.rbs +35 -0
  160. data/sig/courier/models/metadata.rbs +13 -0
  161. data/sig/courier/models/notification_archive_params.rbs +20 -0
  162. data/sig/courier/models/notification_content_get_response.rbs +22 -0
  163. data/sig/courier/models/notification_content_mutation_response.rbs +47 -0
  164. data/sig/courier/models/notification_content_put_request.rbs +50 -0
  165. data/sig/courier/models/notification_create_params.rbs +15 -0
  166. data/sig/courier/models/notification_element_put_request.rbs +64 -0
  167. data/sig/courier/models/notification_list_params.rbs +7 -1
  168. data/sig/courier/models/notification_list_response.rbs +81 -71
  169. data/sig/courier/models/notification_list_versions_params.rbs +36 -0
  170. data/sig/courier/models/notification_locale_put_request.rbs +39 -0
  171. data/sig/courier/models/notification_publish_params.rbs +22 -0
  172. data/sig/courier/models/notification_put_content_params.rbs +22 -0
  173. data/sig/courier/models/notification_put_element_params.rbs +32 -0
  174. data/sig/courier/models/notification_put_locale_params.rbs +32 -0
  175. data/sig/courier/models/notification_replace_params.rbs +22 -0
  176. data/sig/courier/models/notification_retrieve_content_params.rbs +12 -2
  177. data/sig/courier/models/notification_retrieve_content_response.rbs +12 -0
  178. data/sig/courier/models/notification_retrieve_params.rbs +30 -0
  179. data/sig/courier/models/notification_template_create_request.rbs +40 -0
  180. data/sig/courier/models/notification_template_get_response.rbs +72 -0
  181. data/sig/courier/models/notification_template_mutation_response.rbs +46 -0
  182. data/sig/courier/models/notification_template_payload.rbs +75 -0
  183. data/sig/courier/models/notification_template_publish_request.rbs +15 -0
  184. data/sig/courier/models/notification_template_state.rbs +14 -0
  185. data/sig/courier/models/notification_template_summary.rbs +70 -0
  186. data/sig/courier/models/notification_template_update_request.rbs +40 -0
  187. data/sig/courier/models/notification_template_version_list_response.rbs +22 -0
  188. data/sig/courier/models/provider.rbs +52 -0
  189. data/sig/courier/models/provider_create_params.rbs +47 -0
  190. data/sig/courier/models/provider_delete_params.rbs +20 -0
  191. data/sig/courier/models/provider_list_params.rbs +25 -0
  192. data/sig/courier/models/provider_list_response.rbs +22 -0
  193. data/sig/courier/models/provider_retrieve_params.rbs +20 -0
  194. data/sig/courier/models/provider_update_params.rbs +52 -0
  195. data/sig/courier/models/providers/catalog_list_params.rbs +40 -0
  196. data/sig/courier/models/providers/catalog_list_response.rbs +27 -0
  197. data/sig/courier/models/providers_catalog_entry.rbs +64 -0
  198. data/sig/courier/models/routing_strategy_archive_params.rbs +20 -0
  199. data/sig/courier/models/routing_strategy_create_params.rbs +15 -0
  200. data/sig/courier/models/routing_strategy_create_request.rbs +45 -0
  201. data/sig/courier/models/routing_strategy_get_response.rbs +70 -0
  202. data/sig/courier/models/routing_strategy_list_notifications_params.rbs +34 -0
  203. data/sig/courier/models/routing_strategy_list_params.rbs +30 -0
  204. data/sig/courier/models/routing_strategy_list_response.rbs +25 -0
  205. data/sig/courier/models/routing_strategy_mutation_response.rbs +13 -0
  206. data/sig/courier/models/routing_strategy_replace_params.rbs +22 -0
  207. data/sig/courier/models/routing_strategy_replace_request.rbs +45 -0
  208. data/sig/courier/models/routing_strategy_retrieve_params.rbs +20 -0
  209. data/sig/courier/models/routing_strategy_summary.rbs +55 -0
  210. data/sig/courier/models/send_message_params.rbs +8 -130
  211. data/sig/courier/models/tenant_template_input.rbs +12 -134
  212. data/sig/courier/models/timeouts.rbs +15 -0
  213. data/sig/courier/models/version_node.rbs +32 -0
  214. data/sig/courier/models.rbs +108 -0
  215. data/sig/courier/resources/notifications.rbs +65 -3
  216. data/sig/courier/resources/providers/catalog.rbs +16 -0
  217. data/sig/courier/resources/providers.rbs +38 -0
  218. data/sig/courier/resources/routing_strategies.rbs +48 -0
  219. metadata +182 -8
  220. data/lib/courier/models/notifications/draft_retrieve_content_params.rb +0 -22
  221. data/lib/courier/resources/notifications/draft.rb +0 -33
  222. data/rbi/courier/models/notifications/draft_retrieve_content_params.rbi +0 -40
  223. data/rbi/courier/resources/notifications/draft.rbi +0 -23
  224. data/sig/courier/models/notifications/draft_retrieve_content_params.rbs +0 -22
  225. data/sig/courier/resources/notifications/draft.rbs +0 -14
@@ -16,34 +16,20 @@ module Courier
16
16
  attr_writer :content
17
17
 
18
18
  # Channel-specific delivery configuration (email, SMS, push, etc.)
19
- sig do
20
- returns(
21
- T.nilable(T::Hash[Symbol, Courier::TenantTemplateInput::Channel])
22
- )
23
- end
19
+ sig { returns(T.nilable(T::Hash[Symbol, Courier::Channel])) }
24
20
  attr_reader :channels
25
21
 
26
- sig do
27
- params(
28
- channels:
29
- T::Hash[Symbol, Courier::TenantTemplateInput::Channel::OrHash]
30
- ).void
31
- end
22
+ sig { params(channels: T::Hash[Symbol, Courier::Channel::OrHash]).void }
32
23
  attr_writer :channels
33
24
 
34
25
  # Provider-specific delivery configuration for routing to specific email/SMS
35
26
  # providers
36
- sig do
37
- returns(
38
- T.nilable(T::Hash[Symbol, Courier::TenantTemplateInput::Provider])
39
- )
40
- end
27
+ sig { returns(T.nilable(T::Hash[Symbol, Courier::MessageProvidersType])) }
41
28
  attr_reader :providers
42
29
 
43
30
  sig do
44
31
  params(
45
- providers:
46
- T::Hash[Symbol, Courier::TenantTemplateInput::Provider::OrHash]
32
+ providers: T::Hash[Symbol, Courier::MessageProvidersType::OrHash]
47
33
  ).void
48
34
  end
49
35
  attr_writer :providers
@@ -59,10 +45,8 @@ module Courier
59
45
  sig do
60
46
  params(
61
47
  content: Courier::ElementalContent::OrHash,
62
- channels:
63
- T::Hash[Symbol, Courier::TenantTemplateInput::Channel::OrHash],
64
- providers:
65
- T::Hash[Symbol, Courier::TenantTemplateInput::Provider::OrHash],
48
+ channels: T::Hash[Symbol, Courier::Channel::OrHash],
49
+ providers: T::Hash[Symbol, Courier::MessageProvidersType::OrHash],
66
50
  routing: Courier::MessageRouting::OrHash
67
51
  ).returns(T.attached_class)
68
52
  end
@@ -83,326 +67,14 @@ module Courier
83
67
  override.returns(
84
68
  {
85
69
  content: Courier::ElementalContent,
86
- channels: T::Hash[Symbol, Courier::TenantTemplateInput::Channel],
87
- providers: T::Hash[Symbol, Courier::TenantTemplateInput::Provider],
70
+ channels: T::Hash[Symbol, Courier::Channel],
71
+ providers: T::Hash[Symbol, Courier::MessageProvidersType],
88
72
  routing: Courier::MessageRouting
89
73
  }
90
74
  )
91
75
  end
92
76
  def to_hash
93
77
  end
94
-
95
- class Channel < Courier::Internal::Type::BaseModel
96
- OrHash =
97
- T.type_alias do
98
- T.any(
99
- Courier::TenantTemplateInput::Channel,
100
- Courier::Internal::AnyHash
101
- )
102
- end
103
-
104
- # Brand id used for rendering.
105
- sig { returns(T.nilable(String)) }
106
- attr_accessor :brand_id
107
-
108
- # JS conditional with access to data/profile.
109
- sig { returns(T.nilable(String)) }
110
- attr_accessor :if_
111
-
112
- sig do
113
- returns(T.nilable(Courier::TenantTemplateInput::Channel::Metadata))
114
- end
115
- attr_reader :metadata
116
-
117
- sig do
118
- params(
119
- metadata:
120
- T.nilable(Courier::TenantTemplateInput::Channel::Metadata::OrHash)
121
- ).void
122
- end
123
- attr_writer :metadata
124
-
125
- # Channel specific overrides.
126
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
127
- attr_accessor :override
128
-
129
- # Providers enabled for this channel.
130
- sig { returns(T.nilable(T::Array[String])) }
131
- attr_accessor :providers
132
-
133
- # Defaults to `single`.
134
- sig do
135
- returns(
136
- T.nilable(
137
- Courier::TenantTemplateInput::Channel::RoutingMethod::OrSymbol
138
- )
139
- )
140
- end
141
- attr_accessor :routing_method
142
-
143
- sig do
144
- returns(T.nilable(Courier::TenantTemplateInput::Channel::Timeouts))
145
- end
146
- attr_reader :timeouts
147
-
148
- sig do
149
- params(
150
- timeouts:
151
- T.nilable(Courier::TenantTemplateInput::Channel::Timeouts::OrHash)
152
- ).void
153
- end
154
- attr_writer :timeouts
155
-
156
- sig do
157
- params(
158
- brand_id: T.nilable(String),
159
- if_: T.nilable(String),
160
- metadata:
161
- T.nilable(
162
- Courier::TenantTemplateInput::Channel::Metadata::OrHash
163
- ),
164
- override: T.nilable(T::Hash[Symbol, T.anything]),
165
- providers: T.nilable(T::Array[String]),
166
- routing_method:
167
- T.nilable(
168
- Courier::TenantTemplateInput::Channel::RoutingMethod::OrSymbol
169
- ),
170
- timeouts:
171
- T.nilable(Courier::TenantTemplateInput::Channel::Timeouts::OrHash)
172
- ).returns(T.attached_class)
173
- end
174
- def self.new(
175
- # Brand id used for rendering.
176
- brand_id: nil,
177
- # JS conditional with access to data/profile.
178
- if_: nil,
179
- metadata: nil,
180
- # Channel specific overrides.
181
- override: nil,
182
- # Providers enabled for this channel.
183
- providers: nil,
184
- # Defaults to `single`.
185
- routing_method: nil,
186
- timeouts: nil
187
- )
188
- end
189
-
190
- sig do
191
- override.returns(
192
- {
193
- brand_id: T.nilable(String),
194
- if_: T.nilable(String),
195
- metadata:
196
- T.nilable(Courier::TenantTemplateInput::Channel::Metadata),
197
- override: T.nilable(T::Hash[Symbol, T.anything]),
198
- providers: T.nilable(T::Array[String]),
199
- routing_method:
200
- T.nilable(
201
- Courier::TenantTemplateInput::Channel::RoutingMethod::OrSymbol
202
- ),
203
- timeouts:
204
- T.nilable(Courier::TenantTemplateInput::Channel::Timeouts)
205
- }
206
- )
207
- end
208
- def to_hash
209
- end
210
-
211
- class Metadata < Courier::Internal::Type::BaseModel
212
- OrHash =
213
- T.type_alias do
214
- T.any(
215
- Courier::TenantTemplateInput::Channel::Metadata,
216
- Courier::Internal::AnyHash
217
- )
218
- end
219
-
220
- sig { returns(T.nilable(Courier::Utm)) }
221
- attr_reader :utm
222
-
223
- sig { params(utm: T.nilable(Courier::Utm::OrHash)).void }
224
- attr_writer :utm
225
-
226
- sig do
227
- params(utm: T.nilable(Courier::Utm::OrHash)).returns(
228
- T.attached_class
229
- )
230
- end
231
- def self.new(utm: nil)
232
- end
233
-
234
- sig { override.returns({ utm: T.nilable(Courier::Utm) }) }
235
- def to_hash
236
- end
237
- end
238
-
239
- # Defaults to `single`.
240
- module RoutingMethod
241
- extend Courier::Internal::Type::Enum
242
-
243
- TaggedSymbol =
244
- T.type_alias do
245
- T.all(
246
- Symbol,
247
- Courier::TenantTemplateInput::Channel::RoutingMethod
248
- )
249
- end
250
- OrSymbol = T.type_alias { T.any(Symbol, String) }
251
-
252
- ALL =
253
- T.let(
254
- :all,
255
- Courier::TenantTemplateInput::Channel::RoutingMethod::TaggedSymbol
256
- )
257
- SINGLE =
258
- T.let(
259
- :single,
260
- Courier::TenantTemplateInput::Channel::RoutingMethod::TaggedSymbol
261
- )
262
-
263
- sig do
264
- override.returns(
265
- T::Array[
266
- Courier::TenantTemplateInput::Channel::RoutingMethod::TaggedSymbol
267
- ]
268
- )
269
- end
270
- def self.values
271
- end
272
- end
273
-
274
- class Timeouts < Courier::Internal::Type::BaseModel
275
- OrHash =
276
- T.type_alias do
277
- T.any(
278
- Courier::TenantTemplateInput::Channel::Timeouts,
279
- Courier::Internal::AnyHash
280
- )
281
- end
282
-
283
- sig { returns(T.nilable(Integer)) }
284
- attr_accessor :channel
285
-
286
- sig { returns(T.nilable(Integer)) }
287
- attr_accessor :provider
288
-
289
- sig do
290
- params(
291
- channel: T.nilable(Integer),
292
- provider: T.nilable(Integer)
293
- ).returns(T.attached_class)
294
- end
295
- def self.new(channel: nil, provider: nil)
296
- end
297
-
298
- sig do
299
- override.returns(
300
- { channel: T.nilable(Integer), provider: T.nilable(Integer) }
301
- )
302
- end
303
- def to_hash
304
- end
305
- end
306
- end
307
-
308
- class Provider < Courier::Internal::Type::BaseModel
309
- OrHash =
310
- T.type_alias do
311
- T.any(
312
- Courier::TenantTemplateInput::Provider,
313
- Courier::Internal::AnyHash
314
- )
315
- end
316
-
317
- # JS conditional with access to data/profile.
318
- sig { returns(T.nilable(String)) }
319
- attr_accessor :if_
320
-
321
- sig do
322
- returns(T.nilable(Courier::TenantTemplateInput::Provider::Metadata))
323
- end
324
- attr_reader :metadata
325
-
326
- sig do
327
- params(
328
- metadata:
329
- T.nilable(
330
- Courier::TenantTemplateInput::Provider::Metadata::OrHash
331
- )
332
- ).void
333
- end
334
- attr_writer :metadata
335
-
336
- # Provider-specific overrides.
337
- sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
338
- attr_accessor :override
339
-
340
- sig { returns(T.nilable(Integer)) }
341
- attr_accessor :timeouts
342
-
343
- sig do
344
- params(
345
- if_: T.nilable(String),
346
- metadata:
347
- T.nilable(
348
- Courier::TenantTemplateInput::Provider::Metadata::OrHash
349
- ),
350
- override: T.nilable(T::Hash[Symbol, T.anything]),
351
- timeouts: T.nilable(Integer)
352
- ).returns(T.attached_class)
353
- end
354
- def self.new(
355
- # JS conditional with access to data/profile.
356
- if_: nil,
357
- metadata: nil,
358
- # Provider-specific overrides.
359
- override: nil,
360
- timeouts: nil
361
- )
362
- end
363
-
364
- sig do
365
- override.returns(
366
- {
367
- if_: T.nilable(String),
368
- metadata:
369
- T.nilable(Courier::TenantTemplateInput::Provider::Metadata),
370
- override: T.nilable(T::Hash[Symbol, T.anything]),
371
- timeouts: T.nilable(Integer)
372
- }
373
- )
374
- end
375
- def to_hash
376
- end
377
-
378
- class Metadata < Courier::Internal::Type::BaseModel
379
- OrHash =
380
- T.type_alias do
381
- T.any(
382
- Courier::TenantTemplateInput::Provider::Metadata,
383
- Courier::Internal::AnyHash
384
- )
385
- end
386
-
387
- sig { returns(T.nilable(Courier::Utm)) }
388
- attr_reader :utm
389
-
390
- sig { params(utm: T.nilable(Courier::Utm::OrHash)).void }
391
- attr_writer :utm
392
-
393
- sig do
394
- params(utm: T.nilable(Courier::Utm::OrHash)).returns(
395
- T.attached_class
396
- )
397
- end
398
- def self.new(utm: nil)
399
- end
400
-
401
- sig { override.returns({ utm: T.nilable(Courier::Utm) }) }
402
- def to_hash
403
- end
404
- end
405
- end
406
78
  end
407
79
  end
408
80
  end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Courier
4
+ module Models
5
+ class Timeouts < Courier::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Courier::Timeouts, Courier::Internal::AnyHash) }
8
+
9
+ sig { returns(T.nilable(Integer)) }
10
+ attr_accessor :channel
11
+
12
+ sig { returns(T.nilable(Integer)) }
13
+ attr_accessor :provider
14
+
15
+ sig do
16
+ params(
17
+ channel: T.nilable(Integer),
18
+ provider: T.nilable(Integer)
19
+ ).returns(T.attached_class)
20
+ end
21
+ def self.new(channel: nil, provider: nil)
22
+ end
23
+
24
+ sig do
25
+ override.returns(
26
+ { channel: T.nilable(Integer), provider: T.nilable(Integer) }
27
+ )
28
+ end
29
+ def to_hash
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Courier
4
+ module Models
5
+ class VersionNode < Courier::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Courier::VersionNode, Courier::Internal::AnyHash) }
8
+
9
+ # Epoch milliseconds when this version was created.
10
+ sig { returns(Integer) }
11
+ attr_accessor :created
12
+
13
+ # User ID of the version creator.
14
+ sig { returns(String) }
15
+ attr_accessor :creator
16
+
17
+ # Version identifier. One of "draft", "published:vNNN" (current published
18
+ # version), or "vNNN" (historical version).
19
+ sig { returns(String) }
20
+ attr_accessor :version
21
+
22
+ # Whether the draft has unpublished changes. Only present on the draft version.
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :has_changes
25
+
26
+ sig { params(has_changes: T::Boolean).void }
27
+ attr_writer :has_changes
28
+
29
+ # A version entry for a notification template.
30
+ sig do
31
+ params(
32
+ created: Integer,
33
+ creator: String,
34
+ version: String,
35
+ has_changes: T::Boolean
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # Epoch milliseconds when this version was created.
40
+ created:,
41
+ # User ID of the version creator.
42
+ creator:,
43
+ # Version identifier. One of "draft", "published:vNNN" (current published
44
+ # version), or "vNNN" (historical version).
45
+ version:,
46
+ # Whether the draft has unpublished changes. Only present on the draft version.
47
+ has_changes: nil
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ created: Integer,
55
+ creator: String,
56
+ version: String,
57
+ has_changes: T::Boolean
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+ end
64
+ end
65
+ end
@@ -7,6 +7,9 @@ module Courier
7
7
 
8
8
  Alignment = Courier::Models::Alignment
9
9
 
10
+ AssociatedNotificationListResponse =
11
+ Courier::Models::AssociatedNotificationListResponse
12
+
10
13
  Audience = Courier::Models::Audience
11
14
 
12
15
  AudienceDeleteParams = Courier::Models::AudienceDeleteParams
@@ -84,8 +87,12 @@ module Courier
84
87
 
85
88
  BulkRunJobParams = Courier::Models::BulkRunJobParams
86
89
 
90
+ Channel = Courier::Models::Channel
91
+
87
92
  ChannelClassification = Courier::Models::ChannelClassification
88
93
 
94
+ ChannelMetadata = Courier::Models::ChannelMetadata
95
+
89
96
  ChannelPreference = Courier::Models::ChannelPreference
90
97
 
91
98
  Check = Courier::Models::Check
@@ -110,6 +117,8 @@ module Courier
110
117
 
111
118
  ElementalDividerNodeWithType = Courier::Models::ElementalDividerNodeWithType
112
119
 
120
+ ElementalHTMLNodeWithType = Courier::Models::ElementalHTMLNodeWithType
121
+
113
122
  ElementalImageNodeWithType = Courier::Models::ElementalImageNodeWithType
114
123
 
115
124
  ElementalMetaNodeWithType = Courier::Models::ElementalMetaNodeWithType
@@ -120,6 +129,8 @@ module Courier
120
129
 
121
130
  ElementalTextNodeWithType = Courier::Models::ElementalTextNodeWithType
122
131
 
132
+ ElementWithChecksums = Courier::Models::ElementWithChecksums
133
+
123
134
  EmailFooter = Courier::Models::EmailFooter
124
135
 
125
136
  EmailHead = Courier::Models::EmailHead
@@ -176,6 +187,9 @@ module Courier
176
187
 
177
188
  MessageCancelParams = Courier::Models::MessageCancelParams
178
189
 
190
+ MessageChannels =
191
+ T.let(Courier::Models::MessageChannels, Courier::Internal::Type::Converter)
192
+
179
193
  MessageContentParams = Courier::Models::MessageContentParams
180
194
 
181
195
  MessageContext = Courier::Models::MessageContext
@@ -186,12 +200,19 @@ module Courier
186
200
 
187
201
  MessageListParams = Courier::Models::MessageListParams
188
202
 
203
+ MessageProviders =
204
+ T.let(Courier::Models::MessageProviders, Courier::Internal::Type::Converter)
205
+
206
+ MessageProvidersType = Courier::Models::MessageProvidersType
207
+
189
208
  MessageRetrieveParams = Courier::Models::MessageRetrieveParams
190
209
 
191
210
  MessageRouting = Courier::Models::MessageRouting
192
211
 
193
212
  MessageRoutingChannel = Courier::Models::MessageRoutingChannel
194
213
 
214
+ Metadata = Courier::Models::Metadata
215
+
195
216
  MsTeams = Courier::Models::MsTeams
196
217
 
197
218
  MsTeamsBaseProperties = Courier::Models::MsTeamsBaseProperties
@@ -200,17 +221,72 @@ module Courier
200
221
 
201
222
  MultipleTokens = Courier::Models::MultipleTokens
202
223
 
224
+ NotificationArchiveParams = Courier::Models::NotificationArchiveParams
225
+
226
+ NotificationContentGetResponse =
227
+ Courier::Models::NotificationContentGetResponse
228
+
229
+ NotificationContentMutationResponse =
230
+ Courier::Models::NotificationContentMutationResponse
231
+
232
+ NotificationContentPutRequest = Courier::Models::NotificationContentPutRequest
233
+
234
+ NotificationCreateParams = Courier::Models::NotificationCreateParams
235
+
236
+ NotificationElementPutRequest = Courier::Models::NotificationElementPutRequest
237
+
203
238
  NotificationGetContent = Courier::Models::NotificationGetContent
204
239
 
205
240
  NotificationListParams = Courier::Models::NotificationListParams
206
241
 
242
+ NotificationListVersionsParams =
243
+ Courier::Models::NotificationListVersionsParams
244
+
245
+ NotificationLocalePutRequest = Courier::Models::NotificationLocalePutRequest
246
+
207
247
  NotificationPreferenceDetails = Courier::Models::NotificationPreferenceDetails
208
248
 
249
+ NotificationPublishParams = Courier::Models::NotificationPublishParams
250
+
251
+ NotificationPutContentParams = Courier::Models::NotificationPutContentParams
252
+
253
+ NotificationPutElementParams = Courier::Models::NotificationPutElementParams
254
+
255
+ NotificationPutLocaleParams = Courier::Models::NotificationPutLocaleParams
256
+
257
+ NotificationReplaceParams = Courier::Models::NotificationReplaceParams
258
+
209
259
  NotificationRetrieveContentParams =
210
260
  Courier::Models::NotificationRetrieveContentParams
211
261
 
262
+ NotificationRetrieveParams = Courier::Models::NotificationRetrieveParams
263
+
212
264
  Notifications = Courier::Models::Notifications
213
265
 
266
+ NotificationTemplateCreateRequest =
267
+ Courier::Models::NotificationTemplateCreateRequest
268
+
269
+ NotificationTemplateGetResponse =
270
+ Courier::Models::NotificationTemplateGetResponse
271
+
272
+ NotificationTemplateMutationResponse =
273
+ Courier::Models::NotificationTemplateMutationResponse
274
+
275
+ NotificationTemplatePayload = Courier::Models::NotificationTemplatePayload
276
+
277
+ NotificationTemplatePublishRequest =
278
+ Courier::Models::NotificationTemplatePublishRequest
279
+
280
+ NotificationTemplateState = Courier::Models::NotificationTemplateState
281
+
282
+ NotificationTemplateSummary = Courier::Models::NotificationTemplateSummary
283
+
284
+ NotificationTemplateUpdateRequest =
285
+ Courier::Models::NotificationTemplateUpdateRequest
286
+
287
+ NotificationTemplateVersionListResponse =
288
+ Courier::Models::NotificationTemplateVersionListResponse
289
+
214
290
  Pagerduty = Courier::Models::Pagerduty
215
291
 
216
292
  PagerdutyRecipient = Courier::Models::PagerdutyRecipient
@@ -239,6 +315,22 @@ module Courier
239
315
 
240
316
  ProfileUpdateParams = Courier::Models::ProfileUpdateParams
241
317
 
318
+ Provider = Courier::Models::Provider
319
+
320
+ ProviderCreateParams = Courier::Models::ProviderCreateParams
321
+
322
+ ProviderDeleteParams = Courier::Models::ProviderDeleteParams
323
+
324
+ ProviderListParams = Courier::Models::ProviderListParams
325
+
326
+ ProviderRetrieveParams = Courier::Models::ProviderRetrieveParams
327
+
328
+ Providers = Courier::Models::Providers
329
+
330
+ ProvidersCatalogEntry = Courier::Models::ProvidersCatalogEntry
331
+
332
+ ProviderUpdateParams = Courier::Models::ProviderUpdateParams
333
+
242
334
  PutSubscriptionsRecipient = Courier::Models::PutSubscriptionsRecipient
243
335
 
244
336
  PutTenantTemplateRequest = Courier::Models::PutTenantTemplateRequest
@@ -249,6 +341,32 @@ module Courier
249
341
 
250
342
  RequestArchiveParams = Courier::Models::RequestArchiveParams
251
343
 
344
+ RoutingStrategyArchiveParams = Courier::Models::RoutingStrategyArchiveParams
345
+
346
+ RoutingStrategyCreateParams = Courier::Models::RoutingStrategyCreateParams
347
+
348
+ RoutingStrategyCreateRequest = Courier::Models::RoutingStrategyCreateRequest
349
+
350
+ RoutingStrategyGetResponse = Courier::Models::RoutingStrategyGetResponse
351
+
352
+ RoutingStrategyListNotificationsParams =
353
+ Courier::Models::RoutingStrategyListNotificationsParams
354
+
355
+ RoutingStrategyListParams = Courier::Models::RoutingStrategyListParams
356
+
357
+ RoutingStrategyListResponse = Courier::Models::RoutingStrategyListResponse
358
+
359
+ RoutingStrategyMutationResponse =
360
+ Courier::Models::RoutingStrategyMutationResponse
361
+
362
+ RoutingStrategyReplaceParams = Courier::Models::RoutingStrategyReplaceParams
363
+
364
+ RoutingStrategyReplaceRequest = Courier::Models::RoutingStrategyReplaceRequest
365
+
366
+ RoutingStrategyRetrieveParams = Courier::Models::RoutingStrategyRetrieveParams
367
+
368
+ RoutingStrategySummary = Courier::Models::RoutingStrategySummary
369
+
252
370
  Rule = Courier::Models::Rule
253
371
 
254
372
  SendDirectMessage = Courier::Models::SendDirectMessage
@@ -305,6 +423,8 @@ module Courier
305
423
 
306
424
  TextStyle = Courier::Models::TextStyle
307
425
 
426
+ Timeouts = Courier::Models::Timeouts
427
+
308
428
  Token = Courier::Models::Token
309
429
 
310
430
  TranslationRetrieveParams = Courier::Models::TranslationRetrieveParams
@@ -321,6 +441,8 @@ module Courier
321
441
 
322
442
  Utm = Courier::Models::Utm
323
443
 
444
+ VersionNode = Courier::Models::VersionNode
445
+
324
446
  WebhookAuthentication = Courier::Models::WebhookAuthentication
325
447
 
326
448
  WebhookAuthMode = Courier::Models::WebhookAuthMode