mailslurp_client 17.3.0 → 17.4.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 (107) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mailslurp_client/api/attachment_controller_api.rb +5 -5
  3. data/lib/mailslurp_client/api/email_controller_api.rb +2 -2
  4. data/lib/mailslurp_client/api/email_verification_controller_api.rb +64 -0
  5. data/lib/mailslurp_client/api/inbox_controller_api.rb +229 -0
  6. data/lib/mailslurp_client/api/phone_controller_api.rb +334 -0
  7. data/lib/mailslurp_client/models/abstract_webhook_payload.rb +13 -13
  8. data/lib/mailslurp_client/models/alias_projection.rb +29 -29
  9. data/lib/mailslurp_client/models/alias_thread_projection.rb +16 -16
  10. data/lib/mailslurp_client/models/attachment_projection.rb +29 -29
  11. data/lib/mailslurp_client/models/bounce_recipient_projection.rb +15 -15
  12. data/lib/mailslurp_client/models/connector_event_projection.rb +30 -30
  13. data/lib/mailslurp_client/models/connector_projection.rb +10 -10
  14. data/lib/mailslurp_client/models/contact_projection.rb +15 -15
  15. data/lib/mailslurp_client/models/create_inbox_forwarder_options.rb +58 -29
  16. data/lib/mailslurp_client/models/create_inbox_replier_options.rb +39 -33
  17. data/lib/mailslurp_client/models/create_phone_number_options.rb +37 -4
  18. data/lib/mailslurp_client/models/email_intelligence_list_result.rb +285 -0
  19. data/lib/mailslurp_client/models/email_intelligence_options.rb +308 -0
  20. data/lib/mailslurp_client/models/email_intelligence_result_dto.rb +256 -0
  21. data/lib/mailslurp_client/models/email_intelligence_score_breakdown_dto.rb +296 -0
  22. data/lib/mailslurp_client/models/email_intelligence_signals_dto.rb +352 -0
  23. data/lib/mailslurp_client/models/email_intelligence_tests_options.rb +253 -0
  24. data/lib/mailslurp_client/models/email_thread_projection.rb +16 -16
  25. data/lib/mailslurp_client/models/entity_favourite_item_projection.rb +13 -13
  26. data/lib/mailslurp_client/models/expired_inbox_record_projection.rb +15 -15
  27. data/lib/mailslurp_client/models/extract_attachment_text_options.rb +1 -1
  28. data/lib/mailslurp_client/models/extract_attachment_text_result.rb +1 -1
  29. data/lib/mailslurp_client/models/group_projection.rb +14 -14
  30. data/lib/mailslurp_client/models/guest_portal_user_projection.rb +24 -24
  31. data/lib/mailslurp_client/models/import_email_options.rb +269 -0
  32. data/lib/mailslurp_client/models/inbox_automation_match_option.rb +308 -0
  33. data/lib/mailslurp_client/models/inbox_automation_match_options.rb +273 -0
  34. data/lib/mailslurp_client/models/inbox_forwarder_dto.rb +65 -17
  35. data/lib/mailslurp_client/models/inbox_forwarder_event_projection.rb +16 -16
  36. data/lib/mailslurp_client/models/inbox_forwarder_test_options.rb +17 -9
  37. data/lib/mailslurp_client/models/inbox_replier_dto.rb +41 -16
  38. data/lib/mailslurp_client/models/inbox_replier_event_projection.rb +16 -16
  39. data/lib/mailslurp_client/models/inline_object.rb +12 -58
  40. data/lib/mailslurp_client/models/inline_object1.rb +58 -12
  41. data/lib/mailslurp_client/models/inline_object2.rb +211 -0
  42. data/lib/mailslurp_client/models/opt_in_identity_projection.rb +18 -18
  43. data/lib/mailslurp_client/models/page_ai_transform_mapping_projection.rb +24 -24
  44. data/lib/mailslurp_client/models/page_ai_transform_projection.rb +24 -24
  45. data/lib/mailslurp_client/models/page_ai_transform_result_projection.rb +24 -24
  46. data/lib/mailslurp_client/models/page_alias.rb +24 -24
  47. data/lib/mailslurp_client/models/page_alias_thread_projection.rb +24 -24
  48. data/lib/mailslurp_client/models/page_attachment_entity.rb +24 -24
  49. data/lib/mailslurp_client/models/page_bounced_email.rb +24 -24
  50. data/lib/mailslurp_client/models/page_bounced_recipients.rb +24 -24
  51. data/lib/mailslurp_client/models/page_complaint.rb +24 -24
  52. data/lib/mailslurp_client/models/page_connector.rb +24 -24
  53. data/lib/mailslurp_client/models/page_connector_events.rb +24 -24
  54. data/lib/mailslurp_client/models/page_contact_projection.rb +24 -24
  55. data/lib/mailslurp_client/models/page_delivery_status.rb +24 -24
  56. data/lib/mailslurp_client/models/page_device_preview_run_projection.rb +24 -24
  57. data/lib/mailslurp_client/models/page_email_preview.rb +24 -24
  58. data/lib/mailslurp_client/models/page_email_projection.rb +24 -24
  59. data/lib/mailslurp_client/models/page_email_thread_projection.rb +24 -24
  60. data/lib/mailslurp_client/models/page_email_validation_request.rb +24 -24
  61. data/lib/mailslurp_client/models/page_entity_automation_items.rb +24 -24
  62. data/lib/mailslurp_client/models/page_entity_event_items.rb +24 -24
  63. data/lib/mailslurp_client/models/page_entity_favourite_items.rb +24 -24
  64. data/lib/mailslurp_client/models/page_expired_inbox_record_projection.rb +24 -24
  65. data/lib/mailslurp_client/models/page_group_projection.rb +24 -24
  66. data/lib/mailslurp_client/models/page_guest_portal_users.rb +24 -24
  67. data/lib/mailslurp_client/models/page_inbox_forwarder_dto.rb +24 -24
  68. data/lib/mailslurp_client/models/page_inbox_forwarder_events.rb +24 -24
  69. data/lib/mailslurp_client/models/page_inbox_projection.rb +24 -24
  70. data/lib/mailslurp_client/models/page_inbox_replier_dto.rb +24 -24
  71. data/lib/mailslurp_client/models/page_inbox_replier_events.rb +24 -24
  72. data/lib/mailslurp_client/models/page_inbox_tags.rb +24 -24
  73. data/lib/mailslurp_client/models/page_list_unsubscribe_recipients.rb +24 -24
  74. data/lib/mailslurp_client/models/page_missed_email_projection.rb +24 -24
  75. data/lib/mailslurp_client/models/page_missed_sms_projection.rb +24 -24
  76. data/lib/mailslurp_client/models/page_opt_in_identity_projection.rb +24 -24
  77. data/lib/mailslurp_client/models/page_organization_inbox_projection.rb +24 -24
  78. data/lib/mailslurp_client/models/page_phone_message_thread_item_projection.rb +24 -24
  79. data/lib/mailslurp_client/models/page_phone_message_thread_projection.rb +24 -24
  80. data/lib/mailslurp_client/models/page_phone_number_projection.rb +24 -24
  81. data/lib/mailslurp_client/models/page_phone_number_release_projection.rb +24 -24
  82. data/lib/mailslurp_client/models/page_plus_address_projection.rb +24 -24
  83. data/lib/mailslurp_client/models/page_reputation_items.rb +24 -24
  84. data/lib/mailslurp_client/models/page_ruleset_dto.rb +24 -24
  85. data/lib/mailslurp_client/models/page_scheduled_jobs.rb +24 -24
  86. data/lib/mailslurp_client/models/page_sent_email_projection.rb +24 -24
  87. data/lib/mailslurp_client/models/page_sent_email_with_queue_projection.rb +24 -24
  88. data/lib/mailslurp_client/models/page_sent_sms_projection.rb +24 -24
  89. data/lib/mailslurp_client/models/page_sms_projection.rb +24 -24
  90. data/lib/mailslurp_client/models/page_template_projection.rb +24 -24
  91. data/lib/mailslurp_client/models/page_tracking_pixel_projection.rb +24 -24
  92. data/lib/mailslurp_client/models/page_unknown_missed_email_projection.rb +24 -24
  93. data/lib/mailslurp_client/models/page_webhook_endpoint_projection.rb +24 -24
  94. data/lib/mailslurp_client/models/page_webhook_projection.rb +24 -24
  95. data/lib/mailslurp_client/models/page_webhook_result.rb +24 -24
  96. data/lib/mailslurp_client/models/pageable_object.rb +13 -13
  97. data/lib/mailslurp_client/models/phone_message_thread_item_projection.rb +15 -15
  98. data/lib/mailslurp_client/models/phone_number_dto.rb +17 -1
  99. data/lib/mailslurp_client/models/phone_number_tags_options.rb +213 -0
  100. data/lib/mailslurp_client/models/plus_address_projection.rb +15 -15
  101. data/lib/mailslurp_client/models/reputation_item_projection.rb +13 -13
  102. data/lib/mailslurp_client/models/template_projection.rb +15 -15
  103. data/lib/mailslurp_client/models/update_inbox_replier_options.rb +39 -33
  104. data/lib/mailslurp_client/models/webhook_projection.rb +15 -15
  105. data/lib/mailslurp_client/version.rb +1 -1
  106. data/lib/mailslurp_client.rb +11 -0
  107. metadata +13 -2
