trycourier 4.4.0 → 4.6.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 (172) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +9 -9
  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/automation_list_params.rb +47 -0
  15. data/lib/trycourier/models/automation_template.rb +61 -0
  16. data/lib/trycourier/models/automation_template_list_response.rb +24 -0
  17. data/lib/trycourier/models/device_type.rb +7 -0
  18. data/lib/trycourier/models/discord.rb +16 -0
  19. data/lib/trycourier/models/expo.rb +16 -0
  20. data/lib/trycourier/models/filter.rb +8 -51
  21. data/lib/trycourier/models/filter_config.rb +8 -51
  22. data/lib/trycourier/models/intercom.rb +21 -0
  23. data/lib/trycourier/models/intercom_recipient.rb +15 -0
  24. data/lib/trycourier/models/list_filter.rb +52 -0
  25. data/lib/trycourier/models/list_pattern_recipient.rb +23 -0
  26. data/lib/trycourier/models/list_recipient.rb +29 -0
  27. data/lib/trycourier/models/ms_teams.rb +22 -0
  28. data/lib/trycourier/models/ms_teams_base_properties.rb +21 -0
  29. data/lib/trycourier/models/ms_teams_recipient.rb +17 -0
  30. data/lib/trycourier/models/multiple_tokens.rb +15 -0
  31. data/lib/trycourier/models/nested_filter_config.rb +49 -0
  32. data/lib/trycourier/models/pagerduty.rb +33 -0
  33. data/lib/trycourier/models/pagerduty_recipient.rb +17 -0
  34. data/lib/trycourier/models/send_direct_message.rb +15 -0
  35. data/lib/trycourier/models/send_message_params.rb +24 -7
  36. data/lib/trycourier/models/send_to_channel.rb +15 -0
  37. data/lib/trycourier/models/send_to_ms_teams_channel_id.rb +27 -0
  38. data/lib/trycourier/models/send_to_ms_teams_channel_name.rb +33 -0
  39. data/lib/trycourier/models/send_to_ms_teams_conversation_id.rb +27 -0
  40. data/lib/trycourier/models/send_to_ms_teams_email.rb +27 -0
  41. data/lib/trycourier/models/send_to_ms_teams_user_id.rb +27 -0
  42. data/lib/trycourier/models/send_to_slack_channel.rb +21 -0
  43. data/lib/trycourier/models/send_to_slack_email.rb +21 -0
  44. data/lib/trycourier/models/send_to_slack_user_id.rb +21 -0
  45. data/lib/trycourier/models/single_filter_config.rb +62 -0
  46. data/lib/trycourier/models/slack.rb +18 -0
  47. data/lib/trycourier/models/slack_base_properties.rb +15 -0
  48. data/lib/trycourier/models/slack_recipient.rb +17 -0
  49. data/lib/trycourier/models/token.rb +15 -0
  50. data/lib/trycourier/models/user_profile.rb +274 -0
  51. data/lib/trycourier/models/user_profile_firebase_token.rb +19 -0
  52. data/lib/trycourier/models/webhook_auth_mode.rb +16 -0
  53. data/lib/trycourier/models/webhook_authentication.rb +40 -0
  54. data/lib/trycourier/models/webhook_method.rb +15 -0
  55. data/lib/trycourier/models/webhook_profile.rb +53 -0
  56. data/lib/trycourier/models/webhook_profile_type.rb +15 -0
  57. data/lib/trycourier/models/webhook_recipient.rb +17 -0
  58. data/lib/trycourier/models.rb +90 -2
  59. data/lib/trycourier/resources/audiences.rb +1 -1
  60. data/lib/trycourier/resources/automations.rb +27 -0
  61. data/lib/trycourier/version.rb +1 -1
  62. data/lib/trycourier.rb +45 -1
  63. data/rbi/trycourier/models/airship_profile.rbi +41 -0
  64. data/rbi/trycourier/models/airship_profile_audience.rbi +26 -0
  65. data/rbi/trycourier/models/audience.rbi +8 -7
  66. data/rbi/trycourier/models/audience_filter.rbi +88 -0
  67. data/rbi/trycourier/models/audience_recipient.rbi +52 -0
  68. data/rbi/trycourier/models/audience_update_params.rbi +25 -7
  69. data/rbi/trycourier/models/automation_list_params.rbi +95 -0
  70. data/rbi/trycourier/models/automation_template.rbi +102 -0
  71. data/rbi/trycourier/models/automation_template_list_response.rbi +54 -0
  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/intercom.rbi +35 -0
  78. data/rbi/trycourier/models/intercom_recipient.rbi +23 -0
  79. data/rbi/trycourier/models/list_filter.rbi +86 -0
  80. data/rbi/trycourier/models/list_pattern_recipient.rbi +39 -0
  81. data/rbi/trycourier/models/list_recipient.rbi +44 -0
  82. data/rbi/trycourier/models/ms_teams.rbi +24 -0
  83. data/rbi/trycourier/models/ms_teams_base_properties.rbi +31 -0
  84. data/rbi/trycourier/models/ms_teams_recipient.rbi +58 -0
  85. data/rbi/trycourier/models/multiple_tokens.rbi +27 -0
  86. data/rbi/trycourier/models/nested_filter_config.rbi +104 -0
  87. data/rbi/trycourier/models/pagerduty.rbi +53 -0
  88. data/rbi/trycourier/models/pagerduty_recipient.rbi +31 -0
  89. data/rbi/trycourier/models/send_direct_message.rbi +23 -0
  90. data/rbi/trycourier/models/send_message_params.rbi +34 -10
  91. data/rbi/trycourier/models/send_to_channel.rbi +23 -0
  92. data/rbi/trycourier/models/send_to_ms_teams_channel_id.rbi +42 -0
  93. data/rbi/trycourier/models/send_to_ms_teams_channel_name.rbi +51 -0
  94. data/rbi/trycourier/models/send_to_ms_teams_conversation_id.rbi +42 -0
  95. data/rbi/trycourier/models/send_to_ms_teams_email.rbi +37 -0
  96. data/rbi/trycourier/models/send_to_ms_teams_user_id.rbi +37 -0
  97. data/rbi/trycourier/models/send_to_slack_channel.rbi +28 -0
  98. data/rbi/trycourier/models/send_to_slack_email.rbi +28 -0
  99. data/rbi/trycourier/models/send_to_slack_user_id.rbi +28 -0
  100. data/rbi/trycourier/models/single_filter_config.rbi +116 -0
  101. data/rbi/trycourier/models/slack.rbi +22 -0
  102. data/rbi/trycourier/models/slack_base_properties.rbi +23 -0
  103. data/rbi/trycourier/models/slack_recipient.rbi +52 -0
  104. data/rbi/trycourier/models/token.rbi +21 -0
  105. data/rbi/trycourier/models/user_profile.rbi +377 -0
  106. data/rbi/trycourier/models/user_profile_firebase_token.rbi +25 -0
  107. data/rbi/trycourier/models/webhook_auth_mode.rbi +22 -0
  108. data/rbi/trycourier/models/webhook_authentication.rbi +64 -0
  109. data/rbi/trycourier/models/webhook_method.rbi +21 -0
  110. data/rbi/trycourier/models/webhook_profile.rbi +80 -0
  111. data/rbi/trycourier/models/webhook_profile_type.rbi +22 -0
  112. data/rbi/trycourier/models/webhook_recipient.rbi +31 -0
  113. data/rbi/trycourier/models.rbi +91 -2
  114. data/rbi/trycourier/resources/audiences.rbi +7 -1
  115. data/rbi/trycourier/resources/automations.rbi +19 -0
  116. data/sig/trycourier/models/airship_profile.rbs +25 -0
  117. data/sig/trycourier/models/airship_profile_audience.rbs +13 -0
  118. data/sig/trycourier/models/audience.rbs +4 -4
  119. data/sig/trycourier/models/audience_filter.rbs +50 -0
  120. data/sig/trycourier/models/audience_recipient.rbs +30 -0
  121. data/sig/trycourier/models/audience_update_params.rbs +8 -4
  122. data/sig/trycourier/models/automation_list_params.rbs +48 -0
  123. data/sig/trycourier/models/automation_template.rbs +55 -0
  124. data/sig/trycourier/models/automation_template_list_response.rbs +28 -0
  125. data/sig/trycourier/models/device_type.rbs +5 -0
  126. data/sig/trycourier/models/discord.rbs +11 -0
  127. data/sig/trycourier/models/expo.rbs +11 -0
  128. data/sig/trycourier/models/filter.rbs +4 -61
  129. data/sig/trycourier/models/filter_config.rbs +4 -61
  130. data/sig/trycourier/models/intercom.rbs +15 -0
  131. data/sig/trycourier/models/intercom_recipient.rbs +13 -0
  132. data/sig/trycourier/models/list_filter.rbs +50 -0
  133. data/sig/trycourier/models/list_pattern_recipient.rbs +19 -0
  134. data/sig/trycourier/models/list_recipient.rbs +30 -0
  135. data/sig/trycourier/models/ms_teams.rbs +16 -0
  136. data/sig/trycourier/models/ms_teams_base_properties.rbs +15 -0
  137. data/sig/trycourier/models/ms_teams_recipient.rbs +13 -0
  138. data/sig/trycourier/models/multiple_tokens.rbs +13 -0
  139. data/sig/trycourier/models/nested_filter_config.rbs +64 -0
  140. data/sig/trycourier/models/pagerduty.rbs +35 -0
  141. data/sig/trycourier/models/pagerduty_recipient.rbs +13 -0
  142. data/sig/trycourier/models/send_direct_message.rbs +13 -0
  143. data/sig/trycourier/models/send_message_params.rbs +9 -3
  144. data/sig/trycourier/models/send_to_channel.rbs +13 -0
  145. data/sig/trycourier/models/send_to_ms_teams_channel_id.rbs +26 -0
  146. data/sig/trycourier/models/send_to_ms_teams_channel_name.rbs +35 -0
  147. data/sig/trycourier/models/send_to_ms_teams_conversation_id.rbs +26 -0
  148. data/sig/trycourier/models/send_to_ms_teams_email.rbs +22 -0
  149. data/sig/trycourier/models/send_to_ms_teams_user_id.rbs +26 -0
  150. data/sig/trycourier/models/send_to_slack_channel.rbs +15 -0
  151. data/sig/trycourier/models/send_to_slack_email.rbs +15 -0
  152. data/sig/trycourier/models/send_to_slack_user_id.rbs +15 -0
  153. data/sig/trycourier/models/single_filter_config.rbs +69 -0
  154. data/sig/trycourier/models/slack.rbs +14 -0
  155. data/sig/trycourier/models/slack_base_properties.rbs +13 -0
  156. data/sig/trycourier/models/slack_recipient.rbs +13 -0
  157. data/sig/trycourier/models/token.rbs +13 -0
  158. data/sig/trycourier/models/user_profile.rbs +212 -0
  159. data/sig/trycourier/models/user_profile_firebase_token.rbs +13 -0
  160. data/sig/trycourier/models/webhook_auth_mode.rbs +15 -0
  161. data/sig/trycourier/models/webhook_authentication.rbs +35 -0
  162. data/sig/trycourier/models/webhook_method.rbs +14 -0
  163. data/sig/trycourier/models/webhook_profile.rbs +40 -0
  164. data/sig/trycourier/models/webhook_profile_type.rbs +14 -0
  165. data/sig/trycourier/models/webhook_recipient.rbs +13 -0
  166. data/sig/trycourier/models.rbs +92 -4
  167. data/sig/trycourier/resources/audiences.rbs +1 -1
  168. data/sig/trycourier/resources/automations.rbs +6 -0
  169. metadata +137 -5
  170. data/lib/trycourier/models/recipient.rb +0 -113
  171. data/rbi/trycourier/models/recipient.rbi +0 -161
  172. data/sig/trycourier/models/recipient.rbs +0 -92
