trycourier 6.4.3 → 6.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 (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/courier/models/elemental_channel_node.rb +13 -1
  5. data/lib/courier/models/elemental_node_non_channel.rb +188 -0
  6. data/lib/courier/models/email_footer.rb +114 -7
  7. data/lib/courier/models/notification_template_update_request.rb +6 -3
  8. data/lib/courier/models/users/token_add_single_params.rb +13 -5
  9. data/lib/courier/models/users/token_update_params.rb +30 -4
  10. data/lib/courier/models/users/user_token.rb +13 -5
  11. data/lib/courier/models.rb +2 -0
  12. data/lib/courier/resources/journeys/templates.rb +7 -0
  13. data/lib/courier/resources/notifications.rb +10 -0
  14. data/lib/courier/resources/tenants/templates.rb +10 -0
  15. data/lib/courier/resources/users/tokens.rb +1 -1
  16. data/lib/courier/version.rb +1 -1
  17. data/lib/courier.rb +1 -0
  18. data/rbi/courier/models/elemental_channel_node.rbi +54 -0
  19. data/rbi/courier/models/elemental_node_non_channel.rbi +561 -0
  20. data/rbi/courier/models/email_footer.rbi +229 -7
  21. data/rbi/courier/models/notification_template_update_request.rbi +6 -3
  22. data/rbi/courier/models/users/token_add_single_params.rbi +18 -6
  23. data/rbi/courier/models/users/token_update_params.rbi +59 -7
  24. data/rbi/courier/models/users/user_token.rbi +18 -6
  25. data/rbi/courier/models.rbi +2 -0
  26. data/rbi/courier/resources/journeys/templates.rbi +7 -0
  27. data/rbi/courier/resources/notifications.rbi +10 -0
  28. data/rbi/courier/resources/tenants/templates.rbi +10 -0
  29. data/rbi/courier/resources/users/tokens.rbi +6 -2
  30. data/sig/courier/models/elemental_channel_node.rbs +9 -0
  31. data/sig/courier/models/elemental_node_non_channel.rbs +221 -0
  32. data/sig/courier/models/email_footer.rbs +107 -5
  33. data/sig/courier/models/users/token_update_params.rbs +27 -4
  34. data/sig/courier/models.rbs +2 -0
  35. metadata +5 -2
@@ -0,0 +1,221 @@
1
+ module Courier
2
+ module Models
3
+ type elemental_node_non_channel =
4
+ Courier::ElementalNodeNonChannel::UnionMember0
5
+ | Courier::ElementalNodeNonChannel::UnionMember1
6
+ | Courier::ElementalNodeNonChannel::UnionMember2
7
+ | Courier::ElementalNodeNonChannel::UnionMember3
8
+ | Courier::ElementalNodeNonChannel::UnionMember4
9
+ | Courier::ElementalNodeNonChannel::UnionMember5
10
+ | Courier::ElementalNodeNonChannel::UnionMember6
11
+
12
+ module ElementalNodeNonChannel
13
+ extend Courier::Internal::Type::Union
14
+
15
+ type union_member0 =
16
+ { type: Courier::Models::ElementalNodeNonChannel::UnionMember0::type_ }
17
+
18
+ class UnionMember0 < Courier::Models::ElementalTextNode
19
+ def `type`: -> Courier::Models::ElementalNodeNonChannel::UnionMember0::type_?
20
+
21
+ def type=: (
22
+ Courier::Models::ElementalNodeNonChannel::UnionMember0::type_ _
23
+ ) -> Courier::Models::ElementalNodeNonChannel::UnionMember0::type_
24
+
25
+ def initialize: (
26
+ ?type: Courier::Models::ElementalNodeNonChannel::UnionMember0::type_
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ type: Courier::Models::ElementalNodeNonChannel::UnionMember0::type_
31
+ }
32
+
33
+ type type_ = :text
34
+
35
+ module Type
36
+ extend Courier::Internal::Type::Enum
37
+
38
+ TEXT: :text
39
+
40
+ def self?.values: -> ::Array[Courier::Models::ElementalNodeNonChannel::UnionMember0::type_]
41
+ end
42
+ end
43
+
44
+ type union_member1 =
45
+ { type: Courier::Models::ElementalNodeNonChannel::UnionMember1::type_ }
46
+
47
+ class UnionMember1 < Courier::Models::ElementalMetaNode
48
+ def `type`: -> Courier::Models::ElementalNodeNonChannel::UnionMember1::type_?
49
+
50
+ def type=: (
51
+ Courier::Models::ElementalNodeNonChannel::UnionMember1::type_ _
52
+ ) -> Courier::Models::ElementalNodeNonChannel::UnionMember1::type_
53
+
54
+ def initialize: (
55
+ ?type: Courier::Models::ElementalNodeNonChannel::UnionMember1::type_
56
+ ) -> void
57
+
58
+ def to_hash: -> {
59
+ type: Courier::Models::ElementalNodeNonChannel::UnionMember1::type_
60
+ }
61
+
62
+ type type_ = :meta
63
+
64
+ module Type
65
+ extend Courier::Internal::Type::Enum
66
+
67
+ META: :meta
68
+
69
+ def self?.values: -> ::Array[Courier::Models::ElementalNodeNonChannel::UnionMember1::type_]
70
+ end
71
+ end
72
+
73
+ type union_member2 =
74
+ { type: Courier::Models::ElementalNodeNonChannel::UnionMember2::type_ }
75
+
76
+ class UnionMember2 < Courier::Models::ElementalImageNode
77
+ def `type`: -> Courier::Models::ElementalNodeNonChannel::UnionMember2::type_?
78
+
79
+ def type=: (
80
+ Courier::Models::ElementalNodeNonChannel::UnionMember2::type_ _
81
+ ) -> Courier::Models::ElementalNodeNonChannel::UnionMember2::type_
82
+
83
+ def initialize: (
84
+ ?type: Courier::Models::ElementalNodeNonChannel::UnionMember2::type_
85
+ ) -> void
86
+
87
+ def to_hash: -> {
88
+ type: Courier::Models::ElementalNodeNonChannel::UnionMember2::type_
89
+ }
90
+
91
+ type type_ = :image
92
+
93
+ module Type
94
+ extend Courier::Internal::Type::Enum
95
+
96
+ IMAGE: :image
97
+
98
+ def self?.values: -> ::Array[Courier::Models::ElementalNodeNonChannel::UnionMember2::type_]
99
+ end
100
+ end
101
+
102
+ type union_member3 =
103
+ { type: Courier::Models::ElementalNodeNonChannel::UnionMember3::type_ }
104
+
105
+ class UnionMember3 < Courier::Models::ElementalActionNode
106
+ def `type`: -> Courier::Models::ElementalNodeNonChannel::UnionMember3::type_?
107
+
108
+ def type=: (
109
+ Courier::Models::ElementalNodeNonChannel::UnionMember3::type_ _
110
+ ) -> Courier::Models::ElementalNodeNonChannel::UnionMember3::type_
111
+
112
+ def initialize: (
113
+ ?type: Courier::Models::ElementalNodeNonChannel::UnionMember3::type_
114
+ ) -> void
115
+
116
+ def to_hash: -> {
117
+ type: Courier::Models::ElementalNodeNonChannel::UnionMember3::type_
118
+ }
119
+
120
+ type type_ = :action
121
+
122
+ module Type
123
+ extend Courier::Internal::Type::Enum
124
+
125
+ ACTION: :action
126
+
127
+ def self?.values: -> ::Array[Courier::Models::ElementalNodeNonChannel::UnionMember3::type_]
128
+ end
129
+ end
130
+
131
+ type union_member4 =
132
+ { type: Courier::Models::ElementalNodeNonChannel::UnionMember4::type_ }
133
+
134
+ class UnionMember4 < Courier::Models::ElementalDividerNode
135
+ def `type`: -> Courier::Models::ElementalNodeNonChannel::UnionMember4::type_?
136
+
137
+ def type=: (
138
+ Courier::Models::ElementalNodeNonChannel::UnionMember4::type_ _
139
+ ) -> Courier::Models::ElementalNodeNonChannel::UnionMember4::type_
140
+
141
+ def initialize: (
142
+ ?type: Courier::Models::ElementalNodeNonChannel::UnionMember4::type_
143
+ ) -> void
144
+
145
+ def to_hash: -> {
146
+ type: Courier::Models::ElementalNodeNonChannel::UnionMember4::type_
147
+ }
148
+
149
+ type type_ = :divider
150
+
151
+ module Type
152
+ extend Courier::Internal::Type::Enum
153
+
154
+ DIVIDER: :divider
155
+
156
+ def self?.values: -> ::Array[Courier::Models::ElementalNodeNonChannel::UnionMember4::type_]
157
+ end
158
+ end
159
+
160
+ type union_member5 =
161
+ { type: Courier::Models::ElementalNodeNonChannel::UnionMember5::type_ }
162
+
163
+ class UnionMember5 < Courier::Models::ElementalQuoteNode
164
+ def `type`: -> Courier::Models::ElementalNodeNonChannel::UnionMember5::type_?
165
+
166
+ def type=: (
167
+ Courier::Models::ElementalNodeNonChannel::UnionMember5::type_ _
168
+ ) -> Courier::Models::ElementalNodeNonChannel::UnionMember5::type_
169
+
170
+ def initialize: (
171
+ ?type: Courier::Models::ElementalNodeNonChannel::UnionMember5::type_
172
+ ) -> void
173
+
174
+ def to_hash: -> {
175
+ type: Courier::Models::ElementalNodeNonChannel::UnionMember5::type_
176
+ }
177
+
178
+ type type_ = :quote
179
+
180
+ module Type
181
+ extend Courier::Internal::Type::Enum
182
+
183
+ QUOTE: :quote
184
+
185
+ def self?.values: -> ::Array[Courier::Models::ElementalNodeNonChannel::UnionMember5::type_]
186
+ end
187
+ end
188
+
189
+ type union_member6 =
190
+ { type: Courier::Models::ElementalNodeNonChannel::UnionMember6::type_ }
191
+
192
+ class UnionMember6 < Courier::Models::ElementalHTMLNode
193
+ def `type`: -> Courier::Models::ElementalNodeNonChannel::UnionMember6::type_?
194
+
195
+ def type=: (
196
+ Courier::Models::ElementalNodeNonChannel::UnionMember6::type_ _
197
+ ) -> Courier::Models::ElementalNodeNonChannel::UnionMember6::type_
198
+
199
+ def initialize: (
200
+ ?type: Courier::Models::ElementalNodeNonChannel::UnionMember6::type_
201
+ ) -> void
202
+
203
+ def to_hash: -> {
204
+ type: Courier::Models::ElementalNodeNonChannel::UnionMember6::type_
205
+ }
206
+
207
+ type type_ = :html
208
+
209
+ module Type
210
+ extend Courier::Internal::Type::Enum
211
+
212
+ HTML: :html
213
+
214
+ def self?.values: -> ::Array[Courier::Models::ElementalNodeNonChannel::UnionMember6::type_]
215
+ end
216
+ end
217
+
218
+ def self?.variants: -> ::Array[Courier::Models::elemental_node_non_channel]
219
+ end
220
+ end
221
+ end
@@ -1,15 +1,117 @@
1
1
  module Courier
2
2
  module Models
3
- type email_footer = { content: String?, inherit_default: bool? }
3
+ type email_footer =
4
+ {
5
+ inherit_default: bool?,
6
+ markdown: String?,
7
+ social: Courier::EmailFooter::Social?
8
+ }
4
9
 
5
10
  class EmailFooter < Courier::Internal::Type::BaseModel
6
- attr_accessor content: String?
7
-
8
11
  attr_accessor inherit_default: bool?
9
12
 
10
- def initialize: (?content: String?, ?inherit_default: bool?) -> void
13
+ attr_accessor markdown: String?
14
+
15
+ attr_accessor social: Courier::EmailFooter::Social?
16
+
17
+ def initialize: (
18
+ ?inherit_default: bool?,
19
+ ?markdown: String?,
20
+ ?social: Courier::EmailFooter::Social?
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ inherit_default: bool?,
25
+ markdown: String?,
26
+ social: Courier::EmailFooter::Social?
27
+ }
28
+
29
+ type social =
30
+ {
31
+ facebook: Courier::EmailFooter::Social::Facebook?,
32
+ instagram: Courier::EmailFooter::Social::Instagram?,
33
+ linkedin: Courier::EmailFooter::Social::Linkedin?,
34
+ medium: Courier::EmailFooter::Social::Medium?,
35
+ twitter: Courier::EmailFooter::Social::Twitter?
36
+ }
37
+
38
+ class Social < Courier::Internal::Type::BaseModel
39
+ attr_accessor facebook: Courier::EmailFooter::Social::Facebook?
40
+
41
+ attr_accessor instagram: Courier::EmailFooter::Social::Instagram?
42
+
43
+ attr_accessor linkedin: Courier::EmailFooter::Social::Linkedin?
44
+
45
+ attr_accessor medium: Courier::EmailFooter::Social::Medium?
46
+
47
+ attr_accessor twitter: Courier::EmailFooter::Social::Twitter?
48
+
49
+ def initialize: (
50
+ ?facebook: Courier::EmailFooter::Social::Facebook?,
51
+ ?instagram: Courier::EmailFooter::Social::Instagram?,
52
+ ?linkedin: Courier::EmailFooter::Social::Linkedin?,
53
+ ?medium: Courier::EmailFooter::Social::Medium?,
54
+ ?twitter: Courier::EmailFooter::Social::Twitter?
55
+ ) -> void
56
+
57
+ def to_hash: -> {
58
+ facebook: Courier::EmailFooter::Social::Facebook?,
59
+ instagram: Courier::EmailFooter::Social::Instagram?,
60
+ linkedin: Courier::EmailFooter::Social::Linkedin?,
61
+ medium: Courier::EmailFooter::Social::Medium?,
62
+ twitter: Courier::EmailFooter::Social::Twitter?
63
+ }
64
+
65
+ type facebook = { url: String? }
66
+
67
+ class Facebook < Courier::Internal::Type::BaseModel
68
+ attr_accessor url: String?
69
+
70
+ def initialize: (?url: String?) -> void
71
+
72
+ def to_hash: -> { url: String? }
73
+ end
74
+
75
+ type instagram = { url: String? }
76
+
77
+ class Instagram < Courier::Internal::Type::BaseModel
78
+ attr_accessor url: String?
79
+
80
+ def initialize: (?url: String?) -> void
81
+
82
+ def to_hash: -> { url: String? }
83
+ end
84
+
85
+ type linkedin = { url: String? }
86
+
87
+ class Linkedin < Courier::Internal::Type::BaseModel
88
+ attr_accessor url: String?
89
+
90
+ def initialize: (?url: String?) -> void
91
+
92
+ def to_hash: -> { url: String? }
93
+ end
94
+
95
+ type medium = { url: String? }
96
+
97
+ class Medium < Courier::Internal::Type::BaseModel
98
+ attr_accessor url: String?
99
+
100
+ def initialize: (?url: String?) -> void
101
+
102
+ def to_hash: -> { url: String? }
103
+ end
104
+
105
+ type twitter = { url: String? }
106
+
107
+ class Twitter < Courier::Internal::Type::BaseModel
108
+ attr_accessor url: String?
109
+
110
+ def initialize: (?url: String?) -> void
11
111
 
12
- def to_hash: -> { content: String?, inherit_default: bool? }
112
+ def to_hash: -> { url: String? }
113
+ end
114
+ end
13
115
  end
14
116
  end
15
117
  end
@@ -33,18 +33,41 @@ module Courier
33
33
  request_options: Courier::RequestOptions
34
34
  }
