onfido 5.6.0 → 6.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 (357) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/MIGRATION.md +28 -0
  4. data/README.md +18 -2
  5. data/lib/onfido/api/default_api.rb +1191 -94
  6. data/lib/onfido/api_client.rb +7 -3
  7. data/lib/onfido/api_error.rb +1 -1
  8. data/lib/onfido/configuration.rb +89 -2
  9. data/lib/onfido/models/address.rb +30 -4
  10. data/lib/onfido/models/address_builder.rb +30 -4
  11. data/lib/onfido/models/address_shared.rb +30 -4
  12. data/lib/onfido/models/addresses_list.rb +10 -4
  13. data/lib/onfido/models/applicant.rb +20 -4
  14. data/lib/onfido/models/applicant_builder.rb +10 -4
  15. data/lib/onfido/models/applicant_consent.rb +30 -4
  16. data/lib/onfido/models/applicant_consent_builder.rb +30 -4
  17. data/lib/onfido/models/applicant_consent_name.rb +1 -1
  18. data/lib/onfido/models/applicant_create.rb +10 -4
  19. data/lib/onfido/models/applicant_request.rb +10 -4
  20. data/lib/onfido/models/applicant_response.rb +20 -4
  21. data/lib/onfido/models/applicant_shared.rb +10 -4
  22. data/lib/onfido/models/applicant_update.rb +10 -4
  23. data/lib/onfido/models/applicant_updater.rb +10 -4
  24. data/lib/onfido/models/applicants_list.rb +20 -4
  25. data/lib/onfido/models/biometric_token.rb +265 -0
  26. data/lib/onfido/models/biometric_token_data.rb +317 -0
  27. data/lib/onfido/models/biometric_token_response.rb +237 -0
  28. data/lib/onfido/models/biometric_token_updater.rb +262 -0
  29. data/lib/onfido/models/biometric_tokens_response.rb +239 -0
  30. data/lib/onfido/models/check.rb +30 -4
  31. data/lib/onfido/models/check_builder.rb +30 -4
  32. data/lib/onfido/models/check_request.rb +20 -4
  33. data/lib/onfido/models/check_response.rb +20 -4
  34. data/lib/onfido/models/check_shared.rb +20 -4
  35. data/lib/onfido/models/check_status.rb +1 -1
  36. data/lib/onfido/models/checks_list.rb +20 -4
  37. data/lib/onfido/models/complete_task_builder.rb +20 -4
  38. data/lib/onfido/models/complete_task_data_builder.rb +3 -4
  39. data/lib/onfido/models/country_codes.rb +1 -1
  40. data/lib/onfido/models/device_intelligence_breakdown.rb +14 -26
  41. data/lib/onfido/models/device_intelligence_breakdown_device.rb +10 -4
  42. data/lib/onfido/models/device_intelligence_breakdown_device_breakdown.rb +10 -4
  43. data/lib/onfido/models/device_intelligence_properties.rb +13 -7
  44. data/lib/onfido/models/{device_intelligence_breakdown_properties_device.rb → device_intelligence_properties_device.rb} +33 -7
  45. data/lib/onfido/models/{device_intelligence_breakdown_properties_geolocation.rb → device_intelligence_properties_geolocation.rb} +12 -6
  46. data/lib/onfido/models/{device_intelligence_breakdown_properties_ip.rb → device_intelligence_properties_ip.rb} +12 -6
  47. data/lib/onfido/models/device_intelligence_report.rb +30 -4
  48. data/lib/onfido/models/document.rb +20 -4
  49. data/lib/onfido/models/document_breakdown.rb +10 -4
  50. data/lib/onfido/models/document_breakdown_age_validation.rb +10 -4
  51. data/lib/onfido/models/document_breakdown_age_validation_breakdown.rb +10 -4
  52. data/lib/onfido/models/document_breakdown_compromised_document.rb +10 -4
  53. data/lib/onfido/models/document_breakdown_compromised_document_breakdown.rb +10 -4
  54. data/lib/onfido/models/document_breakdown_data_comparison.rb +10 -4
  55. data/lib/onfido/models/document_breakdown_data_comparison_breakdown.rb +10 -4
  56. data/lib/onfido/models/document_breakdown_data_comparison_breakdown_issuing_country.rb +10 -4
  57. data/lib/onfido/models/document_breakdown_data_consistency.rb +10 -4
  58. data/lib/onfido/models/document_breakdown_data_consistency_breakdown.rb +10 -4
  59. data/lib/onfido/models/document_breakdown_data_validation.rb +10 -4
  60. data/lib/onfido/models/document_breakdown_data_validation_breakdown.rb +10 -4
  61. data/lib/onfido/models/document_breakdown_data_validation_breakdown_document_expiration.rb +10 -4
  62. data/lib/onfido/models/document_breakdown_data_validation_breakdown_expiry_date.rb +10 -4
  63. data/lib/onfido/models/document_breakdown_image_integrity.rb +10 -4
  64. data/lib/onfido/models/document_breakdown_image_integrity_breakdown.rb +10 -4
  65. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_colour_picture.rb +10 -4
  66. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_conclusive_document_quality.rb +10 -4
  67. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_image_quality.rb +10 -4
  68. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_supported_document.rb +10 -4
  69. data/lib/onfido/models/document_breakdown_issuing_authority.rb +10 -4
  70. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown.rb +10 -4
  71. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown_nfc_active_authentication.rb +10 -4
  72. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown_nfc_passive_authentication.rb +10 -4
  73. data/lib/onfido/models/document_breakdown_police_record.rb +10 -4
  74. data/lib/onfido/models/document_breakdown_visual_authenticity.rb +10 -4
  75. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown.rb +10 -4
  76. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_digital_tampering.rb +10 -4
  77. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_face_detection.rb +10 -4
  78. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_fonts.rb +10 -4
  79. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_original_document_present.rb +10 -4
  80. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_other.rb +10 -4
  81. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_picture_face_integrity.rb +10 -4
  82. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_security_features.rb +10 -4
  83. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_template.rb +10 -4
  84. data/lib/onfido/models/document_cdq_reasons.rb +10 -4
  85. data/lib/onfido/models/document_iq_reasons.rb +10 -4
  86. data/lib/onfido/models/document_odp_reasons.rb +10 -4
  87. data/lib/onfido/models/document_properties.rb +20 -16
  88. data/lib/onfido/models/document_properties_address_lines.rb +10 -4
  89. data/lib/onfido/models/document_properties_barcode_inner.rb +10 -4
  90. data/lib/onfido/models/document_properties_document_classification.rb +10 -4
  91. data/lib/onfido/models/document_properties_document_numbers_inner.rb +10 -4
  92. data/lib/onfido/models/document_properties_driving_licence_information_item.rb +10 -4
  93. data/lib/onfido/models/document_properties_extracted_data.rb +10 -4
  94. data/lib/onfido/models/document_properties_nfc.rb +10 -4
  95. data/lib/onfido/models/document_properties_with_driving_licence_information.rb +697 -0
  96. data/lib/onfido/models/document_report.rb +30 -4
  97. data/lib/onfido/models/document_report_shared.rb +10 -4
  98. data/lib/onfido/models/document_response.rb +20 -4
  99. data/lib/onfido/models/document_shared.rb +10 -4
  100. data/lib/onfido/models/document_types.rb +4 -2
  101. data/lib/onfido/models/document_video_report.rb +30 -4
  102. data/lib/onfido/models/document_video_with_address_information_report.rb +30 -4
  103. data/lib/onfido/models/document_with_address_information_report.rb +30 -4
  104. data/lib/onfido/models/document_with_driver_verification_report.rb +30 -4
  105. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties.rb +20 -16
  106. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties_all_of_passenger_vehicle.rb +10 -4
  107. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties_all_of_vehicle_class_details_inner.rb +10 -4
  108. data/lib/onfido/models/document_with_driving_licence_information_report.rb +31 -5
  109. data/lib/onfido/models/documents_list.rb +20 -4
  110. data/lib/onfido/models/error.rb +10 -4
  111. data/lib/onfido/models/error1.rb +10 -4
  112. data/lib/onfido/models/error_properties.rb +10 -4
  113. data/lib/onfido/models/error_properties1.rb +10 -4
  114. data/lib/onfido/models/extract_request.rb +20 -4
  115. data/lib/onfido/models/extraction.rb +10 -4
  116. data/lib/onfido/models/extraction_document_classification.rb +10 -4
  117. data/lib/onfido/models/extraction_extracted_data.rb +10 -4
  118. data/lib/onfido/models/facial_similarity_motion_breakdown.rb +10 -4
  119. data/lib/onfido/models/facial_similarity_motion_breakdown_face_comparison.rb +10 -4
  120. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity.rb +10 -4
  121. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown.rb +10 -4
  122. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_face_detected.rb +10 -4
  123. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_source_integrity.rb +10 -4
  124. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity.rb +10 -4
  125. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown.rb +10 -4
  126. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +10 -4
  127. data/lib/onfido/models/facial_similarity_motion_properties.rb +10 -4
  128. data/lib/onfido/models/facial_similarity_motion_report.rb +30 -4
  129. data/lib/onfido/models/facial_similarity_photo_breakdown.rb +10 -4
  130. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison.rb +10 -4
  131. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown.rb +10 -4
  132. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match.rb +10 -4
  133. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match_properties.rb +10 -4
  134. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity.rb +10 -4
  135. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown.rb +10 -4
  136. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_face_detected.rb +10 -4
  137. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_source_integrity.rb +10 -4
  138. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity.rb +10 -4
  139. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown.rb +10 -4
  140. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +10 -4
  141. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection_properties.rb +10 -4
  142. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown.rb +10 -4
  143. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity.rb +10 -4
  144. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown.rb +10 -4
  145. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown_source_integrity.rb +10 -4
  146. data/lib/onfido/models/facial_similarity_photo_fully_auto_properties.rb +10 -4
  147. data/lib/onfido/models/facial_similarity_photo_fully_auto_report.rb +30 -4
  148. data/lib/onfido/models/facial_similarity_photo_properties.rb +10 -4
  149. data/lib/onfido/models/facial_similarity_photo_report.rb +30 -4
  150. data/lib/onfido/models/facial_similarity_report_media.rb +20 -4
  151. data/lib/onfido/models/facial_similarity_report_shared.rb +10 -4
  152. data/lib/onfido/models/facial_similarity_video_breakdown.rb +10 -4
  153. data/lib/onfido/models/facial_similarity_video_breakdown_face_comparison.rb +10 -4
  154. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity.rb +10 -4
  155. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown.rb +10 -4
  156. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_face_detected.rb +10 -4
  157. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_source_integrity.rb +10 -4
  158. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity.rb +10 -4
  159. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown.rb +10 -4
  160. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_liveness_detected.rb +10 -4
  161. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +10 -4
  162. data/lib/onfido/models/facial_similarity_video_properties.rb +10 -4
  163. data/lib/onfido/models/facial_similarity_video_report.rb +30 -4
  164. data/lib/onfido/models/id_number.rb +10 -4
  165. data/lib/onfido/models/id_photo.rb +20 -4
  166. data/lib/onfido/models/id_photo_response.rb +20 -4
  167. data/lib/onfido/models/id_photos_list.rb +20 -4
  168. data/lib/onfido/models/identity_enhanced_breakdown.rb +10 -4
  169. data/lib/onfido/models/identity_enhanced_breakdown_address.rb +10 -4
  170. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown.rb +10 -4
  171. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies.rb +10 -4
  172. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies_properties.rb +11 -5
  173. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_telephone_database.rb +10 -4
  174. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_voting_register.rb +10 -4
  175. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth.rb +10 -4
  176. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown.rb +10 -4
  177. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_credit_agencies.rb +10 -4
  178. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_voting_register.rb +10 -4
  179. data/lib/onfido/models/identity_enhanced_breakdown_mortality.rb +10 -4
  180. data/lib/onfido/models/identity_enhanced_breakdown_sources.rb +10 -4
  181. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown.rb +10 -4
  182. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources.rb +10 -4
  183. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources_properties.rb +11 -5
  184. data/lib/onfido/models/identity_enhanced_properties.rb +10 -4
  185. data/lib/onfido/models/identity_enhanced_properties_matched_addresses_inner.rb +10 -4
  186. data/lib/onfido/models/identity_enhanced_report.rb +30 -4
  187. data/lib/onfido/models/idr_ssn_breakdown.rb +10 -4
  188. data/lib/onfido/models/idr_ssn_breakdown_breakdown.rb +10 -4
  189. data/lib/onfido/models/idr_ssn_breakdown_breakdown_full_match.rb +10 -4
  190. data/lib/onfido/models/idr_ssn_breakdown_breakdown_last4_digits_match.rb +10 -4
  191. data/lib/onfido/models/india_pan_report.rb +30 -4
  192. data/lib/onfido/models/india_pan_report_all_of_breakdown.rb +10 -4
  193. data/lib/onfido/models/india_pan_report_all_of_breakdown_device.rb +10 -4
  194. data/lib/onfido/models/india_pan_report_all_of_breakdown_device_breakdown.rb +10 -4
  195. data/lib/onfido/models/india_pan_report_all_of_breakdown_device_breakdown_pan_valid.rb +10 -4
  196. data/lib/onfido/models/india_pan_report_all_of_properties.rb +10 -4
  197. data/lib/onfido/models/india_pan_report_all_of_properties_device.rb +10 -4
  198. data/lib/onfido/models/invalidated_biometric_token_response.rb +237 -0
  199. data/lib/onfido/models/invalidated_biometric_token_summary.rb +238 -0
  200. data/lib/onfido/models/invalidated_biometric_token_summary_deleted_items.rb +239 -0
  201. data/lib/onfido/models/invalidated_biometric_tokens_response.rb +237 -0
  202. data/lib/onfido/models/known_faces_breakdown.rb +10 -4
  203. data/lib/onfido/models/known_faces_breakdown_image_integrity.rb +10 -4
  204. data/lib/onfido/models/known_faces_breakdown_previously_seen_faces.rb +10 -4
  205. data/lib/onfido/models/known_faces_properties.rb +10 -4
  206. data/lib/onfido/models/known_faces_properties_matches_inner.rb +10 -4
  207. data/lib/onfido/models/known_faces_report.rb +30 -4
  208. data/lib/onfido/models/live_photo.rb +20 -4
  209. data/lib/onfido/models/live_photo_response.rb +20 -4
  210. data/lib/onfido/models/live_photos_list.rb +20 -4
  211. data/lib/onfido/models/live_video.rb +10 -4
  212. data/lib/onfido/models/live_videos_list.rb +20 -4
  213. data/lib/onfido/models/location.rb +10 -4
  214. data/lib/onfido/models/location_builder.rb +10 -4
  215. data/lib/onfido/models/location_shared.rb +10 -4
  216. data/lib/onfido/models/motion_capture.rb +10 -4
  217. data/lib/onfido/models/motion_captures_list.rb +20 -4
  218. data/lib/onfido/models/passkey.rb +353 -0
  219. data/lib/onfido/models/passkey_updater.rb +262 -0
  220. data/lib/onfido/models/passkeys_list.rb +239 -0
  221. data/lib/onfido/models/photo_auto_reasons.rb +10 -4
  222. data/lib/onfido/models/photo_reasons.rb +10 -4
  223. data/lib/onfido/models/proof_of_address_breakdown.rb +10 -4
  224. data/lib/onfido/models/proof_of_address_breakdown_data_comparison.rb +10 -4
  225. data/lib/onfido/models/proof_of_address_breakdown_data_comparison_breakdown.rb +10 -4
  226. data/lib/onfido/models/proof_of_address_breakdown_document_classification.rb +10 -4
  227. data/lib/onfido/models/proof_of_address_breakdown_document_classification_breakdown.rb +10 -4
  228. data/lib/onfido/models/proof_of_address_breakdown_image_integrity.rb +10 -4
  229. data/lib/onfido/models/proof_of_address_breakdown_image_integrity_breakdown.rb +10 -4
  230. data/lib/onfido/models/proof_of_address_properties.rb +10 -4
  231. data/lib/onfido/models/proof_of_address_report.rb +30 -4
  232. data/lib/onfido/models/repeat_attempts_list.rb +20 -4
  233. data/lib/onfido/models/repeat_attempts_list_repeat_attempts_inner.rb +10 -4
  234. data/lib/onfido/models/report.rb +1 -1
  235. data/lib/onfido/models/report_configuration.rb +10 -4
  236. data/lib/onfido/models/report_configuration_facial_similarity.rb +10 -4
  237. data/lib/onfido/models/report_document.rb +20 -4
  238. data/lib/onfido/models/report_name.rb +1 -1
  239. data/lib/onfido/models/report_result.rb +1 -1
  240. data/lib/onfido/models/report_shared.rb +30 -4
  241. data/lib/onfido/models/report_status.rb +1 -1
  242. data/lib/onfido/models/report_sub_result.rb +1 -1
  243. data/lib/onfido/models/reports_list.rb +20 -4
  244. data/lib/onfido/models/results_feedback.rb +10 -4
  245. data/lib/onfido/models/sdk_token.rb +20 -4
  246. data/lib/onfido/models/sdk_token_builder.rb +20 -4
  247. data/lib/onfido/models/sdk_token_request.rb +20 -4
  248. data/lib/onfido/models/sdk_token_response.rb +20 -4
  249. data/lib/onfido/models/signing_document.rb +316 -0
  250. data/lib/onfido/models/signing_document_response.rb +298 -0
  251. data/lib/onfido/models/{device_intelligence_breakdown_breakdown.rb → signing_document_shared.rb} +20 -13
  252. data/lib/onfido/models/signing_documents_list.rb +239 -0
  253. data/lib/onfido/models/task.rb +10 -4
  254. data/lib/onfido/models/task_item.rb +10 -4
  255. data/lib/onfido/models/timeline_file_reference.rb +30 -4
  256. data/lib/onfido/models/updated_biometric_token_response.rb +237 -0
  257. data/lib/onfido/models/us_driving_licence_breakdown.rb +10 -4
  258. data/lib/onfido/models/us_driving_licence_breakdown_address.rb +10 -4
  259. data/lib/onfido/models/us_driving_licence_breakdown_address_breakdown.rb +10 -4
  260. data/lib/onfido/models/us_driving_licence_breakdown_document.rb +10 -4
  261. data/lib/onfido/models/us_driving_licence_breakdown_document_breakdown.rb +10 -4
  262. data/lib/onfido/models/us_driving_licence_breakdown_personal.rb +10 -4
  263. data/lib/onfido/models/us_driving_licence_breakdown_personal_breakdown.rb +10 -4
  264. data/lib/onfido/models/us_driving_licence_builder.rb +20 -4
  265. data/lib/onfido/models/us_driving_licence_report.rb +30 -4
  266. data/lib/onfido/models/us_driving_licence_shared.rb +20 -4
  267. data/lib/onfido/models/video_reasons.rb +10 -4
  268. data/lib/onfido/models/watchlist_aml_breakdown.rb +10 -4
  269. data/lib/onfido/models/watchlist_aml_breakdown_adverse_media.rb +10 -4
  270. data/lib/onfido/models/watchlist_aml_breakdown_legal_and_regulatory_warnings.rb +10 -4
  271. data/lib/onfido/models/watchlist_aml_breakdown_politically_exposed_person.rb +10 -4
  272. data/lib/onfido/models/watchlist_aml_breakdown_sanction.rb +10 -4
  273. data/lib/onfido/models/watchlist_aml_properties.rb +10 -4
  274. data/lib/onfido/models/watchlist_aml_report.rb +30 -4
  275. data/lib/onfido/models/watchlist_enhanced_breakdown.rb +10 -4
  276. data/lib/onfido/models/watchlist_enhanced_properties.rb +10 -4
  277. data/lib/onfido/models/watchlist_enhanced_properties_records_inner.rb +10 -4
  278. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_address_inner.rb +10 -4
  279. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_alias_inner.rb +10 -4
  280. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_associate_inner.rb +10 -4
  281. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_attribute_inner.rb +10 -4
  282. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_event_inner.rb +10 -4
  283. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_event_inner_source.rb +10 -4
  284. data/lib/onfido/models/watchlist_enhanced_properties_records_inner_source_inner.rb +10 -4
  285. data/lib/onfido/models/watchlist_enhanced_report.rb +30 -4
  286. data/lib/onfido/models/watchlist_mesh_added_mentions.rb +247 -0
  287. data/lib/onfido/models/watchlist_mesh_alert_risk.rb +323 -0
  288. data/lib/onfido/models/watchlist_mesh_alert_risk1.rb +316 -0
  289. data/lib/onfido/models/watchlist_mesh_associate.rb +231 -0
  290. data/lib/onfido/models/watchlist_mesh_date_value.rb +231 -0
  291. data/lib/onfido/models/{device_intelligence_breakdown_properties.rb → watchlist_mesh_field.rb} +34 -25
  292. data/lib/onfido/models/watchlist_mesh_image.rb +231 -0
  293. data/lib/onfido/models/watchlist_mesh_lists.rb +309 -0
  294. data/lib/onfido/models/watchlist_mesh_media.rb +261 -0
  295. data/lib/onfido/models/watchlist_mesh_name.rb +231 -0
  296. data/lib/onfido/models/watchlist_mesh_pep.rb +369 -0
  297. data/lib/onfido/models/watchlist_mesh_person.rb +283 -0
  298. data/lib/onfido/models/watchlist_mesh_profile.rb +273 -0
  299. data/lib/onfido/models/watchlist_mesh_risk_decision.rb +43 -0
  300. data/lib/onfido/models/watchlist_mesh_risk_detail.rb +255 -0
  301. data/lib/onfido/models/watchlist_mesh_risk_indicators.rb +271 -0
  302. data/lib/onfido/models/watchlist_mesh_sanctions.rb +309 -0
  303. data/lib/onfido/models/watchlist_monitor.rb +30 -4
  304. data/lib/onfido/models/watchlist_monitor_builder.rb +20 -4
  305. data/lib/onfido/models/watchlist_monitor_match.rb +10 -4
  306. data/lib/onfido/models/watchlist_monitor_matches_list.rb +20 -4
  307. data/lib/onfido/models/watchlist_monitor_matches_updater.rb +10 -4
  308. data/lib/onfido/models/watchlist_monitor_response.rb +20 -4
  309. data/lib/onfido/models/watchlist_monitor_shared.rb +20 -4
  310. data/lib/onfido/models/watchlist_monitors_list.rb +20 -4
  311. data/lib/onfido/models/watchlist_peps_only_report.rb +30 -4
  312. data/lib/onfido/models/watchlist_sanctions_only_report.rb +30 -4
  313. data/lib/onfido/models/watchlist_standard_breakdown.rb +10 -4
  314. data/lib/onfido/models/watchlist_standard_properties.rb +10 -4
  315. data/lib/onfido/models/watchlist_standard_report.rb +30 -4
  316. data/lib/onfido/models/webhook.rb +31 -5
  317. data/lib/onfido/models/webhook_builder.rb +31 -5
  318. data/lib/onfido/models/webhook_create.rb +31 -5
  319. data/lib/onfido/models/webhook_event.rb +10 -4
  320. data/lib/onfido/models/webhook_event_object_status.rb +1 -1
  321. data/lib/onfido/models/webhook_event_payload.rb +20 -4
  322. data/lib/onfido/models/webhook_event_payload_object.rb +20 -4
  323. data/lib/onfido/models/webhook_event_payload_resource.rb +54 -5
  324. data/lib/onfido/models/webhook_event_resource_status.rb +50 -0
  325. data/lib/onfido/models/webhook_event_resource_type.rb +1 -1
  326. data/lib/onfido/models/webhook_event_type.rb +1 -1
  327. data/lib/onfido/models/webhook_resend.rb +10 -4
  328. data/lib/onfido/models/webhook_response.rb +31 -5
  329. data/lib/onfido/models/webhook_shared.rb +10 -4
  330. data/lib/onfido/models/webhook_update.rb +21 -5
  331. data/lib/onfido/models/webhook_updater.rb +21 -5
  332. data/lib/onfido/models/webhooks_list.rb +20 -4
  333. data/lib/onfido/models/webhooks_resend_item.rb +30 -4
  334. data/lib/onfido/models/workflow_run.rb +40 -4
  335. data/lib/onfido/models/workflow_run_builder.rb +30 -4
  336. data/lib/onfido/models/workflow_run_error.rb +10 -4
  337. data/lib/onfido/models/workflow_run_link.rb +10 -4
  338. data/lib/onfido/models/workflow_run_request.rb +10 -4
  339. data/lib/onfido/models/workflow_run_response.rb +20 -4
  340. data/lib/onfido/models/workflow_run_shared.rb +30 -4
  341. data/lib/onfido/models/workflow_run_status.rb +1 -1
  342. data/lib/onfido/version.rb +2 -2
  343. data/lib/onfido.rb +40 -6
  344. data/onfido.gemspec +1 -1
  345. data/spec/integrations/biometric_token_spec.rb +122 -0
  346. data/spec/integrations/document_spec.rb +8 -1
  347. data/spec/integrations/media/nfc_data.json +11768 -0
  348. data/spec/integrations/media/sample_signing_document.pdf +33 -0
  349. data/spec/integrations/passkey_spec.rb +63 -0
  350. data/spec/integrations/signing_document_spec.rb +61 -0
  351. data/spec/integrations/watchlist_alert_risk_spec.rb +66 -0
  352. data/spec/integrations/workflow_run_spec.rb +8 -4
  353. data/spec/shared_contexts/with_document.rb +0 -1
  354. data/spec/shared_contexts/with_onfido.rb +14 -2
  355. data/spec/shared_contexts/with_signing_document.rb +15 -0
  356. data/spec/spec_helper.rb +7 -8
  357. metadata +71 -23
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: v3.6
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.11.0
9
+ Generator version: 7.16.0
10
10
 
