mailslurp_client 17.2.0 → 17.3.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 (176) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mailslurp_client/api/campaign_probe_controller_api.rb +138 -0
  3. data/lib/mailslurp_client/api/domain_monitor_controller_api.rb +264 -0
  4. data/lib/mailslurp_client/api/email_audit_controller_api.rb +334 -0
  5. data/lib/mailslurp_client/api/email_controller_api.rb +124 -0
  6. data/lib/mailslurp_client/api/inbox_controller_api.rb +4 -4
  7. data/lib/mailslurp_client/api/phone_controller_api.rb +1312 -81
  8. data/lib/mailslurp_client/api/sms_controller_api.rb +125 -0
  9. data/lib/mailslurp_client/api/tools_controller_api.rb +806 -0
  10. data/lib/mailslurp_client/models/abstract_webhook_payload.rb +15 -15
  11. data/lib/mailslurp_client/models/acquire_phone_pool_lease_options.rb +233 -0
  12. data/lib/mailslurp_client/models/add_phone_pool_numbers_options.rb +213 -0
  13. data/lib/mailslurp_client/models/ai_transform_mapping_projection.rb +27 -27
  14. data/lib/mailslurp_client/models/ai_transform_projection.rb +28 -28
  15. data/lib/mailslurp_client/models/alias_projection.rb +45 -45
  16. data/lib/mailslurp_client/models/alias_thread_projection.rb +42 -42
  17. data/lib/mailslurp_client/models/analyze_dmarc_report_options.rb +248 -0
  18. data/lib/mailslurp_client/models/analyze_dmarc_report_results.rb +386 -0
  19. data/lib/mailslurp_client/models/analyze_email_headers_options.rb +240 -0
  20. data/lib/mailslurp_client/models/analyze_email_headers_results.rb +275 -0
  21. data/lib/mailslurp_client/models/attachment_projection.rb +50 -50
  22. data/lib/mailslurp_client/models/available_phone_number_dto.rb +325 -0
  23. data/lib/mailslurp_client/models/available_phone_numbers_result.rb +236 -0
  24. data/lib/mailslurp_client/models/bounce_projection.rb +28 -28
  25. data/lib/mailslurp_client/models/bounce_recipient_projection.rb +10 -10
  26. data/lib/mailslurp_client/models/campaign_probe_run_comparison_dto.rb +397 -0
  27. data/lib/mailslurp_client/models/check_campaign_probe_options.rb +371 -0
  28. data/lib/mailslurp_client/models/check_campaign_probe_results.rb +482 -0
  29. data/lib/mailslurp_client/models/check_dns_propagation_options.rb +297 -0
  30. data/lib/mailslurp_client/models/check_dns_propagation_results.rb +361 -0
  31. data/lib/mailslurp_client/models/check_domain_monitor_options.rb +243 -0
  32. data/lib/mailslurp_client/models/check_domain_monitor_results.rb +398 -0
  33. data/lib/mailslurp_client/models/check_email_audit_options.rb +405 -0
  34. data/lib/mailslurp_client/models/check_email_auth_stack_options.rb +248 -0
  35. data/lib/mailslurp_client/models/check_email_auth_stack_results.rb +462 -0
  36. data/lib/mailslurp_client/models/check_email_blacklist_options.rb +241 -0
  37. data/lib/mailslurp_client/models/check_email_blacklist_results.rb +366 -0
  38. data/lib/mailslurp_client/models/connector_event_projection.rb +42 -42
  39. data/lib/mailslurp_client/models/connector_projection.rb +42 -42
  40. data/lib/mailslurp_client/models/contact_projection.rb +15 -15
  41. data/lib/mailslurp_client/models/create_email_audit_options.rb +394 -0
  42. data/lib/mailslurp_client/models/create_phone_number_options.rb +25 -4
  43. data/lib/mailslurp_client/models/create_phone_pool_options.rb +220 -0
  44. data/lib/mailslurp_client/models/create_phone_provisioning_job_item_options.rb +256 -0
  45. data/lib/mailslurp_client/models/create_phone_provisioning_job_options.rb +284 -0
  46. data/lib/mailslurp_client/models/dmarc_report_metadata.rb +308 -0
  47. data/lib/mailslurp_client/models/dmarc_report_source_summary.rb +274 -0
  48. data/lib/mailslurp_client/models/dns_propagation_resolver_result.rb +252 -0
  49. data/lib/mailslurp_client/models/domain_monitor_run_comparison_dto.rb +369 -0
  50. data/lib/mailslurp_client/models/domain_monitor_summary_dto.rb +248 -0
  51. data/lib/mailslurp_client/models/email_audit_analysis_result.rb +620 -0
  52. data/lib/mailslurp_client/models/email_audit_comparison_dto.rb +411 -0
  53. data/lib/mailslurp_client/models/email_audit_dto.rb +308 -0
  54. data/lib/mailslurp_client/models/email_audit_spelling_issue.rb +276 -0
  55. data/lib/mailslurp_client/models/email_audit_url_issue.rb +236 -0
  56. data/lib/mailslurp_client/models/email_blacklist_ip_result.rb +242 -0
  57. data/lib/mailslurp_client/models/email_blacklist_listing_result.rb +258 -0
  58. data/lib/mailslurp_client/models/email_header_analysis_summary.rb +242 -0
  59. data/lib/mailslurp_client/models/email_header_received_hop.rb +242 -0
  60. data/lib/mailslurp_client/models/email_projection.rb +88 -88
  61. data/lib/mailslurp_client/models/email_thread_projection.rb +54 -54
  62. data/lib/mailslurp_client/models/entity_automation_item_projection.rb +33 -33
  63. data/lib/mailslurp_client/models/entity_event_item_projection.rb +42 -42
  64. data/lib/mailslurp_client/models/entity_favourite_item_projection.rb +29 -29
  65. data/lib/mailslurp_client/models/expired_inbox_record_projection.rb +27 -27
  66. data/lib/mailslurp_client/models/generate_spf_record_options.rb +357 -0
  67. data/lib/mailslurp_client/models/generate_spf_record_results.rb +318 -0
  68. data/lib/mailslurp_client/models/get_or_create_phone_pool_options.rb +220 -0
  69. data/lib/mailslurp_client/models/group_projection.rb +15 -15
  70. data/lib/mailslurp_client/models/guest_portal_user_projection.rb +47 -47
  71. data/lib/mailslurp_client/models/imap_email_projection.rb +18 -18
  72. data/lib/mailslurp_client/models/inbox_forwarder_event_projection.rb +21 -21
  73. data/lib/mailslurp_client/models/inbox_replier_event_projection.rb +33 -33
  74. data/lib/mailslurp_client/models/list_unsubscribe_recipient_projection.rb +19 -19
  75. data/lib/mailslurp_client/models/lookup_dkim_domain_options.rb +275 -0
  76. data/lib/mailslurp_client/models/lookup_dkim_domain_results.rb +304 -0
  77. data/lib/mailslurp_client/models/lookup_ptr_options.rb +241 -0
  78. data/lib/mailslurp_client/models/lookup_ptr_results.rb +305 -0
  79. data/lib/mailslurp_client/models/lookup_spf_domain_options.rb +240 -0
  80. data/lib/mailslurp_client/models/lookup_spf_domain_results.rb +305 -0
  81. data/lib/mailslurp_client/models/missed_email_projection.rb +28 -28
  82. data/lib/mailslurp_client/models/missed_sms_projection.rb +32 -32
  83. data/lib/mailslurp_client/models/opt_in_identity_projection.rb +18 -18
  84. data/lib/mailslurp_client/models/page_ai_transform_mapping_projection.rb +19 -19
  85. data/lib/mailslurp_client/models/page_ai_transform_projection.rb +19 -19
  86. data/lib/mailslurp_client/models/page_ai_transform_result_projection.rb +19 -19
  87. data/lib/mailslurp_client/models/page_alias.rb +19 -19
  88. data/lib/mailslurp_client/models/page_alias_thread_projection.rb +19 -19
  89. data/lib/mailslurp_client/models/page_attachment_entity.rb +19 -19
  90. data/lib/mailslurp_client/models/page_bounced_email.rb +19 -19
  91. data/lib/mailslurp_client/models/page_bounced_recipients.rb +19 -19
  92. data/lib/mailslurp_client/models/page_complaint.rb +19 -19
  93. data/lib/mailslurp_client/models/page_connector.rb +19 -19
  94. data/lib/mailslurp_client/models/page_connector_events.rb +19 -19
  95. data/lib/mailslurp_client/models/page_contact_projection.rb +19 -19
  96. data/lib/mailslurp_client/models/page_delivery_status.rb +19 -19
  97. data/lib/mailslurp_client/models/page_device_preview_run_projection.rb +19 -19
  98. data/lib/mailslurp_client/models/page_email_preview.rb +19 -19
  99. data/lib/mailslurp_client/models/page_email_projection.rb +19 -19
  100. data/lib/mailslurp_client/models/page_email_thread_projection.rb +19 -19
  101. data/lib/mailslurp_client/models/page_email_validation_request.rb +19 -19
  102. data/lib/mailslurp_client/models/page_entity_automation_items.rb +19 -19
  103. data/lib/mailslurp_client/models/page_entity_event_items.rb +19 -19
  104. data/lib/mailslurp_client/models/page_entity_favourite_items.rb +19 -19
  105. data/lib/mailslurp_client/models/page_expired_inbox_record_projection.rb +19 -19
  106. data/lib/mailslurp_client/models/page_group_projection.rb +19 -19
  107. data/lib/mailslurp_client/models/page_guest_portal_users.rb +19 -19
  108. data/lib/mailslurp_client/models/page_inbox_forwarder_dto.rb +19 -19
  109. data/lib/mailslurp_client/models/page_inbox_forwarder_events.rb +19 -19
  110. data/lib/mailslurp_client/models/page_inbox_projection.rb +19 -19
  111. data/lib/mailslurp_client/models/page_inbox_replier_dto.rb +19 -19
  112. data/lib/mailslurp_client/models/page_inbox_replier_events.rb +19 -19
  113. data/lib/mailslurp_client/models/page_inbox_tags.rb +19 -19
  114. data/lib/mailslurp_client/models/page_list_unsubscribe_recipients.rb +19 -19
  115. data/lib/mailslurp_client/models/page_missed_email_projection.rb +19 -19
  116. data/lib/mailslurp_client/models/page_missed_sms_projection.rb +19 -19
  117. data/lib/mailslurp_client/models/page_opt_in_identity_projection.rb +19 -19
  118. data/lib/mailslurp_client/models/page_organization_inbox_projection.rb +19 -19
  119. data/lib/mailslurp_client/models/page_phone_message_thread_item_projection.rb +19 -19
  120. data/lib/mailslurp_client/models/page_phone_message_thread_projection.rb +19 -19
  121. data/lib/mailslurp_client/models/page_phone_number_projection.rb +19 -19
  122. data/lib/mailslurp_client/models/page_phone_number_release_projection.rb +19 -19
  123. data/lib/mailslurp_client/models/page_plus_address_projection.rb +19 -19
  124. data/lib/mailslurp_client/models/page_reputation_items.rb +19 -19
  125. data/lib/mailslurp_client/models/page_ruleset_dto.rb +19 -19
  126. data/lib/mailslurp_client/models/page_scheduled_jobs.rb +19 -19
  127. data/lib/mailslurp_client/models/page_sent_email_projection.rb +19 -19
  128. data/lib/mailslurp_client/models/page_sent_email_with_queue_projection.rb +19 -19
  129. data/lib/mailslurp_client/models/page_sent_sms_projection.rb +19 -19
  130. data/lib/mailslurp_client/models/page_sms_projection.rb +19 -19
  131. data/lib/mailslurp_client/models/page_template_projection.rb +19 -19
  132. data/lib/mailslurp_client/models/page_tracking_pixel_projection.rb +19 -19
  133. data/lib/mailslurp_client/models/page_unknown_missed_email_projection.rb +19 -19
  134. data/lib/mailslurp_client/models/page_webhook_endpoint_projection.rb +19 -19
  135. data/lib/mailslurp_client/models/page_webhook_projection.rb +19 -19
  136. data/lib/mailslurp_client/models/page_webhook_result.rb +19 -19
  137. data/lib/mailslurp_client/models/pageable_object.rb +22 -22
  138. data/lib/mailslurp_client/models/phone_message_thread_item_projection.rb +18 -18
  139. data/lib/mailslurp_client/models/phone_number_dto.rb +49 -4
  140. data/lib/mailslurp_client/models/phone_number_line_type_intelligence_dto.rb +242 -0
  141. data/lib/mailslurp_client/models/phone_number_line_type_lookup_dto.rb +286 -0
  142. data/lib/mailslurp_client/models/phone_number_projection.rb +80 -35
  143. data/lib/mailslurp_client/models/phone_number_release_projection.rb +39 -39
  144. data/lib/mailslurp_client/models/phone_pool_detail_dto.rb +334 -0
  145. data/lib/mailslurp_client/models/phone_pool_dto.rb +318 -0
  146. data/lib/mailslurp_client/models/phone_pool_lease_dto.rb +351 -0
  147. data/lib/mailslurp_client/models/phone_pool_member_dto.rb +333 -0
  148. data/lib/mailslurp_client/models/phone_provider_capabilities_result.rb +284 -0
  149. data/lib/mailslurp_client/models/phone_provisioning_job_dto.rb +434 -0
  150. data/lib/mailslurp_client/models/phone_provisioning_job_item_dto.rb +336 -0
  151. data/lib/mailslurp_client/models/phone_sms_prepaid_credit_dto.rb +340 -0
  152. data/lib/mailslurp_client/models/phone_sms_prepaid_credits_dto.rb +241 -0
  153. data/lib/mailslurp_client/models/plus_address_projection.rb +27 -27
  154. data/lib/mailslurp_client/models/recipient_projection.rb +13 -13
  155. data/lib/mailslurp_client/models/reputation_item_projection.rb +41 -41
  156. data/lib/mailslurp_client/models/search_available_phone_numbers_options.rb +377 -0
  157. data/lib/mailslurp_client/models/sender_projection.rb +13 -13
  158. data/lib/mailslurp_client/models/sent_email_projection.rb +63 -63
  159. data/lib/mailslurp_client/models/sent_sms_projection.rb +18 -18
  160. data/lib/mailslurp_client/models/sms_projection.rb +18 -18
  161. data/lib/mailslurp_client/models/smtp_auth_diagnostic_result.rb +235 -0
  162. data/lib/mailslurp_client/models/smtp_diagnostic_step.rb +236 -0
  163. data/lib/mailslurp_client/models/smtp_tls_diagnostic_result.rb +245 -0
  164. data/lib/mailslurp_client/models/sort_object.rb +10 -10
  165. data/lib/mailslurp_client/models/spf_mechanism_result.rb +229 -0
  166. data/lib/mailslurp_client/models/template_projection.rb +41 -41
  167. data/lib/mailslurp_client/models/test_smtp_server_options.rb +337 -0
  168. data/lib/mailslurp_client/models/test_smtp_server_results.rb +297 -0
  169. data/lib/mailslurp_client/models/tracking_pixel_projection.rb +27 -27
  170. data/lib/mailslurp_client/models/unknown_missed_email_projection.rb +27 -27
  171. data/lib/mailslurp_client/models/update_phone_pool_options.rb +215 -0
  172. data/lib/mailslurp_client/models/validation_dto.rb +1 -5
  173. data/lib/mailslurp_client/models/webhook_projection.rb +45 -45
  174. data/lib/mailslurp_client/version.rb +1 -1
  175. data/lib/mailslurp_client.rb +67 -0
  176. metadata +69 -2