35
35
 
36
- type patch = { op: String, path: String, value: String? }
36
+ type patch =
37
+ {
38
+ op: String,
39
+ path: String,
40
+ value: Courier::Models::Users::TokenUpdateParams::Patch::value?
41
+ }
37
42
 
38
43
  class Patch < Courier::Internal::Type::BaseModel
39
44
  attr_accessor op: String
40
45
 
41
46
  attr_accessor path: String
42
47
 
43
- attr_accessor value: String?
48
+ attr_accessor value: Courier::Models::Users::TokenUpdateParams::Patch::value?
44
49
 
45
- def initialize: (op: String, path: String, ?value: String?) -> void
50
+ def initialize: (
51
+ op: String,
52
+ path: String,
53
+ ?value: Courier::Models::Users::TokenUpdateParams::Patch::value?
54
+ ) -> void
46
55
 
47
- def to_hash: -> { op: String, path: String, value: String? }
56
+ def to_hash: -> {
57
+ op: String,
58
+ path: String,
59
+ value: Courier::Models::Users::TokenUpdateParams::Patch::value?
60
+ }
61
+
62
+ type value = String | bool | ::Hash[Symbol, top]
63
+
64
+ module Value
65
+ extend Courier::Internal::Type::Union
66
+
67
+ def self?.variants: -> ::Array[Courier::Models::Users::TokenUpdateParams::Patch::value]
68
+
69
+ UnionMember2Map: Courier::Internal::Type::Converter
70
+ end
48
71
  end