11
11
  =end
12
12
 
@@ -31,9 +31,14 @@ module Onfido
31
31
  }
32
32
  end
33
33
 
34
+ # Returns attribute mapping this model knows about
35
+ def self.acceptable_attribute_map
36
+ attribute_map
37
+ end
38
+
34
39
  # Returns all the JSON keys this model knows about
35
40
  def self.acceptable_attributes
36
- attribute_map.values
41
+ acceptable_attribute_map.values
37
42
  end
38
43
 
39
44
  # Attribute type mapping.
@@ -59,9 +64,10 @@ module Onfido
59
64
  end
60
65
 
61
66
  # check to see if the attribute exists and convert string to symbol for hash key
67
+ acceptable_attribute_map = self.class.acceptable_attribute_map
62
68
  attributes = attributes.each_with_object({}) { |(k, v), h|
63
- if (!self.class.attribute_map.key?(k.to_sym))
64
- fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
69
+ if (!acceptable_attribute_map.key?(k.to_sym))
70
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
65
71
  end
66
72
  h[k.to_sym] = v
67
73
  }
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: v3.6
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.11.0
9
+ Generator version: 7.16.0
10
10
 
11
11
  =end
12
12
 
@@ -54,9 +54,14 @@ module Onfido
54
54
  }
55
55
  end