@@ -1,16 +1,24 @@
1
1
  # typed: strong
2
2
 
3
3
  module Trycourier
4
+ AirshipProfile = Trycourier::Models::AirshipProfile
5
+
6
+ AirshipProfileAudience = Trycourier::Models::AirshipProfileAudience
7
+
4
8
  Alignment = Trycourier::Models::Alignment
5
9
 
6
10
  Audience = Trycourier::Models::Audience
7
11
 
8
12
  AudienceDeleteParams = Trycourier::Models::AudienceDeleteParams
9
13
 
14
+ AudienceFilter = Trycourier::Models::AudienceFilter
15
+
10
16
  AudienceListMembersParams = Trycourier::Models::AudienceListMembersParams
11
17
 
12
18
  AudienceListParams = Trycourier::Models::AudienceListParams
13
19
 
20
+ AudienceRecipient = Trycourier::Models::AudienceRecipient
21
+
14
22
  AudienceRetrieveParams = Trycourier::Models::AudienceRetrieveParams
15
23
 
16
24
  AudienceUpdateParams = Trycourier::Models::AudienceUpdateParams
@@ -25,8 +33,15 @@ module Trycourier
25
33
 
26
34
  AutomationInvokeResponse = Trycourier::Models::AutomationInvokeResponse
27
35
 
