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,106 +1,59 @@
1
1
  module Trycourier
2
2
  module Models
3
3
  type inbound_bulk_message =
4
- Trycourier::InboundBulkMessage::InboundBulkTemplateMessage
5
- | Trycourier::InboundBulkMessage::InboundBulkContentMessage
6
-
7
- module InboundBulkMessage
8
- extend Trycourier::Internal::Type::Union
9
-
10
- type inbound_bulk_template_message =
11
- {
12
- template: String,
13
- brand: String?,
14
- data: ::Hash[Symbol, top]?,
15
- event: String?,
16
- locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
17
- override: ::Hash[Symbol, top]?
18
- }
19
-
20
- class InboundBulkTemplateMessage < Trycourier::Internal::Type::BaseModel
21
- attr_accessor template: String
22
-
23
- attr_accessor brand: String?
24
-
25
- attr_accessor data: ::Hash[Symbol, top]?
26
-
27
- attr_accessor event: String?
28
-
29
- attr_accessor locale: ::Hash[Symbol, ::Hash[Symbol, top]]?
30
-
31
- attr_accessor override: ::Hash[Symbol, top]?
32
-
33
- def initialize: (
34
- template: String,
35
- ?brand: String?,
36
- ?data: ::Hash[Symbol, top]?,
37
- ?event: String?,
38
- ?locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
39
- ?override: ::Hash[Symbol, top]?
40
- ) -> void
41
-
42
- def to_hash: -> {
43
- template: String,
44
- brand: String?,
45
- data: ::Hash[Symbol, top]?,
46
- event: String?,
47
- locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
48
- override: ::Hash[Symbol, top]?
49
- }
50
- end
51
-
52
- type inbound_bulk_content_message =
53
- {
54
- content: Trycourier::Models::InboundBulkMessage::InboundBulkContentMessage::content,
55
- brand: String?,
56
- data: ::Hash[Symbol, top]?,
57
- event: String?,
58
- locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
59
- override: ::Hash[Symbol, top]?
60
- }
61
-
62
- class InboundBulkContentMessage < Trycourier::Internal::Type::BaseModel
63
- attr_accessor content: Trycourier::Models::InboundBulkMessage::InboundBulkContentMessage::content
64
-
65
- attr_accessor brand: String?
66
-
67
- attr_accessor data: ::Hash[Symbol, top]?
68
-
69
- attr_accessor event: String?
70
-
71
- attr_accessor locale: ::Hash[Symbol, ::Hash[Symbol, top]]?
72
-
73
- attr_accessor override: ::Hash[Symbol, top]?
74
-
75
- def initialize: (
76
- content: Trycourier::Models::InboundBulkMessage::InboundBulkContentMessage::content,
77
- ?brand: String?,
78
- ?data: ::Hash[Symbol, top]?,
79
- ?event: String?,
80
- ?locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
81
- ?override: ::Hash[Symbol, top]?
82
- ) -> void
83
-
84
- def to_hash: -> {
85
- content: Trycourier::Models::InboundBulkMessage::InboundBulkContentMessage::content,
86
- brand: String?,
87
- data: ::Hash[Symbol, top]?,
88
- event: String?,
89
- locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
90
- override: ::Hash[Symbol, top]?
91
- }
92
-
93
- type content =
94
- Trycourier::ElementalContentSugar | Trycourier::ElementalContent
95
-
96
- module Content
97
- extend Trycourier::Internal::Type::Union
98
-
99
- def self?.variants: -> ::Array[Trycourier::Models::InboundBulkMessage::InboundBulkContentMessage::content]
100
- end
4
+ {
5
+ event: String,
6
+ brand: String?,
7
+ content: Trycourier::Models::InboundBulkMessage::content?,
8
+ data: ::Hash[Symbol, top]?,
9
+ locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
10
+ override: ::Hash[Symbol, top]?,
11
+ template: String?
12
+ }
13
+
14
+ class InboundBulkMessage < Trycourier::Internal::Type::BaseModel
15
+ attr_accessor event: String
16
+
17
+ attr_accessor brand: String?
18
+
19
+ attr_accessor content: Trycourier::Models::InboundBulkMessage::content?
20
+
21
+ attr_accessor data: ::Hash[Symbol, top]?
22
+
23
+ attr_accessor locale: ::Hash[Symbol, ::Hash[Symbol, top]]?
24
+
25
+ attr_accessor override: ::Hash[Symbol, top]?
26
+
27
+ attr_accessor template: String?
28
+
29
+ def initialize: (
30
+ event: String,
31
+ ?brand: String?,
32
+ ?content: Trycourier::Models::InboundBulkMessage::content?,
33
+ ?data: ::Hash[Symbol, top]?,
34
+ ?locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
35
+ ?override: ::Hash[Symbol, top]?,
36
+ ?template: String?
37
+ ) -> void
38
+
39
+ def to_hash: -> {
40
+ event: String,
41
+ brand: String?,
42
+ content: Trycourier::Models::InboundBulkMessage::content?,
43
+ data: ::Hash[Symbol, top]?,
44
+ locale: ::Hash[Symbol, ::Hash[Symbol, top]]?,
45
+ override: ::Hash[Symbol, top]?,
46
+ template: String?
47
+ }
48
+
49
+ type content =
50
+ Trycourier::ElementalContentSugar | Trycourier::ElementalContent
51
+
52
+ module Content
53
+ extend Trycourier::Internal::Type::Union
54
+
55
+ def self?.variants: -> ::Array[Trycourier::Models::InboundBulkMessage::content]
101
56
  end