49
72
  end
50
73
  end
@@ -187,6 +187,8 @@ module Courier
187
187
 
188
188
  module ElementalNode = Courier::Models::ElementalNode
189
189
 
190
+ module ElementalNodeNonChannel = Courier::Models::ElementalNodeNonChannel
191
+
190
192
  class ElementalQuoteNode = Courier::Models::ElementalQuoteNode
191
193
 
192
194
  class ElementalQuoteNodeWithType = Courier::Models::ElementalQuoteNodeWithType
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trycourier
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.4.3
4
+ version: 6.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Courier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-29 00:00:00.000000000 Z
11
+ date: 2026-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi
@@ -177,6 +177,7 @@ files:
177
177
  - lib/courier/models/elemental_meta_node.rb
178
178
  - lib/courier/models/elemental_meta_node_with_type.rb
179
179
  - lib/courier/models/elemental_node.rb
180
+ - lib/courier/models/elemental_node_non_channel.rb
180
181
  - lib/courier/models/elemental_quote_node.rb
181
182
  - lib/courier/models/elemental_quote_node_with_type.rb
182
183
  - lib/courier/models/elemental_text_node.rb
@@ -663,6 +664,7 @@ files:
663
664
  - rbi/courier/models/elemental_meta_node.rbi
664
665
  - rbi/courier/models/elemental_meta_node_with_type.rbi
665
666
  - rbi/courier/models/elemental_node.rbi
667
+ - rbi/courier/models/elemental_node_non_channel.rbi
666
668
  - rbi/courier/models/elemental_quote_node.rbi
667
669
  - rbi/courier/models/elemental_quote_node_with_type.rbi
668
670
  - rbi/courier/models/elemental_text_node.rbi
@@ -1148,6 +1150,7 @@ files:
1148
1150
  - sig/courier/models/elemental_meta_node.rbs
1149
1151
  - sig/courier/models/elemental_meta_node_with_type.rbs
1150
1152
  - sig/courier/models/elemental_node.rbs
1153
+ - sig/courier/models/elemental_node_non_channel.rbs
1151
1154
  - sig/courier/models/elemental_quote_node.rbs
1152
1155
  - sig/courier/models/elemental_quote_node_with_type.rbs
1153
1156
  - sig/courier/models/elemental_text_node.rbs