36
+ AutomationListParams = Trycourier::Models::AutomationListParams
37
+
28
38
  Automations = Trycourier::Models::Automations
29
39
 
40
+ AutomationTemplate = Trycourier::Models::AutomationTemplate
41
+
42
+ AutomationTemplateListResponse =
43
+ Trycourier::Models::AutomationTemplateListResponse
44
+
30
45
  BaseCheck = Trycourier::Models::BaseCheck
31
46
 
32
47
  BaseTemplateTenantAssociation =
@@ -76,6 +91,10 @@ module Trycourier
76
91
 
77
92
  DefaultPreferences = Trycourier::Models::DefaultPreferences
78
93
 
94
+ DeviceType = Trycourier::Models::DeviceType
95
+
96
+ Discord = Trycourier::Models::Discord
97
+
79
98
  ElementalActionNodeWithType = Trycourier::Models::ElementalActionNodeWithType
80
99
 
81
100
  ElementalBaseNode = Trycourier::Models::ElementalBaseNode
@@ -108,6 +127,8 @@ module Trycourier
108
127
 
109
128
  EmailHeader = Trycourier::Models::EmailHeader
110
129
 
130
+ Expo = Trycourier::Models::Expo
131
+
111
132
  Filter = Trycourier::Models::Filter
112
133
 