102
-
103
- def self?.variants: -> ::Array[Trycourier::Models::inbound_bulk_message]
104
57
  end
105
58
  end
106
59
  end
@@ -4,7 +4,7 @@ module Trycourier
4
4
  {
5
5
  data: top,
6
6
  preferences: Trycourier::RecipientPreferences?,
7
- profile: top,
7
+ profile: ::Hash[Symbol, top]?,
8
8
  recipient: String?,
9
9
  to: Trycourier::UserRecipient?
10
10
  }
@@ -16,9 +16,7 @@ module Trycourier
16
16
 
17
17
  attr_accessor preferences: Trycourier::RecipientPreferences?
18
18
 
19
- attr_reader profile: top?
20
-
21
- def profile=: (top) -> top
19
+ attr_accessor profile: ::Hash[Symbol, top]?
22
20
 
23
21
  attr_accessor recipient: String?
24
22
 
@@ -27,7 +25,7 @@ module Trycourier
27
25
  def initialize: (
28
26
  ?data: top,
29
27
  ?preferences: Trycourier::RecipientPreferences?,
30
- ?profile: top,
28
+ ?profile: ::Hash[Symbol, top]?,
31
29
  ?recipient: String?,
32
30
  ?to: Trycourier::UserRecipient?
33
31
  ) -> void
@@ -35,7 +33,7 @@ module Trycourier
35
33
  def to_hash: -> {
36
34
  data: top,
37
35
  preferences: Trycourier::RecipientPreferences?,
38
- profile: top,
36
+ profile: ::Hash[Symbol, top]?,
39
37
  recipient: String?,
40
38
  to: Trycourier::UserRecipient?
41
39
  }