56
56
 
57
+ # Returns attribute mapping this model knows about
58
+ def self.acceptable_attribute_map
59
+ attribute_map
60
+ end
61
+
57
62
  # Returns all the JSON keys this model knows about
58
63
  def self.acceptable_attributes
59
- attribute_map.values
64
+ acceptable_attribute_map.values
60
65
  end
61
66
 
62
67
  # Attribute type mapping.
@@ -88,9 +93,10 @@ module Onfido
88
93
  end
89
94
 
90
95
  # check to see if the attribute exists and convert string to symbol for hash key
96
+ acceptable_attribute_map = self.class.acceptable_attribute_map
91
97
  attributes = attributes.each_with_object({}) { |(k, v), h|
92
- if (!self.class.attribute_map.key?(k.to_sym))
93
- fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
98
+ if (!acceptable_attribute_map.key?(k.to_sym))
99
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
94
100
  end
95
101
  h[k.to_sym] = v
96
102
  }
@@ -196,6 +202,16 @@ module Onfido
196
202
  @last_name = last_name
197
203
  end
198
204
 
205
+ # Custom attribute writer method with validation
206
+ # @param [Object] id Value to be assigned
207
+ def id=(id)
208
+ if id.nil?
209
+ fail ArgumentError, 'id cannot be nil'
210
+ end
211
+
212
+ @id = id
213
+ end
214
+
199
215
  # Checks equality by comparing each attribute.