113
134
  FilterConfig = Trycourier::Models::FilterConfig
@@ -120,10 +141,20 @@ module Trycourier
120
141
 
121
142
  InboundTrackEventParams = Trycourier::Models::InboundTrackEventParams
122
143
 
144
+ Intercom = Trycourier::Models::Intercom
145
+
146
+ IntercomRecipient = Trycourier::Models::IntercomRecipient
147
+
123
148
  ListDeleteParams = Trycourier::Models::ListDeleteParams
124
149
 
150
+ ListFilter = Trycourier::Models::ListFilter
151
+
125
152
  ListListParams = Trycourier::Models::ListListParams
126
153
 
154
+ ListPatternRecipient = Trycourier::Models::ListPatternRecipient
155
+
156
+ ListRecipient = Trycourier::Models::ListRecipient
157
+
127
158
  ListRestoreParams = Trycourier::Models::ListRestoreParams
128
159
 
129
160
  ListRetrieveParams = Trycourier::Models::ListRetrieveParams
@@ -152,6 +183,16 @@ module Trycourier
152
183
 
153
184
  MessageRoutingChannel = Trycourier::Models::MessageRoutingChannel
154
185
 
186
+ MsTeams = Trycourier::Models::MsTeams
187
+
188
+ MsTeamsBaseProperties = Trycourier::Models::MsTeamsBaseProperties
189
+
190
+ MsTeamsRecipient = Trycourier::Models::MsTeamsRecipient
191
+
192
+ MultipleTokens = Trycourier::Models::MultipleTokens
193
+
194
+ NestedFilterConfig = Trycourier::Models::NestedFilterConfig
195
+
155
196
  NotificationGetContent = Trycourier::Models::NotificationGetContent
156
197
 
157
198
  NotificationListParams = Trycourier::Models::NotificationListParams
@@ -164,6 +205,10 @@ module Trycourier
164
205
 
165
206
  Notifications = Trycourier::Models::Notifications
166
207
 
208
+ Pagerduty = Trycourier::Models::Pagerduty
209
+
210
+ PagerdutyRecipient = Trycourier::Models::PagerdutyRecipient
211
+
167
212
  Paging = Trycourier::Models::Paging
168
213
 
169
214
  Preference = Trycourier::Models::Preference
@@ -184,16 +229,42 @@ module Trycourier
184
229
 
185
230
  PutSubscriptionsRecipient = Trycourier::Models::PutSubscriptionsRecipient
186
231
 
187
- Recipient = Trycourier::Models::Recipient
188
-
189
232
  RecipientPreferences = Trycourier::Models::RecipientPreferences
190
233
 
191
234
  RequestArchiveParams = Trycourier::Models::RequestArchiveParams
192
235
 
193
236
  Rule = Trycourier::Models::Rule
194
237
 
238
+ SendDirectMessage = Trycourier::Models::SendDirectMessage
239
+
195
240
  SendMessageParams = Trycourier::Models::SendMessageParams
196
241
 
