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
@@ -15,10 +15,13 @@ require 'date'
15
15
  module MailSlurpClient
16
16
  # Email attachment data
17
17
  class AttachmentProjection
18
- attr_accessor :updated_at
18
+ attr_accessor :name
19
19
 
20
- # Content ID of attachment.
21
- attr_accessor :content_id
20
+ # ID
21
+ attr_accessor :id
22
+
23
+ # Content length of attachment in bytes
24
+ attr_accessor :content_length
22
25
 
23
26
  attr_accessor :user_id
24
27
 
@@ -27,16 +30,13 @@ module MailSlurpClient
27
30
 
28
31
  attr_accessor :created_at
29
32
 
30
- # Attachment ID
31
- attr_accessor :attachment_id
32
-
33
- attr_accessor :name
33
+ attr_accessor :updated_at
34
34
 
35
- # ID
36
- attr_accessor :id
35
+ # Content ID of attachment.
36
+ attr_accessor :content_id
37
37
 
38
- # Content length of attachment in bytes
39
- attr_accessor :content_length
38
+ # Attachment ID
39
+ attr_accessor :attachment_id
40
40
 
41
41
  # Content type of attachment.
42
42
  attr_accessor :content_type
@@ -44,15 +44,15 @@ module MailSlurpClient
44
44
  # Attribute mapping from ruby-style variable name to JSON key.
45
45
  def self.attribute_map
46
46
  {
47
- :'updated_at' => :'updatedAt',
48
- :'content_id' => :'contentId',
47
+ :'name' => :'name',
48
+ :'id' => :'id',
49
+ :'content_length' => :'contentLength',
49
50
  :'user_id' => :'userId',
50
51
  :'inbox_id' => :'inboxId',
51
52
  :'created_at' => :'createdAt',
53
+ :'updated_at' => :'updatedAt',
54
+ :'content_id' => :'contentId',
52
55
  :'attachment_id' => :'attachmentId',
53
- :'name' => :'name',
54
- :'id' => :'id',
55
- :'content_length' => :'contentLength',
56
56
  :'content_type' => :'contentType'
57
57
  }
58
58
  end
@@ -60,15 +60,15 @@ module MailSlurpClient
60
60
  # Attribute type mapping.
61
61
  def self.openapi_types
62
62
  {
63
- :'updated_at' => :'DateTime',
64
- :'content_id' => :'String',
63
+ :'name' => :'String',
64
+ :'id' => :'String',
65
+ :'content_length' => :'Integer',
65
66
  :'user_id' => :'String',
66
67
  :'inbox_id' => :'String',
67
68
  :'created_at' => :'DateTime',
69
+ :'updated_at' => :'DateTime',
70
+ :'content_id' => :'String',
68
71
  :'attachment_id' => :'String',
69
- :'name' => :'String',
70
- :'id' => :'String',
71
- :'content_length' => :'Integer',
72
72
  :'content_type' => :'String'
73
73
  }
74
74
  end
@@ -76,9 +76,9 @@ module MailSlurpClient
76
76
  # List of attributes with nullable: true
77
77
  def self.openapi_nullable
78
78
  Set.new([
79
- :'content_id',
80
79
  :'name',
81
80
  :'content_length',
81
+ :'content_id',
82
82
  :'content_type'
83
83
  ])
84
84
  end
@@ -98,12 +98,16 @@ module MailSlurpClient
98
98
  h[k.to_sym] = v
99
99
  }
100
100
 
101
- if attributes.key?(:'updated_at')
102
- self.updated_at = attributes[:'updated_at']
101
+ if attributes.key?(:'name')
102
+ self.name = attributes[:'name']
103
103
  end
104
104
 
105
- if attributes.key?(:'content_id')
106
- self.content_id = attributes[:'content_id']
105
+ if attributes.key?(:'id')
106
+ self.id = attributes[:'id']
107
+ end
108
+
109
+ if attributes.key?(:'content_length')
110
+ self.content_length = attributes[:'content_length']
107
111
  end
108
112
 
109
113
  if attributes.key?(:'user_id')
@@ -118,20 +122,16 @@ module MailSlurpClient
118
122
  self.created_at = attributes[:'created_at']
119
123
  end
120
124
 
121
- if attributes.key?(:'attachment_id')
122
- self.attachment_id = attributes[:'attachment_id']
123
- end
124
-
125
- if attributes.key?(:'name')
126
- self.name = attributes[:'name']
125
+ if attributes.key?(:'updated_at')
126
+ self.updated_at = attributes[:'updated_at']
127
127
  end
128
128
 
129
- if attributes.key?(:'id')
130
- self.id = attributes[:'id']
129
+ if attributes.key?(:'content_id')
130
+ self.content_id = attributes[:'content_id']
131
131
  end
132
132
 