200
216
  # @param [Object] Object to be compared
201
217
  def ==(o)
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: v3.6
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.11.0
9
+ Generator version: 7.16.0
10
10
 
11
11
  =end
12
12
 
@@ -36,9 +36,14 @@ module Onfido
36
36
  }
37
37
  end
38
38
 
39
+ # Returns attribute mapping this model knows about
40
+ def self.acceptable_attribute_map
41
+ attribute_map
42
+ end
43
+
39
44
  # Returns all the JSON keys this model knows about
40
45
  def self.acceptable_attributes
41
- attribute_map.values
46
+ acceptable_attribute_map.values
42
47
  end
43
48
 
44
49
  # Attribute type mapping.
@@ -65,9 +70,10 @@ module Onfido
65
70
  end
66
71
 
67
72
  # check to see if the attribute exists and convert string to symbol for hash key
73
+ acceptable_attribute_map = self.class.acceptable_attribute_map
68
74
  attributes = attributes.each_with_object({}) { |(k, v), h|
69
- if (!self.class.attribute_map.key?(k.to_sym))
70
- fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantShared`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
+ if (!acceptable_attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantShared`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
71
77
  end
72
78
  h[k.to_sym] = v
73
79
  }
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: v3.6
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.11.0
9
+ Generator version: 7.16.0
10
10
 