@@ -0,0 +1,15 @@
1
+ module Trycourier
2
+ module Models
3
+ type intercom = { from: String, to: Trycourier::IntercomRecipient }
4
+
5
+ class Intercom < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor from: String
7
+
8
+ attr_accessor to: Trycourier::IntercomRecipient
9
+
10
+ def initialize: (from: String, to: Trycourier::IntercomRecipient) -> void
11
+
12
+ def to_hash: -> { from: String, to: Trycourier::IntercomRecipient }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type intercom_recipient = { id: String }
4
+
5
+ class IntercomRecipient < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor id: String
7
+
8
+ def initialize: (id: String) -> void
9
+
10
+ def to_hash: -> { id: String }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,50 @@
1
+ module Trycourier
2
+ module Models
3
+ type list_filter =
4
+ {
5
+ operator: Trycourier::Models::ListFilter::operator,
6
+ path: Trycourier::Models::ListFilter::path,
7
+ value: String
8
+ }
9
+
10
+ class ListFilter < Trycourier::Internal::Type::BaseModel
11
+ attr_accessor operator: Trycourier::Models::ListFilter::operator
12
+
13
+ attr_accessor path: Trycourier::Models::ListFilter::path
14
+
15
+ attr_accessor value: String
16
+
17
+ def initialize: (
18
+ operator: Trycourier::Models::ListFilter::operator,
19
+ path: Trycourier::Models::ListFilter::path,
20
+ value: String
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ operator: Trycourier::Models::ListFilter::operator,
25
+ path: Trycourier::Models::ListFilter::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::ListFilter::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::ListFilter::path]
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,19 @@
1
+ module Trycourier
2
+ module Models
3
+ type list_pattern_recipient =
4
+ { data: ::Hash[Symbol, top]?, list_pattern: String? }
5
+
6
+ class ListPatternRecipient < Trycourier::Internal::Type::BaseModel
7
+ attr_accessor data: ::Hash[Symbol, top]?
8
+
9
+ attr_accessor list_pattern: String?
10
+
11
+ def initialize: (
12
+ ?data: ::Hash[Symbol, top]?,
13
+ ?list_pattern: String?
14
+ ) -> void
15
+
16
+ def to_hash: -> { data: ::Hash[Symbol, top]?, list_pattern: String? }
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,30 @@
1
+ module Trycourier
2
+ module Models
3
+ type list_recipient =
4
+ {
5
+ data: ::Hash[Symbol, top]?,
6
+ filters: ::Array[Trycourier::ListFilter]?,
7
+ list_id: String?
8
+ }
9
+
10
+ class ListRecipient < Trycourier::Internal::Type::BaseModel
11
+ attr_accessor data: ::Hash[Symbol, top]?
12
+
13
+ attr_accessor filters: ::Array[Trycourier::ListFilter]?
14
+
15
+ attr_accessor list_id: String?
16
+
17
+ def initialize: (
18
+ ?data: ::Hash[Symbol, top]?,
19
+ ?filters: ::Array[Trycourier::ListFilter]?,
20
+ ?list_id: String?
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ data: ::Hash[Symbol, top]?,
25
+ filters: ::Array[Trycourier::ListFilter]?,
26
+ list_id: String?
27
+ }
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,16 @@
1
+ module Trycourier
2
+ module Models
3
+ type ms_teams =
4
+ Trycourier::SendToMsTeamsUserID
5
+ | Trycourier::SendToMsTeamsEmail
6
+ | Trycourier::SendToMsTeamsChannelID
7
+ | Trycourier::SendToMsTeamsConversationID
8
+ | Trycourier::SendToMsTeamsChannelName
9
+
10
+ module MsTeams
11
+ extend Trycourier::Internal::Type::Union
12
+
13
+ def self?.variants: -> ::Array[Trycourier::Models::ms_teams]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ module Trycourier
2
+ module Models
3
+ type ms_teams_base_properties = { service_url: String, tenant_id: String }
4
+
5
+ class MsTeamsBaseProperties < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor service_url: String
7
+
8
+ attr_accessor tenant_id: String
9
+
10
+ def initialize: (service_url: String, tenant_id: String) -> void
11
+
12
+ def to_hash: -> { service_url: String, tenant_id: String }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type ms_teams_recipient = { ms_teams: Trycourier::Models::ms_teams }
4
+
5
+ class MsTeamsRecipient < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor ms_teams: Trycourier::Models::ms_teams
7
+
8
+ def initialize: (ms_teams: Trycourier::Models::ms_teams) -> void
9
+
10
+ def to_hash: -> { ms_teams: Trycourier::Models::ms_teams }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type multiple_tokens = { tokens: ::Array[Trycourier::Token] }
4
+
5
+ class MultipleTokens < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor tokens: ::Array[Trycourier::Token]
7
+
8
+ def initialize: (tokens: ::Array[Trycourier::Token]) -> void
9
+
10
+ def to_hash: -> { tokens: ::Array[Trycourier::Token] }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,64 @@
1
+ module Trycourier
2
+ module Models
3
+ type nested_filter_config =
4
+ {
5
+ operator: Trycourier::Models::NestedFilterConfig::operator,
6
+ rules: ::Array[Trycourier::Models::filter_config]
7
+ }
8
+
9
+ class NestedFilterConfig < Trycourier::Internal::Type::BaseModel
10
+ attr_accessor operator: Trycourier::Models::NestedFilterConfig::operator
11
+
12
+ attr_accessor rules: ::Array[Trycourier::Models::filter_config]
13
+
14
+ def initialize: (
15
+ operator: Trycourier::Models::NestedFilterConfig::operator,
16
+ rules: ::Array[Trycourier::Models::filter_config]
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ operator: Trycourier::Models::NestedFilterConfig::operator,
21
+ rules: ::Array[Trycourier::Models::filter_config]
22
+ }
23
+
24
+ type operator =
25
+ :ENDS_WITH
26
+ | :EQ
27
+ | :EXISTS
28
+ | :GT
29
+ | :GTE
30
+ | :INCLUDES
31
+ | :IS_AFTER
32
+ | :IS_BEFORE
33
+ | :LT
34
+ | :LTE
35
+ | :NEQ
36
+ | :OMIT
37
+ | :STARTS_WITH
38
+ | :AND
39
+ | :OR
40
+
41
+ module Operator
42
+ extend Trycourier::Internal::Type::Enum
43
+
44
+ ENDS_WITH: :ENDS_WITH
45
+ EQ: :EQ
46
+ EXISTS: :EXISTS
47
+ GT: :GT
48
+ GTE: :GTE
49
+ INCLUDES: :INCLUDES
50
+ IS_AFTER: :IS_AFTER
51
+ IS_BEFORE: :IS_BEFORE
52
+ LT: :LT
53
+ LTE: :LTE
54
+ NEQ: :NEQ
55
+ OMIT: :OMIT
56
+ STARTS_WITH: :STARTS_WITH
57
+ AND: :AND
58
+ OR: :OR
59
+
60
+ def self?.values: -> ::Array[Trycourier::Models::NestedFilterConfig::operator]
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,35 @@
1
+ module Trycourier
2
+ module Models
3
+ type pagerduty =
4
+ {
5
+ event_action: String?,
6
+ routing_key: String?,
7
+ severity: String?,
8
+ source: String?
9
+ }
10
+
11
+ class Pagerduty < Trycourier::Internal::Type::BaseModel
12
+ attr_accessor event_action: String?
13
+
14
+ attr_accessor routing_key: String?
15
+
16
+ attr_accessor severity: String?
17
+
18
+ attr_accessor source: String?
19
+
20
+ def initialize: (
21
+ ?event_action: String?,
22
+ ?routing_key: String?,
23
+ ?severity: String?,
24
+ ?source: String?
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ event_action: String?,
29
+ routing_key: String?,
30
+ severity: String?,
31
+ source: String?
32
+ }
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type pagerduty_recipient = { pagerduty: Trycourier::Pagerduty }
4
+
5
+ class PagerdutyRecipient < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor pagerduty: Trycourier::Pagerduty
7
+
8
+ def initialize: (pagerduty: Trycourier::Pagerduty) -> void
9
+
10
+ def to_hash: -> { pagerduty: Trycourier::Pagerduty }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_direct_message = { user_id: String }
4
+
5
+ class SendDirectMessage < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor user_id: String
7
+
8
+ def initialize: (user_id: String) -> void
9
+
10
+ def to_hash: -> { user_id: String }
11
+ end
12
+ end
13
+ end
@@ -194,16 +194,26 @@ module Trycourier
194
194
  def self?.variants: -> ::Array[Trycourier::Models::SendMessageParams::Message::content]