@@ -0,0 +1,273 @@
1
+ =begin
2
+ #MailSlurp API
3
+
4
+ #MailSlurp is an API for sending and receiving emails and SMS from dynamically allocated email addresses and phone numbers. It's designed for developers and QA teams to test applications, process inbound emails, send templated notifications, attachments, and more. ## Resources - [Homepage](https://www.mailslurp.com) - Get an [API KEY](https://app.mailslurp.com/sign-up/) - Generated [SDK Clients](https://docs.mailslurp.com/) - [Examples](https://github.com/mailslurp/examples) repository
5
+
6
+ The version of the OpenAPI document: 6.5.2
7
+ Contact: contact@mailslurp.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module MailSlurpClient
16
+ # Nested AND/OR match tree for inbox forwarders and repliers.
17
+ class InboxAutomationMatchOptions
18
+ # Boolean operator used to combine inbox automation match rules.
19
+ attr_accessor :operator
20
+
21
+ # Leaf match rules in this group.
22
+ attr_accessor :matches
23
+
24
+ # Nested child groups.
25
+ attr_accessor :groups
26
+
27
+ class EnumAttributeValidator
28
+ attr_reader :datatype
29
+ attr_reader :allowable_values
30
+
31
+ def initialize(datatype, allowable_values)
32
+ @allowable_values = allowable_values.map do |value|
33
+ case datatype.to_s
34
+ when /Integer/i
35
+ value.to_i
36
+ when /Float/i
37
+ value.to_f
38
+ else
39
+ value
40
+ end
41
+ end
42
+ end
43
+
44
+ def valid?(value)
45
+ !value || allowable_values.include?(value)
46
+ end
47
+ end
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'operator' => :'operator',
53
+ :'matches' => :'matches',
54
+ :'groups' => :'groups'
55
+ }
56
+ end
57
+
58
+ # Attribute type mapping.
59
+ def self.openapi_types
60
+ {
61
+ :'operator' => :'String',
62
+ :'matches' => :'Array<InboxAutomationMatchOption>',
63
+ :'groups' => :'Array<InboxAutomationMatchOptions>'
64
+ }
65
+ end
66
+
67
+ # List of attributes with nullable: true
68
+ def self.openapi_nullable
69
+ Set.new([
70
+ :'matches',
71
+ :'groups'
72
+ ])
73
+ end
74
+
75
+ # Initializes the object
76
+ # @param [Hash] attributes Model attributes in the form of hash
77
+ def initialize(attributes = {})
78
+ if (!attributes.is_a?(Hash))
79
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::InboxAutomationMatchOptions` initialize method"
80
+ end
81
+
82
+ # check to see if the attribute exists and convert string to symbol for hash key
83
+ attributes = attributes.each_with_object({}) { |(k, v), h|
84
+ if (!self.class.attribute_map.key?(k.to_sym))
85
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::InboxAutomationMatchOptions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
86
+ end
87
+ h[k.to_sym] = v
88
+ }
89
+
90
+ if attributes.key?(:'operator')
91
+ self.operator = attributes[:'operator']
92
+ end
93
+
94
+ if attributes.key?(:'matches')
95
+ if (value = attributes[:'matches']).is_a?(Array)
96
+ self.matches = value
97
+ end
98
+ end
99
+
100
+ if attributes.key?(:'groups')
101
+ if (value = attributes[:'groups']).is_a?(Array)
102
+ self.groups = value
103
+ end
104
+ end
105
+ end
106
+
107
+ # Show invalid properties with the reasons. Usually used together with valid?
108
+ # @return Array for valid properties with the reasons
109
+ def list_invalid_properties
110
+ invalid_properties = Array.new
111
+ if @operator.nil?
112
+ invalid_properties.push('invalid value for "operator", operator cannot be nil.')
113
+ end
114
+
115
+ invalid_properties
116
+ end
117
+
118
+ # Check to see if the all the properties in the model are valid
119
+ # @return true if the model is valid
120
+ def valid?
121
+ return false if @operator.nil?
122
+ operator_validator = EnumAttributeValidator.new('String', ["AND", "OR"])
123
+ return false unless operator_validator.valid?(@operator)
124
+ true
125
+ end
126
+
127
+ # Custom attribute writer method checking allowed values (enum).
128
+ # @param [Object] operator Object to be assigned
129
+ def operator=(operator)
130
+ validator = EnumAttributeValidator.new('String', ["AND", "OR"])
131
+ unless validator.valid?(operator)
132
+ fail ArgumentError, "invalid value for \"operator\", must be one of #{validator.allowable_values}."
133
+ end
134
+ @operator = operator
135
+ end
136
+
137
+ # Checks equality by comparing each attribute.
138
+ # @param [Object] Object to be compared
139
+ def ==(o)
140
+ return true if self.equal?(o)
141
+ self.class == o.class &&
142
+ operator == o.operator &&
143
+ matches == o.matches &&
144
+ groups == o.groups
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Integer] Hash code
155
+ def hash
156
+ [operator, matches, groups].hash
157
+ end
158
+
159
+ # Builds the object from hash
160
+ # @param [Hash] attributes Model attributes in the form of hash
161
+ # @return [Object] Returns the model itself
162
+ def self.build_from_hash(attributes)
163
+ new.build_from_hash(attributes)
164
+ end
165
+
166
+ # Builds the object from hash
167
+ # @param [Hash] attributes Model attributes in the form of hash
168
+ # @return [Object] Returns the model itself
169
+ def build_from_hash(attributes)
170
+ return nil unless attributes.is_a?(Hash)
171
+ self.class.openapi_types.each_pair do |key, type|
172
+ if type =~ /\AArray<(.*)>/i
173
+ # check to ensure the input is an array given that the attribute
174
+ # is documented as an array but the input is not
175
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
176
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
177
+ end
178
+ elsif !attributes[self.class.attribute_map[key]].nil?
179
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
180
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
181
+ end
182
+
183
+ self
184
+ end
185
+
186
+ # Deserializes the data based on type
187
+ # @param string type Data type
188
+ # @param string value Value to be deserialized
189
+ # @return [Object] Deserialized data
190
+ def _deserialize(type, value)
191
+ case type.to_sym
192
+ when :DateTime
193
+ DateTime.parse(value)
194
+ when :Date
195
+ Date.parse(value)
196
+ when :String
197
+ value.to_s
198
+ when :Integer
199
+ value.to_i
200
+ when :Float
201
+ value.to_f
202
+ when :Boolean
203
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
204
+ true
205
+ else
206
+ false
207
+ end
208
+ when :Object
209
+ # generic object (usually a Hash), return directly
210
+ value
211
+ when /\AArray<(?<inner_type>.+)>\z/
212
+ inner_type = Regexp.last_match[:inner_type]
213
+ value.map { |v| _deserialize(inner_type, v) }
214
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
215
+ k_type = Regexp.last_match[:k_type]
216
+ v_type = Regexp.last_match[:v_type]
217
+ {}.tap do |hash|
218
+ value.each do |k, v|
219
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
220
+ end
221
+ end
222
+ else # model
223
+ MailSlurpClient.const_get(type).build_from_hash(value)
224
+ end
225
+ end
226
+
227
+ # Returns the string representation of the object
228
+ # @return [String] String presentation of the object
229
+ def to_s
230
+ to_hash.to_s
231
+ end
232
+
233
+ # to_body is an alias to to_hash (backward compatibility)
234
+ # @return [Hash] Returns the object in the form of hash
235
+ def to_body
236
+ to_hash
237
+ end
238
+
239
+ # Returns the object in the form of hash
240
+ # @return [Hash] Returns the object in the form of hash
241
+ def to_hash
242
+ hash = {}
243
+ self.class.attribute_map.each_pair do |attr, param|
244
+ value = self.send(attr)
245
+ if value.nil?
246
+ is_nullable = self.class.openapi_nullable.include?(attr)
247
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
248
+ end
249
+
250
+ hash[param] = _to_hash(value)
251
+ end
252
+ hash
253
+ end
254
+
255
+ # Outputs non-array value in the form of hash
256
+ # For object, use to_hash. Otherwise, just return the value
257
+ # @param [Object] value Any valid value
258
+ # @return [Hash] Returns the value in the form of hash
259
+ def _to_hash(value)
260
+ if value.is_a?(Array)
261
+ value.compact.map { |v| _to_hash(v) }
262
+ elsif value.is_a?(Hash)
263
+ {}.tap do |hash|
264
+ value.each { |k, v| hash[k] = _to_hash(v) }
265
+ end
266
+ elsif value.respond_to? :to_hash
267
+ value.to_hash
268
+ else
269
+ value
270
+ end
271
+ end
272
+ end
273
+ end
@@ -25,7 +25,7 @@ module MailSlurpClient
25
25
  # Which field to match against
26
26
  attr_accessor :field
27
27
 
28
- # Wild-card type pattern to apply to field
28
+ # Pattern to apply to field
29
29
  attr_accessor :match
30
30
 
31
31
  # Who to send forwarded email to
@@ -33,6 +33,14 @@ module MailSlurpClient
33
33
 
34
34
  attr_accessor :created_at
35
35
 
36
+ # Comparison mode for inbox automation matching.
37
+ attr_accessor :should
38
+
39
+ attr_accessor :match_options
40
+
41
+ # Method for extracting text from attachments.
42
+ attr_accessor :attachment_text_extraction_method
43
+
36
44
  class EnumAttributeValidator
37
45
  attr_reader :datatype
38
46
  attr_reader :allowable_values
@@ -64,7 +72,10 @@ module MailSlurpClient
64
72
  :'field' => :'field',
65
73
  :'match' => :'match',
66
74
  :'forward_to_recipients' => :'forwardToRecipients',
67
- :'created_at' => :'createdAt'
75
+ :'created_at' => :'createdAt',
76
+ :'should' => :'should',
77
+ :'match_options' => :'matchOptions',
78
+ :'attachment_text_extraction_method' => :'attachmentTextExtractionMethod'
68
79
  }
69
80
  end
70
81
 
@@ -77,7 +88,10 @@ module MailSlurpClient
77
88
  :'field' => :'String',
78
89
  :'match' => :'String',
79
90
  :'forward_to_recipients' => :'Array<String>',
80
- :'created_at' => :'DateTime'
91
+ :'created_at' => :'DateTime',
92
+ :'should' => :'String',
93
+ :'match_options' => :'InboxAutomationMatchOptions',
94
+ :'attachment_text_extraction_method' => :'String'
81
95
  }
82
96
  end
83
97
 
@@ -86,6 +100,11 @@ module MailSlurpClient
86
100
  Set.new([
87
101
  :'inbox_id',
88
102
  :'name',
103
+ :'field',
104
+ :'match',
105
+ :'should',
106
+ :'match_options',
107
+ :'attachment_text_extraction_method'
89
108
  ])
90
109
  end
91
110
 
@@ -133,6 +152,18 @@ module MailSlurpClient
133
152
  if attributes.key?(:'created_at')
134
153
  self.created_at = attributes[:'created_at']
135
154
  end
155
+
156
+ if attributes.key?(:'should')
157
+ self.should = attributes[:'should']
158
+ end
159
+
160
+ if attributes.key?(:'match_options')
161
+ self.match_options = attributes[:'match_options']
162
+ end
163
+
164
+ if attributes.key?(:'attachment_text_extraction_method')
165
+ self.attachment_text_extraction_method = attributes[:'attachment_text_extraction_method']
166
+ end
136
167
  end
137
168
 
138
169
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -143,14 +174,6 @@ module MailSlurpClient
143
174
  invalid_properties.push('invalid value for "id", id cannot be nil.')
144
175
  end
145
176
 
146
- if @field.nil?
147
- invalid_properties.push('invalid value for "field", field cannot be nil.')
148
- end
149
-
150
- if @match.nil?
151
- invalid_properties.push('invalid value for "match", match cannot be nil.')
152
- end
153
-
154
177
  if @forward_to_recipients.nil?
155
178
  invalid_properties.push('invalid value for "forward_to_recipients", forward_to_recipients cannot be nil.')
156
179
  end
@@ -166,25 +189,47 @@ module MailSlurpClient
166
189
  # @return true if the model is valid
167
190
  def valid?
168
191
  return false if @id.nil?
169
- return false if @field.nil?
170
- field_validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS"])
192
+ field_validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS", "ATTACHMENT_FILENAME", "ATTACHMENT_TEXT"])
171
193
  return false unless field_validator.valid?(@field)
172
- return false if @match.nil?
173
194
  return false if @forward_to_recipients.nil?
174
195
  return false if @created_at.nil?
196
+ should_validator = EnumAttributeValidator.new('String', ["WILDCARD", "MATCH", "CONTAIN", "EQUAL"])
197
+ return false unless should_validator.valid?(@should)
198
+ attachment_text_extraction_method_validator = EnumAttributeValidator.new('String', ["AUTO", "NATIVE", "OCR", "LLM", "OCR_THEN_LLM"])
199
+ return false unless attachment_text_extraction_method_validator.valid?(@attachment_text_extraction_method)
175
200
  true
176
201
  end
177
202
 
178
203
  # Custom attribute writer method checking allowed values (enum).
179
204
  # @param [Object] field Object to be assigned
180
205
  def field=(field)
181
- validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS"])
206
+ validator = EnumAttributeValidator.new('String', ["RECIPIENTS", "SENDER", "SUBJECT", "ATTACHMENTS", "ATTACHMENT_FILENAME", "ATTACHMENT_TEXT"])
182
207
  unless validator.valid?(field)
183
208
  fail ArgumentError, "invalid value for \"field\", must be one of #{validator.allowable_values}."
184
209
  end
185
210
  @field = field
186
211
  end
187
212
 
213
+ # Custom attribute writer method checking allowed values (enum).
214
+ # @param [Object] should Object to be assigned
215
+ def should=(should)
216
+ validator = EnumAttributeValidator.new('String', ["WILDCARD", "MATCH", "CONTAIN", "EQUAL"])
217
+ unless validator.valid?(should)
218
+ fail ArgumentError, "invalid value for \"should\", must be one of #{validator.allowable_values}."
219
+ end
220
+ @should = should
221
+ end
222
+
223
+ # Custom attribute writer method checking allowed values (enum).
224
+ # @param [Object] attachment_text_extraction_method Object to be assigned
225
+ def attachment_text_extraction_method=(attachment_text_extraction_method)
226
+ validator = EnumAttributeValidator.new('String', ["AUTO", "NATIVE", "OCR", "LLM", "OCR_THEN_LLM"])
227
+ unless validator.valid?(attachment_text_extraction_method)
228
+ fail ArgumentError, "invalid value for \"attachment_text_extraction_method\", must be one of #{validator.allowable_values}."
229
+ end
230
+ @attachment_text_extraction_method = attachment_text_extraction_method
231
+ end
232
+
188
233
  # Checks equality by comparing each attribute.
189
234
  # @param [Object] Object to be compared
190
235
  def ==(o)
@@ -196,7 +241,10 @@ module MailSlurpClient
196
241
  field == o.field &&
197
242
  match == o.match &&
198
243
  forward_to_recipients == o.forward_to_recipients &&
199
- created_at == o.created_at
244
+ created_at == o.created_at &&
245
+ should == o.should &&
246
+ match_options == o.match_options &&
247
+ attachment_text_extraction_method == o.attachment_text_extraction_method
200
248
  end
201
249
 
202
250
  # @see the `==` method
@@ -208,7 +256,7 @@ module MailSlurpClient
208
256
  # Calculates hash code according to all attributes.
209
257
  # @return [Integer] Hash code
210
258
  def hash
211
- [id, inbox_id, name, field, match, forward_to_recipients, created_at].hash
259
+ [id, inbox_id, name, field, match, forward_to_recipients, created_at, should, match_options, attachment_text_extraction_method].hash
212
260
  end
213
261
 
214
262
  # Builds the object from hash
@@ -19,6 +19,8 @@ module MailSlurpClient
19
19
 
20
20
  attr_accessor :id
21
21
 
22
+ attr_accessor :status
23
+
22
24
  attr_accessor :user_id
23
25
 
24
26
  attr_accessor :email_id
@@ -31,8 +33,6 @@ module MailSlurpClient
31
33
 
32
34
  attr_accessor :forwarder_id
33
35
 
34
- attr_accessor :status
35
-
36
36
  class EnumAttributeValidator
37
37
  attr_reader :datatype
38
38
  attr_reader :allowable_values
@@ -60,13 +60,13 @@ module MailSlurpClient
60
60
  {
61
61
  :'message' => :'message',
62
62
  :'id' => :'id',
63
+ :'status' => :'status',
63
64
  :'user_id' => :'userId',
64
65
  :'email_id' => :'emailId',
65
66
  :'inbox_id' => :'inboxId',
66
67
  :'created_at' => :'createdAt',
67
68
  :'sent_id' => :'sentId',
68
- :'forwarder_id' => :'forwarderId',
69
- :'status' => :'status'
69
+ :'forwarder_id' => :'forwarderId'
70
70
  }
71
71
  end
72
72
 
@@ -75,13 +75,13 @@ module MailSlurpClient
75
75
  {
76
76
  :'message' => :'String',
77
77
  :'id' => :'String',
78
+ :'status' => :'String',
78
79
  :'user_id' => :'String',
79
80
  :'email_id' => :'String',
80
81
  :'inbox_id' => :'String',
81
82
  :'created_at' => :'DateTime',
82
83
  :'sent_id' => :'String',
83
- :'forwarder_id' => :'String',
84
- :'status' => :'String'
84
+ :'forwarder_id' => :'String'
85
85
  }
86
86
  end
87
87
 
@@ -90,12 +90,12 @@ module MailSlurpClient
90
90
  Set.new([
91
91
  :'message',
92
92
  :'id',
93
+ :'status',
93
94
  :'user_id',
94
95
  :'email_id',
95
96
  :'inbox_id',
96
97
  :'sent_id',
97
- :'forwarder_id',
98
- :'status'
98
+ :'forwarder_id'
99
99
  ])
100
100
  end
101
101
 
@@ -122,6 +122,10 @@ module MailSlurpClient
122
122
  self.id = attributes[:'id']
123
123
  end
124
124
 
125
+ if attributes.key?(:'status')
126
+ self.status = attributes[:'status']
127
+ end
128
+
125
129
  if attributes.key?(:'user_id')
126
130
  self.user_id = attributes[:'user_id']
127
131
  end
@@ -145,10 +149,6 @@ module MailSlurpClient
145
149
  if attributes.key?(:'forwarder_id')
146
150
  self.forwarder_id = attributes[:'forwarder_id']
147
151
  end
148
-
149
- if attributes.key?(:'status')
150
- self.status = attributes[:'status']
151
- end
152
152
  end
153
153
 
154
154
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -165,9 +165,9 @@ module MailSlurpClient
165
165
  # Check to see if the all the properties in the model are valid
166
166
  # @return true if the model is valid
167
167
  def valid?
168
- return false if @created_at.nil?
169
168
  status_validator = EnumAttributeValidator.new('String', ["SUCCESS", "FAILURE"])
170
169
  return false unless status_validator.valid?(@status)
170
+ return false if @created_at.nil?
171
171
  true
172
172
  end
173
173
 
@@ -188,13 +188,13 @@ module MailSlurpClient
188
188
  self.class == o.class &&
189
189
  message == o.message &&
190
190
  id == o.id &&
191
+ status == o.status &&
191
192
  user_id == o.user_id &&
192
193
  email_id == o.email_id &&
193
194
  inbox_id == o.inbox_id &&
194
195
  created_at == o.created_at &&
195
196
  sent_id == o.sent_id &&
196
- forwarder_id == o.forwarder_id &&
197
- status == o.status
197
+ forwarder_id == o.forwarder_id
198
198
  end
199
199
 
200
200
  # @see the `==` method
@@ -206,7 +206,7 @@ module MailSlurpClient
206
206
  # Calculates hash code according to all attributes.
207
207
  # @return [Integer] Hash code
208
208
  def hash
209
- [message, id, user_id, email_id, inbox_id, created_at, sent_id, forwarder_id, status].hash
209
+ [message, id, status, user_id, email_id, inbox_id, created_at, sent_id, forwarder_id].hash
210
210
  end
211
211
 
212
212
  # Builds the object from hash
@@ -15,25 +15,33 @@ require 'date'
15
15
  module MailSlurpClient
16
16
  # Options for testing an inbox forwarder against a value
17
17
  class InboxForwarderTestOptions
18
+ # Simple value to test against the forwarder's simple field/match rule. Required when emailId is not provided.
18
19
  attr_accessor :test_value
19
20
 
21
+ # Optional email ID to evaluate the forwarder using full inbound email content (headers, recipients, and attachments).
22
+ attr_accessor :email_id
23
+
20
24
  # Attribute mapping from ruby-style variable name to JSON key.
21
25
  def self.attribute_map
22
26
  {
23
- :'test_value' => :'testValue'
27
+ :'test_value' => :'testValue',
28
+ :'email_id' => :'emailId'
24
29
  }
25
30
  end
26
31
 
27
32
  # Attribute type mapping.
28
33
  def self.openapi_types
29
34
  {
30
- :'test_value' => :'String'
35
+ :'test_value' => :'String',
36
+ :'email_id' => :'String'
31
37
  }
32
38
  end
33
39
 
34
40
  # List of attributes with nullable: true
35
41
  def self.openapi_nullable
36
42
  Set.new([
43
+ :'test_value',
44
+ :'email_id'
37
45
  ])
38
46
  end
39
47
 
@@ -55,23 +63,22 @@ module MailSlurpClient
55
63
  if attributes.key?(:'test_value')
56
64
  self.test_value = attributes[:'test_value']
57
65
  end
66
+
67
+ if attributes.key?(:'email_id')
68
+ self.email_id = attributes[:'email_id']
69
+ end
58
70
  end
59
71
 
60
72
  # Show invalid properties with the reasons. Usually used together with valid?
61
73
  # @return Array for valid properties with the reasons
62
74
  def list_invalid_properties
63
75
  invalid_properties = Array.new
64
- if @test_value.nil?
65
- invalid_properties.push('invalid value for "test_value", test_value cannot be nil.')
66
- end
67
-
68
76
  invalid_properties
69
77
  end
70
78
 
71
79
  # Check to see if the all the properties in the model are valid
72
80
  # @return true if the model is valid
73
81
  def valid?
74
- return false if @test_value.nil?
75
82
  true
76
83
  end
77
84
 
@@ -80,7 +87,8 @@ module MailSlurpClient
80
87
  def ==(o)
81
88
  return true if self.equal?(o)
82
89
  self.class == o.class &&
83
- test_value == o.test_value
90
+ test_value == o.test_value &&
91
+ email_id == o.email_id
84
92
  end
85
93
 
86
94
  # @see the `==` method
@@ -92,7 +100,7 @@ module MailSlurpClient
92
100
  # Calculates hash code according to all attributes.
93
101
  # @return [Integer] Hash code
94
102
  def hash
95
- [test_value].hash
103
+ [test_value, email_id].hash
96
104
  end
97
105
 
98
106
  # Builds the object from hash