242
+ SendToChannel = Trycourier::Models::SendToChannel
243
+
244
+ SendToMsTeamsChannelID = Trycourier::Models::SendToMsTeamsChannelID
245
+
246
+ SendToMsTeamsChannelName = Trycourier::Models::SendToMsTeamsChannelName
247
+
248
+ SendToMsTeamsConversationID = Trycourier::Models::SendToMsTeamsConversationID
249
+
250
+ SendToMsTeamsEmail = Trycourier::Models::SendToMsTeamsEmail
251
+
252
+ SendToMsTeamsUserID = Trycourier::Models::SendToMsTeamsUserID
253
+
254
+ SendToSlackChannel = Trycourier::Models::SendToSlackChannel
255
+
256
+ SendToSlackEmail = Trycourier::Models::SendToSlackEmail
257
+
258
+ SendToSlackUserID = Trycourier::Models::SendToSlackUserID
259
+
260
+ SingleFilterConfig = Trycourier::Models::SingleFilterConfig
261
+
262
+ Slack = Trycourier::Models::Slack
263
+
264
+ SlackBaseProperties = Trycourier::Models::SlackBaseProperties
265
+
266
+ SlackRecipient = Trycourier::Models::SlackRecipient
267
+
197
268
  SubscribeToListsRequestItem = Trycourier::Models::SubscribeToListsRequestItem
198
269
 
199
270
  SubscriptionList = Trycourier::Models::SubscriptionList
@@ -218,15 +289,33 @@ module Trycourier
218
289
 
219
290
  TextStyle = Trycourier::Models::TextStyle
220
291
 
292
+ Token = Trycourier::Models::Token
293
+
221
294
  TranslationRetrieveParams = Trycourier::Models::TranslationRetrieveParams
222
295
 
223
296
  TranslationUpdateParams = Trycourier::Models::TranslationUpdateParams
224
297
 
298
+ UserProfile = Trycourier::Models::UserProfile
299
+
300
+ UserProfileFirebaseToken = Trycourier::Models::UserProfileFirebaseToken
301
+
225
302
  UserRecipient = Trycourier::Models::UserRecipient
226
303
 
227
304
  Users = Trycourier::Models::Users
228
305
 
229
306
  Utm = Trycourier::Models::Utm
230
307
 
308
+ WebhookAuthentication = Trycourier::Models::WebhookAuthentication
309
+
310
+ WebhookAuthMode = Trycourier::Models::WebhookAuthMode
311
+
312
+ WebhookMethod = Trycourier::Models::WebhookMethod
313
+
314
+ WebhookProfile = Trycourier::Models::WebhookProfile
315
+
316
+ WebhookProfileType = Trycourier::Models::WebhookProfileType
317
+
318
+ WebhookRecipient = Trycourier::Models::WebhookRecipient
319
+
231
320
  WidgetBackground = Trycourier::Models::WidgetBackground
232
321
  end
@@ -22,7 +22,13 @@ module Trycourier
22
22
  params(
23
23
  audience_id: String,
24
24
  description: T.nilable(String),
25
- filter: T.nilable(Trycourier::Filter::OrHash),
25
+ filter:
26
+ T.nilable(
27
+ T.any(
28
+ Trycourier::SingleFilterConfig::OrHash,
29
+ Trycourier::NestedFilterConfig::OrHash
30
+ )
31
+ ),
26
32
  name: T.nilable(String),
27
33
  request_options: Trycourier::RequestOptions::OrHash
28
34
  ).returns(Trycourier::Models::AudienceUpdateResponse)
@@ -6,6 +6,25 @@ module Trycourier
6
6
  sig { returns(Trycourier::Resources::Automations::Invoke) }
7
7
  attr_reader :invoke
8
8
 
9
+ # Get the list of automations.
10
+ sig do
11
+ params(
12
+ cursor: String,
13
+ version: Trycourier::AutomationListParams::Version::OrSymbol,
14
+ request_options: Trycourier::RequestOptions::OrHash
15
+ ).returns(Trycourier::AutomationTemplateListResponse)
16
+ end
17
+ def list(
18
+ # A cursor token for pagination. Use the cursor from the previous response to
19
+ # fetch the next page of results.
20
+ cursor: nil,
21
+ # The version of templates to retrieve. Accepted values are published (for
22
+ # published templates) or draft (for draft templates). Defaults to published.
23
+ version: nil,
24
+ request_options: {}
25
+ )
26
+ end
27
+
9
28
  # @api private
10
29
  sig { params(client: Trycourier::Client).returns(T.attached_class) }