195
195
  end
196
196
 
197
- type delay = { duration: Integer?, until_: String? }
197
+ type delay = { duration: Integer?, timezone: String?, until_: String? }
198
198
 
199
199
  class Delay < Trycourier::Internal::Type::BaseModel
200
200
  attr_accessor duration: Integer?
201
201
 
202
+ attr_accessor timezone: String?
203
+
202
204
  attr_accessor until_: String?
203
205
 
204
- def initialize: (?duration: Integer?, ?until_: String?) -> void
206
+ def initialize: (
207
+ ?duration: Integer?,
208
+ ?timezone: String?,
209
+ ?until_: String?
210
+ ) -> void
205
211
 
206
- def to_hash: -> { duration: Integer?, until_: String? }
212
+ def to_hash: -> {
213
+ duration: Integer?,
214
+ timezone: String?,
215
+ until_: String?
216
+ }
207
217
  end
208
218
 
209
219
  type expiry =
@@ -403,14 +413,20 @@ module Trycourier
403
413
  end
404
414
  end
405
415
 
406
- type to = Trycourier::UserRecipient | ::Array[Trycourier::Recipient]
416
+ type to =
417
+ Trycourier::UserRecipient
418
+ | Trycourier::AudienceRecipient
419
+ | Trycourier::ListRecipient
420
+ | Trycourier::ListPatternRecipient
421
+ | Trycourier::SlackRecipient
422
+ | Trycourier::MsTeamsRecipient
423
+ | Trycourier::PagerdutyRecipient
424
+ | Trycourier::WebhookRecipient
407
425
 