133
- if attributes.key?(:'content_length')
134
- self.content_length = attributes[:'content_length']
133
+ if attributes.key?(:'attachment_id')
134
+ self.attachment_id = attributes[:'attachment_id']
135
135
  end
136
136
 
137
137
  if attributes.key?(:'content_type')
@@ -143,8 +143,8 @@ module MailSlurpClient
143
143
  # @return Array for valid properties with the reasons
144
144
  def list_invalid_properties
145
145
  invalid_properties = Array.new
146
- if @updated_at.nil?
147
- invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
146
+ if @id.nil?
147
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
148
148
  end
149
149
 
150
150
  if @user_id.nil?
@@ -155,12 +155,12 @@ module MailSlurpClient
155
155
  invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
156
156
  end
157
157
 
158
- if @attachment_id.nil?
159
- invalid_properties.push('invalid value for "attachment_id", attachment_id cannot be nil.')
158
+ if @updated_at.nil?
159
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
160
160
  end
161
161
 
162
- if @id.nil?
163
- invalid_properties.push('invalid value for "id", id cannot be nil.')
162
+ if @attachment_id.nil?
163
+ invalid_properties.push('invalid value for "attachment_id", attachment_id cannot be nil.')
164
164
  end
165
165
 
166
166
  invalid_properties
@@ -169,11 +169,11 @@ module MailSlurpClient
169
169
  # Check to see if the all the properties in the model are valid
170
170
  # @return true if the model is valid
171
171
  def valid?
172
- return false if @updated_at.nil?
172
+ return false if @id.nil?
173
173
  return false if @user_id.nil?
174
174
  return false if @created_at.nil?
175
+ return false if @updated_at.nil?
175
176
  return false if @attachment_id.nil?
176
- return false if @id.nil?
177
177
  true
178
178
  end
179
179
 
@@ -182,15 +182,15 @@ module MailSlurpClient
182
182
  def ==(o)
183
183
  return true if self.equal?(o)
184
184
  self.class == o.class &&
185
- updated_at == o.updated_at &&
186
- content_id == o.content_id &&
185
+ name == o.name &&
186
+ id == o.id &&
187
+ content_length == o.content_length &&
187
188
  user_id == o.user_id &&
188
189
  inbox_id == o.inbox_id &&
189
190
  created_at == o.created_at &&
191
+ updated_at == o.updated_at &&
192
+ content_id == o.content_id &&
190
193
  attachment_id == o.attachment_id &&
191
- name == o.name &&
192
- id == o.id &&
193
- content_length == o.content_length &&
194
194
  content_type == o.content_type
195
195
  end
196
196
 
@@ -203,7 +203,7 @@ module MailSlurpClient
203
203
  # Calculates hash code according to all attributes.
204
204
  # @return [Integer] Hash code
205
205
  def hash
206
- [updated_at, content_id, user_id, inbox_id, created_at, attachment_id, name, id, content_length, content_type].hash
206
+ [name, id, content_length, user_id, inbox_id, created_at, updated_at, content_id, attachment_id, content_type].hash
207
207
  end
208
208
 
209
209
  # Builds the object from hash