11
30
  def self.new(client:)
@@ -0,0 +1,25 @@
1
+ module Trycourier
2
+ module Models
3
+ type airship_profile =
4
+ {
5
+ audience: Trycourier::AirshipProfileAudience,
6
+ device_types: ::Array[String]
7
+ }
8
+
9
+ class AirshipProfile < Trycourier::Internal::Type::BaseModel
10
+ attr_accessor audience: Trycourier::AirshipProfileAudience
11
+
12
+ attr_accessor device_types: ::Array[String]
13
+
14
+ def initialize: (
15
+ audience: Trycourier::AirshipProfileAudience,
16
+ device_types: ::Array[String]
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ audience: Trycourier::AirshipProfileAudience,
21
+ device_types: ::Array[String]
22
+ }
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type airship_profile_audience = { named_user: String }
4
+
5
+ class AirshipProfileAudience < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor named_user: String
7
+
8
+ def initialize: (named_user: String) -> void
9
+
10
+ def to_hash: -> { named_user: String }
11
+ end
12
+ end
13
+ end
@@ -5,7 +5,7 @@ module Trycourier
5
5
  id: String,
6
6
  created_at: String,
7
7
  description: String,
8
- filter: Trycourier::Filter,
8
+ filter: Trycourier::Models::filter,
9
9
  name: String,
10
10
  updated_at: String
11
11
  }
@@ -17,7 +17,7 @@ module Trycourier
17
17
 
18
18
  attr_accessor description: String
19
19
 
20
- attr_accessor filter: Trycourier::Filter
20
+ attr_accessor filter: Trycourier::Models::filter
21
21
 
22
22
  attr_accessor name: String
23
23
 
@@ -27,7 +27,7 @@ module Trycourier
27
27
  id: String,
28
28
  created_at: String,
29
29
  description: String,
30
- filter: Trycourier::Filter,
30
+ filter: Trycourier::Models::filter,
31
31
  name: String,
32
32
  updated_at: String
33
33
  ) -> void
@@ -36,7 +36,7 @@ module Trycourier
36
36
  id: String,
37
37
  created_at: String,
38
38
  description: String,
39
- filter: Trycourier::Filter,
39
+ filter: Trycourier::Models::filter,
40
40
  name: String,
41
41
  updated_at: String
42
42
  }
@@ -0,0 +1,50 @@
1
+ module Trycourier
2
+ module Models
3
+ type audience_filter =
4
+ {
5
+ operator: Trycourier::Models::AudienceFilter::operator,
6
+ path: Trycourier::Models::AudienceFilter::path,
7
+ value: String
8
+ }
9
+
10
+ class AudienceFilter < Trycourier::Internal::Type::BaseModel
11
+ attr_accessor operator: Trycourier::Models::AudienceFilter::operator
12
+
13
+ attr_accessor path: Trycourier::Models::AudienceFilter::path
14
+
15
+ attr_accessor value: String
16
+
17
+ def initialize: (
18
+ operator: Trycourier::Models::AudienceFilter::operator,
19
+ path: Trycourier::Models::AudienceFilter::path,
20
+ value: String
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ operator: Trycourier::Models::AudienceFilter::operator,
25
+ path: Trycourier::Models::AudienceFilter::path,
26
+ value: String
27
+ }
28
+
29
+ type operator = :MEMBER_OF
30
+
31
+ module Operator
32
+ extend Trycourier::Internal::Type::Enum
33
+
34
+ MEMBER_OF: :MEMBER_OF
35
+
36
+ def self?.values: -> ::Array[Trycourier::Models::AudienceFilter::operator]
37
+ end
38
+
39
+ type path = :account_id
40
+
41
+ module Path
42
+ extend Trycourier::Internal::Type::Enum
43
+
44
+ ACCOUNT_ID: :account_id
45
+
46
+ def self?.values: -> ::Array[Trycourier::Models::AudienceFilter::path]
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,30 @@
1
+ module Trycourier
2
+ module Models
3
+ type audience_recipient =
4
+ {
5
+ audience_id: String,
6
+ data: ::Hash[Symbol, top]?,
7
+ filters: ::Array[Trycourier::AudienceFilter]?
8
+ }
9
+
10
+ class AudienceRecipient < Trycourier::Internal::Type::BaseModel
11
+ attr_accessor audience_id: String
12
+
13
+ attr_accessor data: ::Hash[Symbol, top]?
14
+
15
+ attr_accessor filters: ::Array[Trycourier::AudienceFilter]?
16
+
17
+ def initialize: (
18
+ audience_id: String,
19
+ ?data: ::Hash[Symbol, top]?,
20
+ ?filters: ::Array[Trycourier::AudienceFilter]?
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ audience_id: String,
25
+ data: ::Hash[Symbol, top]?,
26
+ filters: ::Array[Trycourier::AudienceFilter]?
27
+ }
28
+ end
29
+ end
30
+ end
@@ -1,7 +1,11 @@
1
1
  module Trycourier