408
426
  module To
409
427
  extend Trycourier::Internal::Type::Union
410
428
 
411
429
  def self?.variants: -> ::Array[Trycourier::Models::SendMessageParams::Message::to]
412
-
413
- RecipientArray: Trycourier::Internal::Type::Converter
414
430
  end
415
431
  end
416
432
  end
@@ -0,0 +1,13 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_channel = { channel_id: String }
4
+
5
+ class SendToChannel < Trycourier::Internal::Type::BaseModel
6
+ attr_accessor channel_id: String
7
+
8
+ def initialize: (channel_id: String) -> void
9
+
10
+ def to_hash: -> { channel_id: String }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,26 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_ms_teams_channel_id =
4
+ { channel_id: String, service_url: String, tenant_id: String }
5
+
6
+ class SendToMsTeamsChannelID < Trycourier::Internal::Type::BaseModel
7
+ attr_accessor channel_id: String
8
+
9
+ attr_accessor service_url: String
10
+
11
+ attr_accessor tenant_id: String
12
+
13
+ def initialize: (
14
+ channel_id: String,
15
+ service_url: String,
16
+ tenant_id: String
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ channel_id: String,
21
+ service_url: String,
22
+ tenant_id: String
23
+ }
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,35 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_ms_teams_channel_name =
4
+ {
5
+ channel_name: String,
6
+ service_url: String,
7
+ team_id: String,
8
+ tenant_id: String
9
+ }
10
+
11
+ class SendToMsTeamsChannelName < Trycourier::Internal::Type::BaseModel
12
+ attr_accessor channel_name: String
13
+
14
+ attr_accessor service_url: String
15
+
16
+ attr_accessor team_id: String
17
+
18
+ attr_accessor tenant_id: String
19
+
20
+ def initialize: (
21
+ channel_name: String,
22
+ service_url: String,
23
+ team_id: String,
24
+ tenant_id: String
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ channel_name: String,
29
+ service_url: String,
30
+ team_id: String,
31
+ tenant_id: String
32
+ }
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,26 @@
1
+ module Trycourier
2
+ module Models
3
+ type send_to_ms_teams_conversation_id =
4
+ { conversation_id: String, service_url: String, tenant_id: String }
5
+
6
+ class SendToMsTeamsConversationID < Trycourier::Internal::Type::BaseModel
7
+ attr_accessor conversation_id: String
8
+
9
+ attr_accessor service_url: String
10
+
11
+ attr_accessor tenant_id: String
12
+
13
+ def initialize: (
14
+ conversation_id: String,
15
+ service_url: String,
16
+ tenant_id: String
17
+ ) -> void
18
+
19
+ def to_hash: -> {
20
+ conversation_id: String,
21
+ service_url: String,
22
+ tenant_id: String
23
+ }
24
+ end
25
+ end
26
+ end