11
11
  =end
12
12
 
@@ -29,9 +29,14 @@ module Onfido
29
29
  }
30
30
  end
31
31
 
32
+ # Returns attribute mapping this model knows about
33
+ def self.acceptable_attribute_map
34
+ attribute_map
35
+ end
36
+
32
37
  # Returns all the JSON keys this model knows about
33
38
  def self.acceptable_attributes
34
- attribute_map.values
39
+ acceptable_attribute_map.values
35
40
  end
36
41
 
37
42
  # Attribute type mapping.
@@ -56,9 +61,10 @@ module Onfido
56
61
  end
57
62
 
58
63
  # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
59
65
  attributes = attributes.each_with_object({}) { |(k, v), h|
60
- if (!self.class.attribute_map.key?(k.to_sym))
61
- fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantUpdate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantUpdate`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
62
68
  end
63
69
  h[k.to_sym] = v
64
70
  }
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: v3.6
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.11.0
9
+ Generator version: 7.16.0
10
10
 
11
11
  =end
12
12
 
@@ -54,9 +54,14 @@ module Onfido
54
54
  }
55
55
  end
56
56
 
57
+ # Returns attribute mapping this model knows about
58
+ def self.acceptable_attribute_map
59
+ attribute_map
60
+ end
61
+
57
62
  # Returns all the JSON keys this model knows about
58
63
  def self.acceptable_attributes
59
- attribute_map.values
64
+ acceptable_attribute_map.values
60
65
  end
61
66
 
62
67
  # Attribute type mapping.
@@ -97,9 +102,10 @@ module Onfido
97
102
  end
98
103
 
99
104
  # check to see if the attribute exists and convert string to symbol for hash key
105
+ acceptable_attribute_map = self.class.acceptable_attribute_map
100
106
  attributes = attributes.each_with_object({}) { |(k, v), h|
101
- if (!self.class.attribute_map.key?(k.to_sym))
102
- fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantUpdater`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
107
+ if (!acceptable_attribute_map.key?(k.to_sym))
108
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantUpdater`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
103
109
  end
104
110
  h[k.to_sym] = v
105
111
  }
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: v3.6
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
- Generator version: 7.11.0
9
+ Generator version: 7.16.0
10
10
 
11
11
  =end
12
12
 
@@ -24,9 +24,14 @@ module Onfido
24
24
  }
25
25
  end
26
26
 
27
+ # Returns attribute mapping this model knows about
28
+ def self.acceptable_attribute_map
29
+ attribute_map
30
+ end
31
+
27
32
  # Returns all the JSON keys this model knows about
28
33
  def self.acceptable_attributes
29
- attribute_map.values
34
+ acceptable_attribute_map.values
30
35
  end
31
36
 
32
37
  # Attribute type mapping.
@@ -50,9 +55,10 @@ module Onfido
50
55
  end
51
56
 
52
57
  # check to see if the attribute exists and convert string to symbol for hash key
58
+ acceptable_attribute_map = self.class.acceptable_attribute_map
53
59
  attributes = attributes.each_with_object({}) { |(k, v), h|
54
- if (!self.class.attribute_map.key?(k.to_sym))
55
- fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantsList`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ if (!acceptable_attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::ApplicantsList`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
56
62
  end
57
63
  h[k.to_sym] = v
58
64
  }
@@ -86,6 +92,16 @@ module Onfido
86
92
  true
87
93
  end
88
94
 
95
+ # Custom attribute writer method with validation
96
+ # @param [Object] applicants Value to be assigned
97
+ def applicants=(applicants)
98
+ if applicants.nil?
99
+ fail ArgumentError, 'applicants cannot be nil'
100
+ end
101
+
102
+ @applicants = applicants
103
+ end
104
+
89
105
  # Checks equality by comparing each attribute.
90
106
  # @param [Object] Object to be compared
91
107
  def ==(o)
@@ -0,0 +1,265 @@
1
+ =begin
2
+ #Onfido Public API v3.6
3
+
4
+ #The Onfido Public API (v3.6)
5
+
6
+ The version of the OpenAPI document: v3.6
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.16.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Onfido
17
+ # Biometric token.
18
+ class BiometricToken
19
+ # The biometric token's unique identifier.
20
+ attr_accessor :uuid
21
+
22
+ attr_accessor :data
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'uuid' => :'uuid',
28
+ :'data' => :'data'
29
+ }
30
+ end
31
+
32
+ # Returns attribute mapping this model knows about
33
+ def self.acceptable_attribute_map
34
+ attribute_map
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ acceptable_attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'uuid' => :'String',
46
+ :'data' => :'BiometricTokenData'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Onfido::BiometricToken` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Onfido::BiometricToken`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'uuid')
73
+ self.uuid = attributes[:'uuid']
74
+ else
75
+ self.uuid = nil
76
+ end
77
+
78
+ if attributes.key?(:'data')
79
+ self.data = attributes[:'data']
80
+ else
81
+ self.data = nil
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ if @uuid.nil?
91
+ invalid_properties.push('invalid value for "uuid", uuid cannot be nil.')
92
+ end
93
+
94
+ if @data.nil?
95
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ return false if @uuid.nil?
106
+ return false if @data.nil?
107
+ true
108
+ end
109
+
110
+ # Custom attribute writer method with validation
111
+ # @param [Object] uuid Value to be assigned
112
+ def uuid=(uuid)
113
+ if uuid.nil?
114
+ fail ArgumentError, 'uuid cannot be nil'
115
+ end
116
+
117
+ @uuid = uuid
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] data Value to be assigned
122
+ def data=(data)
123
+ if data.nil?
124
+ fail ArgumentError, 'data cannot be nil'
125
+ end
126
+
127
+ @data = data
128
+ end
129
+
130
+ # Checks equality by comparing each attribute.
131
+ # @param [Object] Object to be compared
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ uuid == o.uuid &&
136
+ data == o.data
137
+ end
138
+
139
+ # @see the `==` method
140
+ # @param [Object] Object to be compared
141
+ def eql?(o)
142
+ self == o
143
+ end
144
+
145
+ # Calculates hash code according to all attributes.
146
+ # @return [Integer] Hash code
147
+ def hash
148
+ [uuid, data].hash
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def self.build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ attributes = attributes.transform_keys(&:to_sym)
157
+ transformed_hash = {}
158
+ openapi_types.each_pair do |key, type|
159
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
160
+ transformed_hash["#{key}"] = nil
161
+ elsif type =~ /\AArray<(.*)>/i
162
+ # check to ensure the input is an array given that the attribute
163
+ # is documented as an array but the input is not
164
+ if attributes[attribute_map[key]].is_a?(Array)
165
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
166
+ end
167
+ elsif !attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
169
+ end
170
+ end
171
+ new(transformed_hash)
172
+ end
173
+
174
+ # Deserializes the data based on type
175
+ # @param string type Data type
176
+ # @param string value Value to be deserialized
177
+ # @return [Object] Deserialized data
178
+ def self._deserialize(type, value)
179
+ case type.to_sym
180
+ when :Time
181
+ Time.parse(value)
182
+ when :Date
183
+ Date.parse(value)
184
+ when :String
185
+ value.to_s
186
+ when :Integer
187
+ value.to_i
188
+ when :Float
189
+ value.to_f
190
+ when :Boolean
191
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
192
+ true
193
+ else
194
+ false
195
+ end
196
+ when :Object
197
+ # generic object (usually a Hash), return directly
198
+ value
199
+ when /\AArray<(?<inner_type>.+)>\z/
200
+ inner_type = Regexp.last_match[:inner_type]
201
+ value.map { |v| _deserialize(inner_type, v) }
202
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
203
+ k_type = Regexp.last_match[:k_type]
204
+ v_type = Regexp.last_match[:v_type]
205
+ {}.tap do |hash|
206
+ value.each do |k, v|
207
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
208
+ end
209
+ end
210
+ else # model
211
+ # models (e.g. Pet) or oneOf
212
+ klass = Onfido.const_get(type)
213
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
214
+ end
215
+ end
216
+
217
+ # Returns the string representation of the object
218
+ # @return [String] String presentation of the object
219
+ def to_s
220
+ to_hash.to_s
221
+ end
222
+
223
+ # to_body is an alias to to_hash (backward compatibility)
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_body
226
+ to_hash
227
+ end
228
+
229
+ # Returns the object in the form of hash
230
+ # @return [Hash] Returns the object in the form of hash
231
+ def to_hash
232
+ hash = {}
233
+ self.class.attribute_map.each_pair do |attr, param|
234
+ value = self.send(attr)
235
+ if value.nil?
236
+ is_nullable = self.class.openapi_nullable.include?(attr)
237
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
238
+ end
239
+
240
+ hash[param] = _to_hash(value)
241
+ end
242
+ hash
243
+ end
244
+
245
+ # Outputs non-array value in the form of hash
246
+ # For object, use to_hash. Otherwise, just return the value
247
+ # @param [Object] value Any valid value
248
+ # @return [Hash] Returns the value in the form of hash
249
+ def _to_hash(value)
250
+ if value.is_a?(Array)
251
+ value.compact.map { |v| _to_hash(v) }
252
+ elsif value.is_a?(Hash)
253
+ {}.tap do |hash|
254
+ value.each { |k, v| hash[k] = _to_hash(v) }
255
+ end
256
+ elsif value.respond_to? :to_hash
257
+ value.to_hash
258
+ else
259
+ value
260
+ end
261
+ end
262
+
263
+ end
264
+
265
+ end