@@ -0,0 +1,482 @@
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
+ # One-shot public campaign probe preflight results
17
+ class CheckCampaignProbeResults
18
+ attr_accessor :status
19
+
20
+ attr_accessor :health_score
21
+
22
+ attr_accessor :total_checks
23
+
24
+ attr_accessor :passing_checks
25
+
26
+ attr_accessor :failing_checks
27
+
28
+ attr_accessor :checked_links
29
+
30
+ attr_accessor :checked_images
31
+
32
+ attr_accessor :link_issue_count
33
+
34
+ attr_accessor :image_issue_count
35
+
36
+ attr_accessor :compatibility_warning_count
37
+
38
+ attr_accessor :compatibility_not_supported_count
39
+
40
+ attr_accessor :compatibility_unknown_count
41
+
42
+ attr_accessor :html_error_count
43
+
44
+ attr_accessor :html_warning_count
45
+
46
+ attr_accessor :html_info_count
47
+
48
+ attr_accessor :attachment_mention_issue_count
49
+
50
+ attr_accessor :insights
51
+
52
+ attr_accessor :error_message
53
+
54
+ class EnumAttributeValidator
55
+ attr_reader :datatype
56
+ attr_reader :allowable_values
57
+
58
+ def initialize(datatype, allowable_values)
59
+ @allowable_values = allowable_values.map do |value|
60
+ case datatype.to_s
61
+ when /Integer/i
62
+ value.to_i
63
+ when /Float/i
64
+ value.to_f
65
+ else
66
+ value
67
+ end
68
+ end
69
+ end
70
+
71
+ def valid?(value)
72
+ !value || allowable_values.include?(value)
73
+ end
74
+ end
75
+
76
+ # Attribute mapping from ruby-style variable name to JSON key.
77
+ def self.attribute_map
78
+ {
79
+ :'status' => :'status',
80
+ :'health_score' => :'healthScore',
81
+ :'total_checks' => :'totalChecks',
82
+ :'passing_checks' => :'passingChecks',
83
+ :'failing_checks' => :'failingChecks',
84
+ :'checked_links' => :'checkedLinks',
85
+ :'checked_images' => :'checkedImages',
86
+ :'link_issue_count' => :'linkIssueCount',
87
+ :'image_issue_count' => :'imageIssueCount',
88
+ :'compatibility_warning_count' => :'compatibilityWarningCount',
89
+ :'compatibility_not_supported_count' => :'compatibilityNotSupportedCount',
90
+ :'compatibility_unknown_count' => :'compatibilityUnknownCount',
91
+ :'html_error_count' => :'htmlErrorCount',
92
+ :'html_warning_count' => :'htmlWarningCount',
93
+ :'html_info_count' => :'htmlInfoCount',
94
+ :'attachment_mention_issue_count' => :'attachmentMentionIssueCount',
95
+ :'insights' => :'insights',
96
+ :'error_message' => :'errorMessage'
97
+ }
98
+ end
99
+
100
+ # Attribute type mapping.
101
+ def self.openapi_types
102
+ {
103
+ :'status' => :'String',
104
+ :'health_score' => :'Integer',
105
+ :'total_checks' => :'Integer',
106
+ :'passing_checks' => :'Integer',
107
+ :'failing_checks' => :'Integer',
108
+ :'checked_links' => :'Integer',
109
+ :'checked_images' => :'Integer',
110
+ :'link_issue_count' => :'Integer',
111
+ :'image_issue_count' => :'Integer',
112
+ :'compatibility_warning_count' => :'Integer',
113
+ :'compatibility_not_supported_count' => :'Integer',
114
+ :'compatibility_unknown_count' => :'Integer',
115
+ :'html_error_count' => :'Integer',
116
+ :'html_warning_count' => :'Integer',
117
+ :'html_info_count' => :'Integer',
118
+ :'attachment_mention_issue_count' => :'Integer',
119
+ :'insights' => :'Array<String>',
120
+ :'error_message' => :'String'
121
+ }
122
+ end
123
+
124
+ # List of attributes with nullable: true
125
+ def self.openapi_nullable
126
+ Set.new([
127
+ :'error_message'
128
+ ])
129
+ end
130
+
131
+ # Initializes the object
132
+ # @param [Hash] attributes Model attributes in the form of hash
133
+ def initialize(attributes = {})
134
+ if (!attributes.is_a?(Hash))
135
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::CheckCampaignProbeResults` initialize method"
136
+ end
137
+
138
+ # check to see if the attribute exists and convert string to symbol for hash key
139
+ attributes = attributes.each_with_object({}) { |(k, v), h|
140
+ if (!self.class.attribute_map.key?(k.to_sym))
141
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::CheckCampaignProbeResults`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
142
+ end
143
+ h[k.to_sym] = v
144
+ }
145
+
146
+ if attributes.key?(:'status')
147
+ self.status = attributes[:'status']
148
+ end
149
+
150
+ if attributes.key?(:'health_score')
151
+ self.health_score = attributes[:'health_score']
152
+ end
153
+
154
+ if attributes.key?(:'total_checks')
155
+ self.total_checks = attributes[:'total_checks']
156
+ end
157
+
158
+ if attributes.key?(:'passing_checks')
159
+ self.passing_checks = attributes[:'passing_checks']
160
+ end
161
+
162
+ if attributes.key?(:'failing_checks')
163
+ self.failing_checks = attributes[:'failing_checks']
164
+ end
165
+
166
+ if attributes.key?(:'checked_links')
167
+ self.checked_links = attributes[:'checked_links']
168
+ end
169
+
170
+ if attributes.key?(:'checked_images')
171
+ self.checked_images = attributes[:'checked_images']
172
+ end
173
+
174
+ if attributes.key?(:'link_issue_count')
175
+ self.link_issue_count = attributes[:'link_issue_count']
176
+ end
177
+
178
+ if attributes.key?(:'image_issue_count')
179
+ self.image_issue_count = attributes[:'image_issue_count']
180
+ end
181
+
182
+ if attributes.key?(:'compatibility_warning_count')
183
+ self.compatibility_warning_count = attributes[:'compatibility_warning_count']
184
+ end
185
+
186
+ if attributes.key?(:'compatibility_not_supported_count')
187
+ self.compatibility_not_supported_count = attributes[:'compatibility_not_supported_count']
188
+ end
189
+
190
+ if attributes.key?(:'compatibility_unknown_count')
191
+ self.compatibility_unknown_count = attributes[:'compatibility_unknown_count']
192
+ end
193
+
194
+ if attributes.key?(:'html_error_count')
195
+ self.html_error_count = attributes[:'html_error_count']
196
+ end
197
+
198
+ if attributes.key?(:'html_warning_count')
199
+ self.html_warning_count = attributes[:'html_warning_count']
200
+ end
201
+
202
+ if attributes.key?(:'html_info_count')
203
+ self.html_info_count = attributes[:'html_info_count']
204
+ end
205
+
206
+ if attributes.key?(:'attachment_mention_issue_count')
207
+ self.attachment_mention_issue_count = attributes[:'attachment_mention_issue_count']
208
+ end
209
+
210
+ if attributes.key?(:'insights')
211
+ if (value = attributes[:'insights']).is_a?(Array)
212
+ self.insights = value
213
+ end
214
+ end
215
+
216
+ if attributes.key?(:'error_message')
217
+ self.error_message = attributes[:'error_message']
218
+ end
219
+ end
220
+
221
+ # Show invalid properties with the reasons. Usually used together with valid?
222
+ # @return Array for valid properties with the reasons
223
+ def list_invalid_properties
224
+ invalid_properties = Array.new
225
+ if @status.nil?
226
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
227
+ end
228
+
229
+ if @health_score.nil?
230
+ invalid_properties.push('invalid value for "health_score", health_score cannot be nil.')
231
+ end
232
+
233
+ if @total_checks.nil?
234
+ invalid_properties.push('invalid value for "total_checks", total_checks cannot be nil.')
235
+ end
236
+
237
+ if @passing_checks.nil?
238
+ invalid_properties.push('invalid value for "passing_checks", passing_checks cannot be nil.')
239
+ end
240
+
241
+ if @failing_checks.nil?
242
+ invalid_properties.push('invalid value for "failing_checks", failing_checks cannot be nil.')
243
+ end
244
+
245
+ if @checked_links.nil?
246
+ invalid_properties.push('invalid value for "checked_links", checked_links cannot be nil.')
247
+ end
248
+
249
+ if @checked_images.nil?
250
+ invalid_properties.push('invalid value for "checked_images", checked_images cannot be nil.')
251
+ end
252
+
253
+ if @link_issue_count.nil?
254
+ invalid_properties.push('invalid value for "link_issue_count", link_issue_count cannot be nil.')
255
+ end
256
+
257
+ if @image_issue_count.nil?
258
+ invalid_properties.push('invalid value for "image_issue_count", image_issue_count cannot be nil.')
259
+ end
260
+
261
+ if @compatibility_warning_count.nil?
262
+ invalid_properties.push('invalid value for "compatibility_warning_count", compatibility_warning_count cannot be nil.')
263
+ end
264
+
265
+ if @compatibility_not_supported_count.nil?
266
+ invalid_properties.push('invalid value for "compatibility_not_supported_count", compatibility_not_supported_count cannot be nil.')
267
+ end
268
+
269
+ if @compatibility_unknown_count.nil?
270
+ invalid_properties.push('invalid value for "compatibility_unknown_count", compatibility_unknown_count cannot be nil.')
271
+ end
272
+
273
+ if @html_error_count.nil?
274
+ invalid_properties.push('invalid value for "html_error_count", html_error_count cannot be nil.')
275
+ end
276
+
277
+ if @html_warning_count.nil?
278
+ invalid_properties.push('invalid value for "html_warning_count", html_warning_count cannot be nil.')
279
+ end
280
+
281
+ if @html_info_count.nil?
282
+ invalid_properties.push('invalid value for "html_info_count", html_info_count cannot be nil.')
283
+ end
284
+
285
+ if @attachment_mention_issue_count.nil?
286
+ invalid_properties.push('invalid value for "attachment_mention_issue_count", attachment_mention_issue_count cannot be nil.')
287
+ end
288
+
289
+ if @insights.nil?
290
+ invalid_properties.push('invalid value for "insights", insights cannot be nil.')
291
+ end
292
+
293
+ invalid_properties
294
+ end
295
+
296
+ # Check to see if the all the properties in the model are valid
297
+ # @return true if the model is valid
298
+ def valid?
299
+ return false if @status.nil?
300
+ status_validator = EnumAttributeValidator.new('String', ["HEALTHY", "WARNING", "FAILED"])
301
+ return false unless status_validator.valid?(@status)
302
+ return false if @health_score.nil?
303
+ return false if @total_checks.nil?
304
+ return false if @passing_checks.nil?
305
+ return false if @failing_checks.nil?
306
+ return false if @checked_links.nil?
307
+ return false if @checked_images.nil?
308
+ return false if @link_issue_count.nil?
309
+ return false if @image_issue_count.nil?
310
+ return false if @compatibility_warning_count.nil?
311
+ return false if @compatibility_not_supported_count.nil?
312
+ return false if @compatibility_unknown_count.nil?
313
+ return false if @html_error_count.nil?
314
+ return false if @html_warning_count.nil?
315
+ return false if @html_info_count.nil?
316
+ return false if @attachment_mention_issue_count.nil?
317
+ return false if @insights.nil?
318
+ true
319
+ end
320
+
321
+ # Custom attribute writer method checking allowed values (enum).
322
+ # @param [Object] status Object to be assigned
323
+ def status=(status)
324
+ validator = EnumAttributeValidator.new('String', ["HEALTHY", "WARNING", "FAILED"])
325
+ unless validator.valid?(status)
326
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
327
+ end
328
+ @status = status
329
+ end
330
+
331
+ # Checks equality by comparing each attribute.
332
+ # @param [Object] Object to be compared
333
+ def ==(o)
334
+ return true if self.equal?(o)
335
+ self.class == o.class &&
336
+ status == o.status &&
337
+ health_score == o.health_score &&
338
+ total_checks == o.total_checks &&
339
+ passing_checks == o.passing_checks &&
340
+ failing_checks == o.failing_checks &&
341
+ checked_links == o.checked_links &&
342
+ checked_images == o.checked_images &&
343
+ link_issue_count == o.link_issue_count &&
344
+ image_issue_count == o.image_issue_count &&
345
+ compatibility_warning_count == o.compatibility_warning_count &&
346
+ compatibility_not_supported_count == o.compatibility_not_supported_count &&
347
+ compatibility_unknown_count == o.compatibility_unknown_count &&
348
+ html_error_count == o.html_error_count &&
349
+ html_warning_count == o.html_warning_count &&
350
+ html_info_count == o.html_info_count &&
351
+ attachment_mention_issue_count == o.attachment_mention_issue_count &&
352
+ insights == o.insights &&
353
+ error_message == o.error_message
354
+ end
355
+
356
+ # @see the `==` method
357
+ # @param [Object] Object to be compared
358
+ def eql?(o)
359
+ self == o
360
+ end
361
+
362
+ # Calculates hash code according to all attributes.
363
+ # @return [Integer] Hash code
364
+ def hash
365
+ [status, health_score, total_checks, passing_checks, failing_checks, checked_links, checked_images, link_issue_count, image_issue_count, compatibility_warning_count, compatibility_not_supported_count, compatibility_unknown_count, html_error_count, html_warning_count, html_info_count, attachment_mention_issue_count, insights, error_message].hash
366
+ end
367
+
368
+ # Builds the object from hash
369
+ # @param [Hash] attributes Model attributes in the form of hash
370
+ # @return [Object] Returns the model itself
371
+ def self.build_from_hash(attributes)
372
+ new.build_from_hash(attributes)
373
+ end
374
+
375
+ # Builds the object from hash
376
+ # @param [Hash] attributes Model attributes in the form of hash
377
+ # @return [Object] Returns the model itself
378
+ def build_from_hash(attributes)
379
+ return nil unless attributes.is_a?(Hash)
380
+ self.class.openapi_types.each_pair do |key, type|
381
+ if type =~ /\AArray<(.*)>/i
382
+ # check to ensure the input is an array given that the attribute
383
+ # is documented as an array but the input is not
384
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
385
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
386
+ end
387
+ elsif !attributes[self.class.attribute_map[key]].nil?
388
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
389
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
390
+ end
391
+
392
+ self
393
+ end
394
+
395
+ # Deserializes the data based on type
396
+ # @param string type Data type
397
+ # @param string value Value to be deserialized
398
+ # @return [Object] Deserialized data
399
+ def _deserialize(type, value)
400
+ case type.to_sym
401
+ when :DateTime
402
+ DateTime.parse(value)
403
+ when :Date
404
+ Date.parse(value)
405
+ when :String
406
+ value.to_s
407
+ when :Integer
408
+ value.to_i
409
+ when :Float
410
+ value.to_f
411
+ when :Boolean
412
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
413
+ true
414
+ else
415
+ false
416
+ end
417
+ when :Object
418
+ # generic object (usually a Hash), return directly
419
+ value
420
+ when /\AArray<(?<inner_type>.+)>\z/
421
+ inner_type = Regexp.last_match[:inner_type]
422
+ value.map { |v| _deserialize(inner_type, v) }
423
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
424
+ k_type = Regexp.last_match[:k_type]
425
+ v_type = Regexp.last_match[:v_type]
426
+ {}.tap do |hash|
427
+ value.each do |k, v|
428
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
429
+ end
430
+ end
431
+ else # model
432
+ MailSlurpClient.const_get(type).build_from_hash(value)
433
+ end
434
+ end
435
+
436
+ # Returns the string representation of the object
437
+ # @return [String] String presentation of the object
438
+ def to_s
439
+ to_hash.to_s
440
+ end
441
+
442
+ # to_body is an alias to to_hash (backward compatibility)
443
+ # @return [Hash] Returns the object in the form of hash
444
+ def to_body
445
+ to_hash
446
+ end
447
+
448
+ # Returns the object in the form of hash
449
+ # @return [Hash] Returns the object in the form of hash
450
+ def to_hash
451
+ hash = {}
452
+ self.class.attribute_map.each_pair do |attr, param|
453
+ value = self.send(attr)
454
+ if value.nil?
455
+ is_nullable = self.class.openapi_nullable.include?(attr)
456
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
457
+ end
458
+
459
+ hash[param] = _to_hash(value)
460
+ end
461
+ hash
462
+ end
463
+
464
+ # Outputs non-array value in the form of hash
465
+ # For object, use to_hash. Otherwise, just return the value
466
+ # @param [Object] value Any valid value
467
+ # @return [Hash] Returns the value in the form of hash
468
+ def _to_hash(value)
469
+ if value.is_a?(Array)
470
+ value.compact.map { |v| _to_hash(v) }
471
+ elsif value.is_a?(Hash)
472
+ {}.tap do |hash|
473
+ value.each { |k, v| hash[k] = _to_hash(v) }
474
+ end
475
+ elsif value.respond_to? :to_hash
476
+ value.to_hash
477
+ else
478
+ value
479
+ end
480
+ end
481
+ end
482
+ end