@@ -0,0 +1,325 @@
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
+ class AvailablePhoneNumberDto
17
+ attr_accessor :phone_number
18
+
19
+ attr_accessor :phone_country
20
+
21
+ attr_accessor :phone_variant
22
+
23
+ attr_accessor :line_type
24
+
25
+ attr_accessor :carrier_name
26
+
27
+ attr_accessor :mobile_country_code
28
+
29
+ attr_accessor :mobile_network_code
30
+
31
+ attr_accessor :provider_label
32
+
33
+ class EnumAttributeValidator
34
+ attr_reader :datatype
35
+ attr_reader :allowable_values
36
+
37
+ def initialize(datatype, allowable_values)
38
+ @allowable_values = allowable_values.map do |value|
39
+ case datatype.to_s
40
+ when /Integer/i
41
+ value.to_i
42
+ when /Float/i
43
+ value.to_f
44
+ else
45
+ value
46
+ end
47
+ end
48
+ end
49
+
50
+ def valid?(value)
51
+ !value || allowable_values.include?(value)
52
+ end
53
+ end
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'phone_number' => :'phoneNumber',
59
+ :'phone_country' => :'phoneCountry',
60
+ :'phone_variant' => :'phoneVariant',
61
+ :'line_type' => :'lineType',
62
+ :'carrier_name' => :'carrierName',
63
+ :'mobile_country_code' => :'mobileCountryCode',
64
+ :'mobile_network_code' => :'mobileNetworkCode',
65
+ :'provider_label' => :'providerLabel'
66
+ }
67
+ end
68
+
69
+ # Attribute type mapping.
70
+ def self.openapi_types
71
+ {
72
+ :'phone_number' => :'String',
73
+ :'phone_country' => :'String',
74
+ :'phone_variant' => :'String',
75
+ :'line_type' => :'String',
76
+ :'carrier_name' => :'String',
77
+ :'mobile_country_code' => :'String',
78
+ :'mobile_network_code' => :'String',
79
+ :'provider_label' => :'String'
80
+ }
81
+ end
82
+
83
+ # List of attributes with nullable: true
84
+ def self.openapi_nullable
85
+ Set.new([
86
+ ])
87
+ end
88
+
89
+ # Initializes the object
90
+ # @param [Hash] attributes Model attributes in the form of hash
91
+ def initialize(attributes = {})
92
+ if (!attributes.is_a?(Hash))
93
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MailSlurpClient::AvailablePhoneNumberDto` initialize method"
94
+ end
95
+
96
+ # check to see if the attribute exists and convert string to symbol for hash key
97
+ attributes = attributes.each_with_object({}) { |(k, v), h|
98
+ if (!self.class.attribute_map.key?(k.to_sym))
99
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MailSlurpClient::AvailablePhoneNumberDto`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
100
+ end
101
+ h[k.to_sym] = v
102
+ }
103
+
104
+ if attributes.key?(:'phone_number')
105
+ self.phone_number = attributes[:'phone_number']
106
+ end
107
+
108
+ if attributes.key?(:'phone_country')
109
+ self.phone_country = attributes[:'phone_country']
110
+ end
111
+
112
+ if attributes.key?(:'phone_variant')
113
+ self.phone_variant = attributes[:'phone_variant']
114
+ end
115
+
116
+ if attributes.key?(:'line_type')
117
+ self.line_type = attributes[:'line_type']
118
+ end
119
+
120
+ if attributes.key?(:'carrier_name')
121
+ self.carrier_name = attributes[:'carrier_name']
122
+ end
123
+
124
+ if attributes.key?(:'mobile_country_code')
125
+ self.mobile_country_code = attributes[:'mobile_country_code']
126
+ end
127
+
128
+ if attributes.key?(:'mobile_network_code')
129
+ self.mobile_network_code = attributes[:'mobile_network_code']
130
+ end
131
+
132
+ if attributes.key?(:'provider_label')
133
+ self.provider_label = attributes[:'provider_label']
134
+ end
135
+ end
136
+
137
+ # Show invalid properties with the reasons. Usually used together with valid?
138
+ # @return Array for valid properties with the reasons
139
+ def list_invalid_properties
140
+ invalid_properties = Array.new
141
+ if @phone_number.nil?
142
+ invalid_properties.push('invalid value for "phone_number", phone_number cannot be nil.')
143
+ end
144
+
145
+ if @phone_country.nil?
146
+ invalid_properties.push('invalid value for "phone_country", phone_country cannot be nil.')
147
+ end
148
+
149
+ invalid_properties
150
+ end
151
+
152
+ # Check to see if the all the properties in the model are valid
153
+ # @return true if the model is valid
154
+ def valid?
155
+ return false if @phone_number.nil?
156
+ return false if @phone_country.nil?
157
+ phone_country_validator = EnumAttributeValidator.new('String', ["US", "GB", "AU", "CA", "EE", "HK", "PL", "PT", "NL", "IL", "FI", "SE"])
158
+ return false unless phone_country_validator.valid?(@phone_country)
159
+ phone_variant_validator = EnumAttributeValidator.new('String', ["LOCAL", "MOBILE", "TOLL_FREE"])
160
+ return false unless phone_variant_validator.valid?(@phone_variant)
161
+ true
162
+ end
163
+
164
+ # Custom attribute writer method checking allowed values (enum).
165
+ # @param [Object] phone_country Object to be assigned
166
+ def phone_country=(phone_country)
167
+ validator = EnumAttributeValidator.new('String', ["US", "GB", "AU", "CA", "EE", "HK", "PL", "PT", "NL", "IL", "FI", "SE"])
168
+ unless validator.valid?(phone_country)
169
+ fail ArgumentError, "invalid value for \"phone_country\", must be one of #{validator.allowable_values}."
170
+ end
171
+ @phone_country = phone_country
172
+ end
173
+
174
+ # Custom attribute writer method checking allowed values (enum).
175
+ # @param [Object] phone_variant Object to be assigned
176
+ def phone_variant=(phone_variant)
177
+ validator = EnumAttributeValidator.new('String', ["LOCAL", "MOBILE", "TOLL_FREE"])
178
+ unless validator.valid?(phone_variant)
179
+ fail ArgumentError, "invalid value for \"phone_variant\", must be one of #{validator.allowable_values}."
180
+ end
181
+ @phone_variant = phone_variant
182
+ end
183
+
184
+ # Checks equality by comparing each attribute.
185
+ # @param [Object] Object to be compared
186
+ def ==(o)
187
+ return true if self.equal?(o)
188
+ self.class == o.class &&
189
+ phone_number == o.phone_number &&
190
+ phone_country == o.phone_country &&
191
+ phone_variant == o.phone_variant &&
192
+ line_type == o.line_type &&
193
+ carrier_name == o.carrier_name &&
194
+ mobile_country_code == o.mobile_country_code &&
195
+ mobile_network_code == o.mobile_network_code &&
196
+ provider_label == o.provider_label
197
+ end
198
+
199
+ # @see the `==` method
200
+ # @param [Object] Object to be compared
201
+ def eql?(o)
202
+ self == o
203
+ end
204
+
205
+ # Calculates hash code according to all attributes.
206
+ # @return [Integer] Hash code
207
+ def hash
208
+ [phone_number, phone_country, phone_variant, line_type, carrier_name, mobile_country_code, mobile_network_code, provider_label].hash
209
+ end
210
+
211
+ # Builds the object from hash
212
+ # @param [Hash] attributes Model attributes in the form of hash
213
+ # @return [Object] Returns the model itself
214
+ def self.build_from_hash(attributes)
215
+ new.build_from_hash(attributes)
216
+ end
217
+
218
+ # Builds the object from hash
219
+ # @param [Hash] attributes Model attributes in the form of hash
220
+ # @return [Object] Returns the model itself
221
+ def build_from_hash(attributes)
222
+ return nil unless attributes.is_a?(Hash)
223
+ self.class.openapi_types.each_pair do |key, type|
224
+ if type =~ /\AArray<(.*)>/i
225
+ # check to ensure the input is an array given that the attribute
226
+ # is documented as an array but the input is not
227
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
228
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
229
+ end
230
+ elsif !attributes[self.class.attribute_map[key]].nil?
231
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
232
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
233
+ end
234
+
235
+ self
236
+ end
237
+
238
+ # Deserializes the data based on type
239
+ # @param string type Data type
240
+ # @param string value Value to be deserialized
241
+ # @return [Object] Deserialized data
242
+ def _deserialize(type, value)
243
+ case type.to_sym
244
+ when :DateTime
245
+ DateTime.parse(value)
246
+ when :Date
247
+ Date.parse(value)
248
+ when :String
249
+ value.to_s
250
+ when :Integer
251
+ value.to_i
252
+ when :Float
253
+ value.to_f
254
+ when :Boolean
255
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
256
+ true
257
+ else
258
+ false
259
+ end
260
+ when :Object
261
+ # generic object (usually a Hash), return directly
262
+ value
263
+ when /\AArray<(?<inner_type>.+)>\z/
264
+ inner_type = Regexp.last_match[:inner_type]
265
+ value.map { |v| _deserialize(inner_type, v) }
266
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
267
+ k_type = Regexp.last_match[:k_type]
268
+ v_type = Regexp.last_match[:v_type]
269
+ {}.tap do |hash|
270
+ value.each do |k, v|
271
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
272
+ end
273
+ end
274
+ else # model
275
+ MailSlurpClient.const_get(type).build_from_hash(value)
276
+ end
277
+ end
278
+
279
+ # Returns the string representation of the object
280
+ # @return [String] String presentation of the object
281
+ def to_s
282
+ to_hash.to_s
283
+ end
284
+
285
+ # to_body is an alias to to_hash (backward compatibility)
286
+ # @return [Hash] Returns the object in the form of hash
287
+ def to_body
288
+ to_hash
289
+ end
290
+
291
+ # Returns the object in the form of hash
292
+ # @return [Hash] Returns the object in the form of hash
293
+ def to_hash
294
+ hash = {}
295
+ self.class.attribute_map.each_pair do |attr, param|
296
+ value = self.send(attr)
297
+ if value.nil?
298
+ is_nullable = self.class.openapi_nullable.include?(attr)
299
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
300
+ end
301
+
302
+ hash[param] = _to_hash(value)
303
+ end
304
+ hash
305
+ end
306
+
307
+ # Outputs non-array value in the form of hash
308
+ # For object, use to_hash. Otherwise, just return the value
309
+ # @param [Object] value Any valid value
310
+ # @return [Hash] Returns the value in the form of hash
311
+ def _to_hash(value)
312
+ if value.is_a?(Array)
313
+ value.compact.map { |v| _to_hash(v) }
314
+ elsif value.is_a?(Hash)
315
+ {}.tap do |hash|
316
+ value.each { |k, v| hash[k] = _to_hash(v) }
317
+ end
318
+ elsif value.respond_to? :to_hash
319
+ value.to_hash
320
+ else
321
+ value
322
+ end
323
+ end
324
+ end
325
+ end