2
2
  module Models
3
3
  type audience_update_params =
4
- { description: String?, filter: Trycourier::Filter?, name: String? }
4
+ {
5
+ description: String?,
6
+ filter: Trycourier::Models::filter?,
7
+ name: String?
8
+ }
5
9
  & Trycourier::Internal::Type::request_parameters
6
10
 
7
11
  class AudienceUpdateParams < Trycourier::Internal::Type::BaseModel
@@ -10,20 +14,20 @@ module Trycourier
10
14
 
11
15
  attr_accessor description: String?
12
16
 
13
- attr_accessor filter: Trycourier::Filter?
17
+ attr_accessor filter: Trycourier::Models::filter?
14
18
 
15
19
  attr_accessor name: String?
16
20
 
17
21
  def initialize: (
18
22
  ?description: String?,
19
- ?filter: Trycourier::Filter?,
23
+ ?filter: Trycourier::Models::filter?,
20
24
  ?name: String?,
21
25
  ?request_options: Trycourier::request_opts
22
26
  ) -> void
23
27
 
24
28
  def to_hash: -> {
25
29
  description: String?,
26
- filter: Trycourier::Filter?,
30
+ filter: Trycourier::Models::filter?,
27
31
  name: String?,
28
32
  request_options: Trycourier::RequestOptions
29
33
  }
@@ -0,0 +1,48 @@
1
+ module Trycourier
2
+ module Models
3
+ type automation_list_params =
4
+ {
5
+ cursor: String,
6
+ version: Trycourier::Models::AutomationListParams::version
7
+ }
8
+ & Trycourier::Internal::Type::request_parameters
9
+
10
+ class AutomationListParams < Trycourier::Internal::Type::BaseModel
11
+ extend Trycourier::Internal::Type::RequestParameters::Converter
12
+ include Trycourier::Internal::Type::RequestParameters
13
+
14
+ attr_reader cursor: String?
15
+
16
+ def cursor=: (String) -> String
17
+
18
+ attr_reader version: Trycourier::Models::AutomationListParams::version?
19
+
20
+ def version=: (
21
+ Trycourier::Models::AutomationListParams::version
22
+ ) -> Trycourier::Models::AutomationListParams::version
23
+
24
+ def initialize: (
25
+ ?cursor: String,
26
+ ?version: Trycourier::Models::AutomationListParams::version,
27
+ ?request_options: Trycourier::request_opts
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ cursor: String,
32
+ version: Trycourier::Models::AutomationListParams::version,
33
+ request_options: Trycourier::RequestOptions
34
+ }
35
+
36
+ type version = :published | :draft
37
+
38
+ module Version
39
+ extend Trycourier::Internal::Type::Enum
40
+
41
+ PUBLISHED: :published
42
+ DRAFT: :draft
43
+
44
+ def self?.values: -> ::Array[Trycourier::Models::AutomationListParams::version]
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,55 @@
1
+ module Trycourier
2
+ module Models
3
+ type automation_template =
4
+ {
5
+ id: String,
6
+ name: String,
7
+ version: Trycourier::Models::AutomationTemplate::version,
8
+ created_at: Time,
9
+ updated_at: Time
10
+ }
11
+
12
+ class AutomationTemplate < Trycourier::Internal::Type::BaseModel
13
+ attr_accessor id: String
14
+
15
+ attr_accessor name: String
16
+
17
+ attr_accessor version: Trycourier::Models::AutomationTemplate::version
18
+
19
+ attr_reader created_at: Time?
20
+
21
+ def created_at=: (Time) -> Time
22
+
23
+ attr_reader updated_at: Time?
24
+
25
+ def updated_at=: (Time) -> Time
26
+
27
+ def initialize: (
28
+ id: String,
29
+ name: String,
30
+ version: Trycourier::Models::AutomationTemplate::version,
31
+ ?created_at: Time,
32
+ ?updated_at: Time
33
+ ) -> void
34
+
35
+ def to_hash: -> {
36
+ id: String,
37
+ name: String,
38
+ version: Trycourier::Models::AutomationTemplate::version,
39
+ created_at: Time,
40
+ updated_at: Time
41
+ }
42
+
43
+ type version = :published | :draft
44
+
45
+ module Version
46
+ extend Trycourier::Internal::Type::Enum
47
+
48
+ PUBLISHED: :published
49
+ DRAFT: :draft
50
+
51
+ def self?.values: -> ::Array[Trycourier::Models::AutomationTemplate::version]
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,28 @@
1
+ module Trycourier
2
+ module Models
3
+ type automation_template_list_response =
4
+ { cursor: String, templates: ::Array[Trycourier::AutomationTemplate] }
5
+
6
+ class AutomationTemplateListResponse < Trycourier::Internal::Type::BaseModel
7
+ attr_reader cursor: String?
8
+
9
+ def cursor=: (String) -> String
10
+
11
+ attr_reader templates: ::Array[Trycourier::AutomationTemplate]?
12
+
13
+ def templates=: (
14
+ ::Array[Trycourier::AutomationTemplate]
15
+ ) -> ::Array[Trycourier::AutomationTemplate]
16
+
17
+ def initialize: (
18
+ ?cursor: String,
19
+ ?templates: ::Array[Trycourier::AutomationTemplate]
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ cursor: String,
24
+ templates: ::Array[Trycourier::AutomationTemplate]
25
+ }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,5 @@
1
+ module Trycourier
2
+ module Models
3
+ class DeviceType = String
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ module Trycourier
2
+ module Models
3
+ type discord = Trycourier::SendToChannel | Trycourier::SendDirectMessage
4
+
5
+ module Discord
6
+ extend Trycourier::Internal::Type::Union
7
+
8
+ def self?.variants: -> ::Array[Trycourier::Models::discord]
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module Trycourier
2
+ module Models
3
+ type expo = Trycourier::Token | Trycourier::MultipleTokens
4
+
5
+ module Expo
6
+ extend Trycourier::Internal::Type::Union
7
+
8
+ def self?.variants: -> ::Array[Trycourier::Models::expo]
9
+ end
10
+ end
11
+ end
@@ -1,69 +1,12 @@
1
1
  module Trycourier
2
2
  module Models
3
3
  type filter =
4
- {
5
- operator: Trycourier::Models::Filter::operator,
6
- path: String,
7
- value: String
8
- }
4
+ Trycourier::SingleFilterConfig | Trycourier::NestedFilterConfig
9
5
 
10
- class Filter < Trycourier::Internal::Type::BaseModel
11
- attr_accessor operator: Trycourier::Models::Filter::operator
6
+ module Filter
7
+ extend Trycourier::Internal::Type::Union
12
8
 
13
- attr_accessor path: String
14
-
15
- attr_accessor value: String
16
-
17
- def initialize: (
18
- operator: Trycourier::Models::Filter::operator,
19
- path: String,
20
- value: String
21
- ) -> void
22
-
23
- def to_hash: -> {
24
- operator: Trycourier::Models::Filter::operator,
25
- path: String,
26
- value: String
27
- }
28
-
29
- type operator =
30
- :ENDS_WITH
31
- | :EQ
32
- | :EXISTS
33
- | :GT
34
- | :GTE
35
- | :INCLUDES
36
- | :IS_AFTER
37
- | :IS_BEFORE
38
- | :LT
39
- | :LTE
40
- | :NEQ
41
- | :OMIT
42
- | :STARTS_WITH
43
- | :AND
44
- | :OR
45
-
46
- module Operator
47
- extend Trycourier::Internal::Type::Enum
48
-
49
- ENDS_WITH: :ENDS_WITH
50
- EQ: :EQ
51
- EXISTS: :EXISTS
52
- GT: :GT
53
- GTE: :GTE
54
- INCLUDES: :INCLUDES
55
- IS_AFTER: :IS_AFTER
56
- IS_BEFORE: :IS_BEFORE
57
- LT: :LT
58
- LTE: :LTE
59
- NEQ: :NEQ
60
- OMIT: :OMIT
61
- STARTS_WITH: :STARTS_WITH
62
- AND: :AND
63
- OR: :OR
64
-
65
- def self?.values: -> ::Array[Trycourier::Models::Filter::operator]
66
- end
9
+ def self?.variants: -> ::Array[Trycourier::Models::filter]
67
10
  end
68
11
  end
69
12
  end