onfido 2.9.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (378) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -4
  3. data/Gemfile +5 -4
  4. data/LICENSE +5 -7
  5. data/README.md +69 -51
  6. data/Rakefile +10 -0
  7. data/lib/onfido/api/default_api.rb +4233 -0
  8. data/lib/onfido/api_client.rb +431 -0
  9. data/lib/onfido/api_error.rb +58 -0
  10. data/lib/onfido/configuration.rb +420 -0
  11. data/lib/onfido/models/address.rb +422 -0
  12. data/lib/onfido/models/address_builder.rb +422 -0
  13. data/lib/onfido/models/address_shared.rb +415 -0
  14. data/lib/onfido/models/addresses_list.rb +216 -0
  15. data/lib/onfido/models/applicant.rb +390 -0
  16. data/lib/onfido/models/applicant_builder.rb +358 -0
  17. data/lib/onfido/models/applicant_create.rb +281 -0
  18. data/lib/onfido/models/applicant_request.rb +232 -0
  19. data/lib/onfido/models/applicant_response.rb +341 -0
  20. data/lib/onfido/models/applicant_shared.rb +246 -0
  21. data/lib/onfido/models/applicant_update.rb +267 -0
  22. data/lib/onfido/models/applicant_updater.rb +344 -0
  23. data/lib/onfido/models/applicants_list.rb +223 -0
  24. data/lib/onfido/models/check.rb +419 -0
  25. data/lib/onfido/models/check_builder.rb +360 -0
  26. data/lib/onfido/models/check_request.rb +301 -0
  27. data/lib/onfido/models/check_response.rb +350 -0
  28. data/lib/onfido/models/check_shared.rb +266 -0
  29. data/lib/onfido/models/checks_list.rb +223 -0
  30. data/lib/onfido/models/complete_task_builder.rb +221 -0
  31. data/lib/onfido/models/complete_task_data_builder.rb +106 -0
  32. data/lib/onfido/models/consent_item.rb +272 -0
  33. data/lib/onfido/models/consents_builder.rb +205 -0
  34. data/lib/onfido/models/country_codes.rb +289 -0
  35. data/lib/onfido/models/device_intelligence_breakdown.rb +223 -0
  36. data/lib/onfido/models/device_intelligence_breakdown_breakdown.rb +214 -0
  37. data/lib/onfido/models/device_intelligence_breakdown_breakdown_device.rb +215 -0
  38. data/lib/onfido/models/device_intelligence_breakdown_breakdown_device_breakdown.rb +232 -0
  39. data/lib/onfido/models/device_intelligence_breakdown_properties.rb +232 -0
  40. data/lib/onfido/models/device_intelligence_breakdown_properties_device.rb +468 -0
  41. data/lib/onfido/models/device_intelligence_breakdown_properties_geolocation.rb +257 -0
  42. data/lib/onfido/models/device_intelligence_breakdown_properties_ip.rb +245 -0
  43. data/lib/onfido/models/device_intelligence_report.rb +345 -0
  44. data/lib/onfido/models/document.rb +376 -0
  45. data/lib/onfido/models/document_breakdown.rb +286 -0
  46. data/lib/onfido/models/document_breakdown_age_validation.rb +224 -0
  47. data/lib/onfido/models/document_breakdown_age_validation_breakdown.rb +214 -0
  48. data/lib/onfido/models/document_breakdown_compromised_document.rb +224 -0
  49. data/lib/onfido/models/document_breakdown_compromised_document_breakdown.rb +223 -0
  50. data/lib/onfido/models/document_breakdown_data_comparison.rb +224 -0
  51. data/lib/onfido/models/document_breakdown_data_comparison_breakdown.rb +277 -0
  52. data/lib/onfido/models/document_breakdown_data_comparison_breakdown_issuing_country.rb +223 -0
  53. data/lib/onfido/models/document_breakdown_data_consistency.rb +224 -0
  54. data/lib/onfido/models/document_breakdown_data_consistency_breakdown.rb +295 -0
  55. data/lib/onfido/models/document_breakdown_data_validation.rb +224 -0
  56. data/lib/onfido/models/document_breakdown_data_validation_breakdown.rb +268 -0
  57. data/lib/onfido/models/document_breakdown_data_validation_breakdown_document_expiration.rb +224 -0
  58. data/lib/onfido/models/document_breakdown_data_validation_breakdown_expiry_date.rb +224 -0
  59. data/lib/onfido/models/document_breakdown_image_integrity.rb +224 -0
  60. data/lib/onfido/models/document_breakdown_image_integrity_breakdown.rb +241 -0
  61. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_colour_picture.rb +224 -0
  62. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_conclusive_document_quality.rb +224 -0
  63. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_image_quality.rb +224 -0
  64. data/lib/onfido/models/document_breakdown_image_integrity_breakdown_supported_document.rb +224 -0
  65. data/lib/onfido/models/document_breakdown_issuing_authority.rb +224 -0
  66. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown.rb +223 -0
  67. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown_nfc_active_authentication.rb +224 -0
  68. data/lib/onfido/models/document_breakdown_issuing_authority_breakdown_nfc_passive_authentication.rb +224 -0
  69. data/lib/onfido/models/document_breakdown_police_record.rb +215 -0
  70. data/lib/onfido/models/document_breakdown_visual_authenticity.rb +224 -0
  71. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown.rb +277 -0
  72. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_digital_tampering.rb +224 -0
  73. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_face_detection.rb +224 -0
  74. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_fonts.rb +224 -0
  75. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_original_document_present.rb +224 -0
  76. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_other.rb +224 -0
  77. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_picture_face_integrity.rb +224 -0
  78. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_security_features.rb +224 -0
  79. data/lib/onfido/models/document_breakdown_visual_authenticity_breakdown_template.rb +224 -0
  80. data/lib/onfido/models/document_cdq_reasons.rb +285 -0
  81. data/lib/onfido/models/document_iq_reasons.rb +305 -0
  82. data/lib/onfido/models/document_odp_reasons.rb +245 -0
  83. data/lib/onfido/models/document_properties.rb +461 -0
  84. data/lib/onfido/models/document_properties_address_lines.rb +259 -0
  85. data/lib/onfido/models/document_properties_barcode_inner.rb +367 -0
  86. data/lib/onfido/models/document_properties_document_classification.rb +232 -0
  87. data/lib/onfido/models/document_properties_document_numbers_inner.rb +223 -0
  88. data/lib/onfido/models/document_properties_driving_licence_information.rb +241 -0
  89. data/lib/onfido/models/document_properties_extracted_data.rb +394 -0
  90. data/lib/onfido/models/document_properties_nfc.rb +322 -0
  91. data/lib/onfido/models/document_report.rb +354 -0
  92. data/lib/onfido/models/document_response.rb +272 -0
  93. data/lib/onfido/models/document_shared.rb +301 -0
  94. data/lib/onfido/models/document_types.rb +64 -0
  95. data/lib/onfido/models/document_video_report.rb +354 -0
  96. data/lib/onfido/models/document_video_with_address_information_report.rb +354 -0
  97. data/lib/onfido/models/document_with_address_information_report.rb +354 -0
  98. data/lib/onfido/models/document_with_driver_verification_report.rb +354 -0
  99. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties.rb +529 -0
  100. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties_all_of_passenger_vehicle.rb +236 -0
  101. data/lib/onfido/models/document_with_driver_verification_report_all_of_properties_all_of_vehicle_class_details_inner.rb +245 -0
  102. data/lib/onfido/models/document_with_driving_licence_information_report.rb +354 -0
  103. data/lib/onfido/models/documents_list.rb +223 -0
  104. data/lib/onfido/models/error.rb +214 -0
  105. data/lib/onfido/models/error1.rb +224 -0
  106. data/lib/onfido/models/error_properties.rb +234 -0
  107. data/lib/onfido/models/error_properties1.rb +223 -0
  108. data/lib/onfido/models/extract_request.rb +222 -0
  109. data/lib/onfido/models/extraction.rb +233 -0
  110. data/lib/onfido/models/extraction_document_classification.rb +289 -0
  111. data/lib/onfido/models/extraction_extracted_data.rb +530 -0
  112. data/lib/onfido/models/facial_similarity_motion_breakdown.rb +232 -0
  113. data/lib/onfido/models/facial_similarity_motion_breakdown_face_comparison.rb +224 -0
  114. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity.rb +224 -0
  115. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown.rb +223 -0
  116. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_face_detected.rb +224 -0
  117. data/lib/onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_source_integrity.rb +224 -0
  118. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity.rb +224 -0
  119. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown.rb +223 -0
  120. data/lib/onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +224 -0
  121. data/lib/onfido/models/facial_similarity_motion_properties.rb +215 -0
  122. data/lib/onfido/models/facial_similarity_motion_report.rb +354 -0
  123. data/lib/onfido/models/facial_similarity_photo_breakdown.rb +232 -0
  124. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison.rb +224 -0
  125. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown.rb +214 -0
  126. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match.rb +224 -0
  127. data/lib/onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match_properties.rb +225 -0
  128. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity.rb +224 -0
  129. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown.rb +223 -0
  130. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_face_detected.rb +224 -0
  131. data/lib/onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_source_integrity.rb +224 -0
  132. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity.rb +224 -0
  133. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown.rb +214 -0
  134. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +224 -0
  135. data/lib/onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection_properties.rb +215 -0
  136. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown.rb +232 -0
  137. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity.rb +224 -0
  138. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown.rb +223 -0
  139. data/lib/onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown_source_integrity.rb +224 -0
  140. data/lib/onfido/models/facial_similarity_photo_fully_auto_properties.rb +215 -0
  141. data/lib/onfido/models/facial_similarity_photo_fully_auto_report.rb +354 -0
  142. data/lib/onfido/models/facial_similarity_photo_properties.rb +215 -0
  143. data/lib/onfido/models/facial_similarity_photo_report.rb +354 -0
  144. data/lib/onfido/models/facial_similarity_video_breakdown.rb +232 -0
  145. data/lib/onfido/models/facial_similarity_video_breakdown_face_comparison.rb +224 -0
  146. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity.rb +224 -0
  147. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown.rb +223 -0
  148. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_face_detected.rb +224 -0
  149. data/lib/onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_source_integrity.rb +224 -0
  150. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity.rb +224 -0
  151. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown.rb +223 -0
  152. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_liveness_detected.rb +224 -0
  153. data/lib/onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_spoofing_detection.rb +224 -0
  154. data/lib/onfido/models/facial_similarity_video_properties.rb +215 -0
  155. data/lib/onfido/models/facial_similarity_video_report.rb +354 -0
  156. data/lib/onfido/models/id_number.rb +269 -0
  157. data/lib/onfido/models/id_photo.rb +289 -0
  158. data/lib/onfido/models/id_photo_response.rb +282 -0
  159. data/lib/onfido/models/id_photos_list.rb +223 -0
  160. data/lib/onfido/models/identity_enhanced_breakdown.rb +241 -0
  161. data/lib/onfido/models/identity_enhanced_breakdown_address.rb +224 -0
  162. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown.rb +232 -0
  163. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies.rb +224 -0
  164. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies_properties.rb +214 -0
  165. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_telephone_database.rb +224 -0
  166. data/lib/onfido/models/identity_enhanced_breakdown_address_breakdown_voting_register.rb +224 -0
  167. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth.rb +224 -0
  168. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown.rb +223 -0
  169. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_credit_agencies.rb +224 -0
  170. data/lib/onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_voting_register.rb +224 -0
  171. data/lib/onfido/models/identity_enhanced_breakdown_mortality.rb +215 -0
  172. data/lib/onfido/models/identity_enhanced_breakdown_sources.rb +224 -0
  173. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown.rb +214 -0
  174. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources.rb +224 -0
  175. data/lib/onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources_properties.rb +214 -0
  176. data/lib/onfido/models/identity_enhanced_properties.rb +227 -0
  177. data/lib/onfido/models/identity_enhanced_properties_matched_addresses_inner.rb +227 -0
  178. data/lib/onfido/models/identity_enhanced_report.rb +354 -0
  179. data/lib/onfido/models/india_pan_report.rb +354 -0
  180. data/lib/onfido/models/india_pan_report_all_of_breakdown.rb +214 -0
  181. data/lib/onfido/models/india_pan_report_all_of_breakdown_device.rb +214 -0
  182. data/lib/onfido/models/india_pan_report_all_of_breakdown_device_breakdown.rb +223 -0
  183. data/lib/onfido/models/india_pan_report_all_of_breakdown_device_breakdown_pan_valid.rb +214 -0
  184. data/lib/onfido/models/india_pan_report_all_of_properties.rb +214 -0
  185. data/lib/onfido/models/india_pan_report_all_of_properties_device.rb +225 -0
  186. data/lib/onfido/models/known_faces_breakdown.rb +223 -0
  187. data/lib/onfido/models/known_faces_breakdown_image_integrity.rb +215 -0
  188. data/lib/onfido/models/known_faces_breakdown_previously_seen_faces.rb +215 -0
  189. data/lib/onfido/models/known_faces_properties.rb +217 -0
  190. data/lib/onfido/models/known_faces_properties_matches_inner.rb +255 -0
  191. data/lib/onfido/models/known_faces_report.rb +354 -0
  192. data/lib/onfido/models/live_photo.rb +289 -0
  193. data/lib/onfido/models/live_photo_response.rb +282 -0
  194. data/lib/onfido/models/live_photos_list.rb +223 -0
  195. data/lib/onfido/models/live_video.rb +287 -0
  196. data/lib/onfido/models/live_videos_list.rb +223 -0
  197. data/lib/onfido/models/location.rb +254 -0
  198. data/lib/onfido/models/location_builder.rb +254 -0
  199. data/lib/onfido/models/location_shared.rb +247 -0
  200. data/lib/onfido/models/motion_capture.rb +275 -0
  201. data/lib/onfido/models/motion_captures_list.rb +223 -0
  202. data/lib/onfido/models/photo_auto_reasons.rb +255 -0
  203. data/lib/onfido/models/photo_reasons.rb +255 -0
  204. data/lib/onfido/models/proof_of_address_breakdown.rb +232 -0
  205. data/lib/onfido/models/proof_of_address_breakdown_data_comparison.rb +224 -0
  206. data/lib/onfido/models/proof_of_address_breakdown_data_comparison_breakdown.rb +232 -0
  207. data/lib/onfido/models/proof_of_address_breakdown_document_classification.rb +224 -0
  208. data/lib/onfido/models/proof_of_address_breakdown_document_classification_breakdown.rb +214 -0
  209. data/lib/onfido/models/proof_of_address_breakdown_image_integrity.rb +224 -0
  210. data/lib/onfido/models/proof_of_address_breakdown_image_integrity_breakdown.rb +214 -0
  211. data/lib/onfido/models/proof_of_address_properties.rb +319 -0
  212. data/lib/onfido/models/proof_of_address_report.rb +354 -0
  213. data/lib/onfido/models/repeat_attempts_list.rb +292 -0
  214. data/lib/onfido/models/repeat_attempts_list_repeat_attempts_inner.rb +333 -0
  215. data/lib/onfido/models/report.rb +93 -0
  216. data/lib/onfido/models/report_document.rb +222 -0
  217. data/lib/onfido/models/report_name.rb +60 -0
  218. data/lib/onfido/models/report_result.rb +42 -0
  219. data/lib/onfido/models/report_shared.rb +329 -0
  220. data/lib/onfido/models/report_status.rb +44 -0
  221. data/lib/onfido/models/report_sub_result.rb +43 -0
  222. data/lib/onfido/models/reports_list.rb +223 -0
  223. data/lib/onfido/models/results_feedback.rb +279 -0
  224. data/lib/onfido/models/sdk_token.rb +229 -0
  225. data/lib/onfido/models/sdk_token_builder.rb +259 -0
  226. data/lib/onfido/models/sdk_token_request.rb +252 -0
  227. data/lib/onfido/models/sdk_token_response.rb +222 -0
  228. data/lib/onfido/models/task.rb +329 -0
  229. data/lib/onfido/models/task_item.rb +287 -0
  230. data/lib/onfido/models/timeline_file_reference.rb +239 -0
  231. data/lib/onfido/models/us_driving_licence_breakdown.rb +232 -0
  232. data/lib/onfido/models/us_driving_licence_breakdown_address.rb +224 -0
  233. data/lib/onfido/models/us_driving_licence_breakdown_address_breakdown.rb +259 -0
  234. data/lib/onfido/models/us_driving_licence_breakdown_document.rb +224 -0
  235. data/lib/onfido/models/us_driving_licence_breakdown_document_breakdown.rb +241 -0
  236. data/lib/onfido/models/us_driving_licence_breakdown_personal.rb +224 -0
  237. data/lib/onfido/models/us_driving_licence_breakdown_personal_breakdown.rb +322 -0
  238. data/lib/onfido/models/us_driving_licence_builder.rb +505 -0
  239. data/lib/onfido/models/us_driving_licence_report.rb +354 -0
  240. data/lib/onfido/models/us_driving_licence_shared.rb +499 -0
  241. data/lib/onfido/models/video_reasons.rb +245 -0
  242. data/lib/onfido/models/watchlist_aml_breakdown.rb +241 -0
  243. data/lib/onfido/models/watchlist_aml_breakdown_adverse_media.rb +215 -0
  244. data/lib/onfido/models/watchlist_aml_breakdown_legal_and_regulatory_warnings.rb +215 -0
  245. data/lib/onfido/models/watchlist_aml_breakdown_politically_exposed_person.rb +215 -0
  246. data/lib/onfido/models/watchlist_aml_breakdown_sanction.rb +215 -0
  247. data/lib/onfido/models/watchlist_aml_properties.rb +217 -0
  248. data/lib/onfido/models/watchlist_aml_report.rb +354 -0
  249. data/lib/onfido/models/watchlist_enhanced_breakdown.rb +241 -0
  250. data/lib/onfido/models/watchlist_enhanced_properties.rb +217 -0
  251. data/lib/onfido/models/watchlist_enhanced_report.rb +354 -0
  252. data/lib/onfido/models/watchlist_monitor.rb +342 -0
  253. data/lib/onfido/models/watchlist_monitor_builder.rb +292 -0
  254. data/lib/onfido/models/watchlist_monitor_match.rb +225 -0
  255. data/lib/onfido/models/watchlist_monitor_matches_list.rb +223 -0
  256. data/lib/onfido/models/watchlist_monitor_matches_updater.rb +227 -0
  257. data/lib/onfido/models/watchlist_monitor_response.rb +254 -0
  258. data/lib/onfido/models/watchlist_monitor_shared.rb +285 -0
  259. data/lib/onfido/models/watchlist_monitors_list.rb +223 -0
  260. data/lib/onfido/models/watchlist_peps_only_report.rb +354 -0
  261. data/lib/onfido/models/watchlist_sanctions_only_report.rb +354 -0
  262. data/lib/onfido/models/watchlist_standard_breakdown.rb +232 -0
  263. data/lib/onfido/models/watchlist_standard_properties.rb +217 -0
  264. data/lib/onfido/models/watchlist_standard_report.rb +354 -0
  265. data/lib/onfido/models/webhook.rb +304 -0
  266. data/lib/onfido/models/webhook_builder.rb +274 -0
  267. data/lib/onfido/models/webhook_create.rb +222 -0
  268. data/lib/onfido/models/webhook_event.rb +214 -0
  269. data/lib/onfido/models/webhook_event_payload.rb +273 -0
  270. data/lib/onfido/models/webhook_event_payload_object.rb +260 -0
  271. data/lib/onfido/models/webhook_event_type.rb +56 -0
  272. data/lib/onfido/models/webhook_resend.rb +216 -0
  273. data/lib/onfido/models/webhook_response.rb +252 -0
  274. data/lib/onfido/models/webhook_shared.rb +249 -0
  275. data/lib/onfido/models/webhook_update.rb +215 -0
  276. data/lib/onfido/models/webhook_updater.rb +267 -0
  277. data/lib/onfido/models/webhooks_list.rb +223 -0
  278. data/lib/onfido/models/webhooks_resend_item.rb +261 -0
  279. data/lib/onfido/models/workflow_run.rb +416 -0
  280. data/lib/onfido/models/workflow_run_builder.rb +316 -0
  281. data/lib/onfido/models/workflow_run_request.rb +217 -0
  282. data/lib/onfido/models/workflow_run_response.rb +317 -0
  283. data/lib/onfido/models/workflow_run_response_error.rb +226 -0
  284. data/lib/onfido/models/workflow_run_shared.rb +296 -0
  285. data/lib/onfido/models/workflow_run_shared_link.rb +290 -0
  286. data/lib/onfido/version.rb +12 -2
  287. data/lib/onfido/webhook_event_verifier.rb +20 -0
  288. data/lib/onfido.rb +309 -25
  289. data/onfido.gemspec +42 -33
  290. data/spec/integrations/address_picker_spec.rb +16 -0
  291. data/spec/integrations/applicant_spec.rb +73 -95
  292. data/spec/integrations/check_spec.rb +60 -41
  293. data/spec/integrations/document_spec.rb +28 -57
  294. data/spec/integrations/extraction_spec.rb +27 -12
  295. data/spec/integrations/id_photo_spec.rb +55 -0
  296. data/spec/integrations/live_photo_spec.rb +28 -45
  297. data/spec/integrations/live_video_spec.rb +33 -19
  298. data/spec/integrations/media/sample_driving_licence.png +0 -0
  299. data/spec/integrations/media/sample_photo.png +0 -0
  300. data/spec/integrations/motion_capture_spec.rb +30 -24
  301. data/spec/integrations/report_schema_spec.rb +45 -0
  302. data/spec/integrations/report_spec.rb +34 -25
  303. data/spec/integrations/sdk_token_spec.rb +12 -10
  304. data/spec/integrations/tasks_spec.rb +45 -0
  305. data/spec/integrations/watchlist_monitor_spec.rb +73 -0
  306. data/spec/integrations/webhook_spec.rb +40 -88
  307. data/spec/integrations/workflow_run_output_spec.rb +117 -0
  308. data/spec/integrations/workflow_run_spec.rb +64 -34
  309. data/spec/shared_contexts/with_applicant.rb +24 -0
  310. data/spec/shared_contexts/with_check.rb +18 -0
  311. data/spec/shared_contexts/with_document.rb +13 -0
  312. data/spec/shared_contexts/with_live_photo.rb +18 -0
  313. data/spec/shared_contexts/with_onfido.rb +14 -0
  314. data/spec/shared_contexts/with_workflow_run.rb +19 -0
  315. data/spec/spec_helper.rb +73 -11
  316. data/spec/webhook_event_verifier_spec.rb +29 -0
  317. metadata +367 -157
  318. data/.github/workflows/gem-push.yml +0 -31
  319. data/.github/workflows/ruby.yml +0 -25
  320. data/.gitignore +0 -19
  321. data/.rspec +0 -2
  322. data/.rubocop.yml +0 -13
  323. data/lib/onfido/api.rb +0 -65
  324. data/lib/onfido/errors/connection_error.rb +0 -6
  325. data/lib/onfido/errors/onfido_error.rb +0 -30
  326. data/lib/onfido/errors/request_error.rb +0 -6
  327. data/lib/onfido/errors/server_error.rb +0 -6
  328. data/lib/onfido/options.rb +0 -38
  329. data/lib/onfido/resource.rb +0 -153
  330. data/lib/onfido/resources/address.rb +0 -9
  331. data/lib/onfido/resources/applicant.rb +0 -29
  332. data/lib/onfido/resources/check.rb +0 -28
  333. data/lib/onfido/resources/document.rb +0 -28
  334. data/lib/onfido/resources/extraction.rb +0 -11
  335. data/lib/onfido/resources/live_photo.rb +0 -27
  336. data/lib/onfido/resources/live_video.rb +0 -17
  337. data/lib/onfido/resources/monitor.rb +0 -32
  338. data/lib/onfido/resources/motion_capture.rb +0 -21
  339. data/lib/onfido/resources/report.rb +0 -21
  340. data/lib/onfido/resources/sdk_token.rb +0 -10
  341. data/lib/onfido/resources/webhook.rb +0 -40
  342. data/lib/onfido/resources/workflow_run.rb +0 -21
  343. data/spec/integrations/address_spec.rb +0 -13
  344. data/spec/integrations/monitor_spec.rb +0 -100
  345. data/spec/integrations/resource_spec.rb +0 -106
  346. data/spec/onfido/api_spec.rb +0 -22
  347. data/spec/onfido/connection_error_spec.rb +0 -20
  348. data/spec/onfido/options_spec.rb +0 -39
  349. data/spec/onfido/request_error_spec.rb +0 -36
  350. data/spec/support/fake_onfido_api.rb +0 -295
  351. data/spec/support/fixtures/4xx_response.json +0 -14
  352. data/spec/support/fixtures/addresses.json +0 -24
  353. data/spec/support/fixtures/applicant.json +0 -28
  354. data/spec/support/fixtures/applicants.json +0 -12
  355. data/spec/support/fixtures/check.json +0 -12
  356. data/spec/support/fixtures/checks.json +0 -16
  357. data/spec/support/fixtures/document.json +0 -10
  358. data/spec/support/fixtures/documents.json +0 -23
  359. data/spec/support/fixtures/extraction.json +0 -23
  360. data/spec/support/fixtures/live_photo.json +0 -9
  361. data/spec/support/fixtures/live_photos.json +0 -22
  362. data/spec/support/fixtures/live_video.json +0 -23
  363. data/spec/support/fixtures/live_videos.json +0 -27
  364. data/spec/support/fixtures/monitor.json +0 -8
  365. data/spec/support/fixtures/monitor_matches.json +0 -12
  366. data/spec/support/fixtures/monitors.json +0 -12
  367. data/spec/support/fixtures/motion_capture.json +0 -9
  368. data/spec/support/fixtures/motion_captures.json +0 -13
  369. data/spec/support/fixtures/not_scheduled_for_deletion_error.json +0 -7
  370. data/spec/support/fixtures/report.json +0 -10
  371. data/spec/support/fixtures/reports.json +0 -24
  372. data/spec/support/fixtures/sdk_token.json +0 -3
  373. data/spec/support/fixtures/signed_workflow_run.pdf +0 -0
  374. data/spec/support/fixtures/unexpected_error_format.json +0 -3
  375. data/spec/support/fixtures/webhook.json +0 -14
  376. data/spec/support/fixtures/webhooks.json +0 -31
  377. data/spec/support/fixtures/workflow_run.json +0 -20
  378. data/spec/support/fixtures/workflow_runs.json +0 -42
data/lib/onfido.rb CHANGED
@@ -1,31 +1,315 @@
1
- # frozen_string_literal: true
1
+ =begin
2
+ #Onfido API v3.6
2
3
 
3
- require 'json'
4
- require 'rack'
5
- require 'rest-client'
6
- require 'openssl'
4
+ #The Onfido API (v3.6)
7
5
 
6
+ The version of the OpenAPI document: v3.6
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.6.0
10
+
11
+ =end
12
+
13
+ # Common files
14
+ require 'onfido/api_client'
15
+ require 'onfido/api_error'
8
16
  require 'onfido/version'
9
- require 'onfido/errors/onfido_error'
10
- require 'onfido/errors/request_error'
11
- require 'onfido/errors/server_error'
12
- require 'onfido/errors/connection_error'
13
- require 'onfido/api'
14
- require 'onfido/options'
15
- require 'onfido/resource'
16
- require 'onfido/resources/address'
17
- require 'onfido/resources/applicant'
18
- require 'onfido/resources/check'
19
- require 'onfido/resources/document'
20
- require 'onfido/resources/extraction'
21
- require 'onfido/resources/live_photo'
22
- require 'onfido/resources/live_video'
23
- require 'onfido/resources/monitor'
24
- require 'onfido/resources/motion_capture'
25
- require 'onfido/resources/report'
26
- require 'onfido/resources/sdk_token'
27
- require 'onfido/resources/webhook'
28
- require 'onfido/resources/workflow_run'
17
+ require 'onfido/configuration'
18
+
19
+ # Models
20
+ require 'onfido/models/address'
21
+ require 'onfido/models/address_builder'
22
+ require 'onfido/models/address_shared'
23
+ require 'onfido/models/addresses_list'
24
+ require 'onfido/models/applicant'
25
+ require 'onfido/models/applicant_builder'
26
+ require 'onfido/models/applicant_create'
27
+ require 'onfido/models/applicant_request'
28
+ require 'onfido/models/applicant_response'
29
+ require 'onfido/models/applicant_shared'
30
+ require 'onfido/models/applicant_update'
31
+ require 'onfido/models/applicant_updater'
32
+ require 'onfido/models/applicants_list'
33
+ require 'onfido/models/check'
34
+ require 'onfido/models/check_builder'
35
+ require 'onfido/models/check_request'
36
+ require 'onfido/models/check_response'
37
+ require 'onfido/models/check_shared'
38
+ require 'onfido/models/checks_list'
39
+ require 'onfido/models/complete_task_builder'
40
+ require 'onfido/models/complete_task_data_builder'
41
+ require 'onfido/models/consent_item'
42
+ require 'onfido/models/consents_builder'
43
+ require 'onfido/models/country_codes'
44
+ require 'onfido/models/device_intelligence_breakdown'
45
+ require 'onfido/models/device_intelligence_breakdown_breakdown'
46
+ require 'onfido/models/device_intelligence_breakdown_breakdown_device'
47
+ require 'onfido/models/device_intelligence_breakdown_breakdown_device_breakdown'
48
+ require 'onfido/models/device_intelligence_breakdown_properties'
49
+ require 'onfido/models/device_intelligence_breakdown_properties_device'
50
+ require 'onfido/models/device_intelligence_breakdown_properties_geolocation'
51
+ require 'onfido/models/device_intelligence_breakdown_properties_ip'
52
+ require 'onfido/models/device_intelligence_report'
53
+ require 'onfido/models/document'
54
+ require 'onfido/models/document_breakdown'
55
+ require 'onfido/models/document_breakdown_age_validation'
56
+ require 'onfido/models/document_breakdown_age_validation_breakdown'
57
+ require 'onfido/models/document_breakdown_compromised_document'
58
+ require 'onfido/models/document_breakdown_compromised_document_breakdown'
59
+ require 'onfido/models/document_breakdown_data_comparison'
60
+ require 'onfido/models/document_breakdown_data_comparison_breakdown'
61
+ require 'onfido/models/document_breakdown_data_comparison_breakdown_issuing_country'
62
+ require 'onfido/models/document_breakdown_data_consistency'
63
+ require 'onfido/models/document_breakdown_data_consistency_breakdown'
64
+ require 'onfido/models/document_breakdown_data_validation'
65
+ require 'onfido/models/document_breakdown_data_validation_breakdown'
66
+ require 'onfido/models/document_breakdown_data_validation_breakdown_document_expiration'
67
+ require 'onfido/models/document_breakdown_data_validation_breakdown_expiry_date'
68
+ require 'onfido/models/document_breakdown_image_integrity'
69
+ require 'onfido/models/document_breakdown_image_integrity_breakdown'
70
+ require 'onfido/models/document_breakdown_image_integrity_breakdown_colour_picture'
71
+ require 'onfido/models/document_breakdown_image_integrity_breakdown_conclusive_document_quality'
72
+ require 'onfido/models/document_breakdown_image_integrity_breakdown_image_quality'
73
+ require 'onfido/models/document_breakdown_image_integrity_breakdown_supported_document'
74
+ require 'onfido/models/document_breakdown_issuing_authority'
75
+ require 'onfido/models/document_breakdown_issuing_authority_breakdown'
76
+ require 'onfido/models/document_breakdown_issuing_authority_breakdown_nfc_active_authentication'
77
+ require 'onfido/models/document_breakdown_issuing_authority_breakdown_nfc_passive_authentication'
78
+ require 'onfido/models/document_breakdown_police_record'
79
+ require 'onfido/models/document_breakdown_visual_authenticity'
80
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown'
81
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown_digital_tampering'
82
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown_face_detection'
83
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown_fonts'
84
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown_original_document_present'
85
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown_other'
86
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown_picture_face_integrity'
87
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown_security_features'
88
+ require 'onfido/models/document_breakdown_visual_authenticity_breakdown_template'
89
+ require 'onfido/models/document_cdq_reasons'
90
+ require 'onfido/models/document_iq_reasons'
91
+ require 'onfido/models/document_odp_reasons'
92
+ require 'onfido/models/document_properties'
93
+ require 'onfido/models/document_properties_address_lines'
94
+ require 'onfido/models/document_properties_barcode_inner'
95
+ require 'onfido/models/document_properties_document_classification'
96
+ require 'onfido/models/document_properties_document_numbers_inner'
97
+ require 'onfido/models/document_properties_driving_licence_information'
98
+ require 'onfido/models/document_properties_extracted_data'
99
+ require 'onfido/models/document_properties_nfc'
100
+ require 'onfido/models/document_report'
101
+ require 'onfido/models/document_response'
102
+ require 'onfido/models/document_shared'
103
+ require 'onfido/models/document_types'
104
+ require 'onfido/models/document_video_report'
105
+ require 'onfido/models/document_video_with_address_information_report'
106
+ require 'onfido/models/document_with_address_information_report'
107
+ require 'onfido/models/document_with_driver_verification_report'
108
+ require 'onfido/models/document_with_driver_verification_report_all_of_properties'
109
+ require 'onfido/models/document_with_driver_verification_report_all_of_properties_all_of_passenger_vehicle'
110
+ require 'onfido/models/document_with_driver_verification_report_all_of_properties_all_of_vehicle_class_details_inner'
111
+ require 'onfido/models/document_with_driving_licence_information_report'
112
+ require 'onfido/models/documents_list'
113
+ require 'onfido/models/error'
114
+ require 'onfido/models/error1'
115
+ require 'onfido/models/error_properties'
116
+ require 'onfido/models/error_properties1'
117
+ require 'onfido/models/extract_request'
118
+ require 'onfido/models/extraction'
119
+ require 'onfido/models/extraction_document_classification'
120
+ require 'onfido/models/extraction_extracted_data'
121
+ require 'onfido/models/facial_similarity_motion_breakdown'
122
+ require 'onfido/models/facial_similarity_motion_breakdown_face_comparison'
123
+ require 'onfido/models/facial_similarity_motion_breakdown_image_integrity'
124
+ require 'onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown'
125
+ require 'onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_face_detected'
126
+ require 'onfido/models/facial_similarity_motion_breakdown_image_integrity_breakdown_source_integrity'
127
+ require 'onfido/models/facial_similarity_motion_breakdown_visual_authenticity'
128
+ require 'onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown'
129
+ require 'onfido/models/facial_similarity_motion_breakdown_visual_authenticity_breakdown_spoofing_detection'
130
+ require 'onfido/models/facial_similarity_motion_properties'
131
+ require 'onfido/models/facial_similarity_motion_report'
132
+ require 'onfido/models/facial_similarity_photo_breakdown'
133
+ require 'onfido/models/facial_similarity_photo_breakdown_face_comparison'
134
+ require 'onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown'
135
+ require 'onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match'
136
+ require 'onfido/models/facial_similarity_photo_breakdown_face_comparison_breakdown_face_match_properties'
137
+ require 'onfido/models/facial_similarity_photo_breakdown_image_integrity'
138
+ require 'onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown'
139
+ require 'onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_face_detected'
140
+ require 'onfido/models/facial_similarity_photo_breakdown_image_integrity_breakdown_source_integrity'
141
+ require 'onfido/models/facial_similarity_photo_breakdown_visual_authenticity'
142
+ require 'onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown'
143
+ require 'onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection'
144
+ require 'onfido/models/facial_similarity_photo_breakdown_visual_authenticity_breakdown_spoofing_detection_properties'
145
+ require 'onfido/models/facial_similarity_photo_fully_auto_breakdown'
146
+ require 'onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity'
147
+ require 'onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown'
148
+ require 'onfido/models/facial_similarity_photo_fully_auto_breakdown_image_integrity_breakdown_source_integrity'
149
+ require 'onfido/models/facial_similarity_photo_fully_auto_properties'
150
+ require 'onfido/models/facial_similarity_photo_fully_auto_report'
151
+ require 'onfido/models/facial_similarity_photo_properties'
152
+ require 'onfido/models/facial_similarity_photo_report'
153
+ require 'onfido/models/facial_similarity_video_breakdown'
154
+ require 'onfido/models/facial_similarity_video_breakdown_face_comparison'
155
+ require 'onfido/models/facial_similarity_video_breakdown_image_integrity'
156
+ require 'onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown'
157
+ require 'onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_face_detected'
158
+ require 'onfido/models/facial_similarity_video_breakdown_image_integrity_breakdown_source_integrity'
159
+ require 'onfido/models/facial_similarity_video_breakdown_visual_authenticity'
160
+ require 'onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown'
161
+ require 'onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_liveness_detected'
162
+ require 'onfido/models/facial_similarity_video_breakdown_visual_authenticity_breakdown_spoofing_detection'
163
+ require 'onfido/models/facial_similarity_video_properties'
164
+ require 'onfido/models/facial_similarity_video_report'
165
+ require 'onfido/models/id_number'
166
+ require 'onfido/models/id_photo'
167
+ require 'onfido/models/id_photo_response'
168
+ require 'onfido/models/id_photos_list'
169
+ require 'onfido/models/identity_enhanced_breakdown'
170
+ require 'onfido/models/identity_enhanced_breakdown_address'
171
+ require 'onfido/models/identity_enhanced_breakdown_address_breakdown'
172
+ require 'onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies'
173
+ require 'onfido/models/identity_enhanced_breakdown_address_breakdown_credit_agencies_properties'
174
+ require 'onfido/models/identity_enhanced_breakdown_address_breakdown_telephone_database'
175
+ require 'onfido/models/identity_enhanced_breakdown_address_breakdown_voting_register'
176
+ require 'onfido/models/identity_enhanced_breakdown_date_of_birth'
177
+ require 'onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown'
178
+ require 'onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_credit_agencies'
179
+ require 'onfido/models/identity_enhanced_breakdown_date_of_birth_breakdown_voting_register'
180
+ require 'onfido/models/identity_enhanced_breakdown_mortality'
181
+ require 'onfido/models/identity_enhanced_breakdown_sources'
182
+ require 'onfido/models/identity_enhanced_breakdown_sources_breakdown'
183
+ require 'onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources'
184
+ require 'onfido/models/identity_enhanced_breakdown_sources_breakdown_total_sources_properties'
185
+ require 'onfido/models/identity_enhanced_properties'
186
+ require 'onfido/models/identity_enhanced_properties_matched_addresses_inner'
187
+ require 'onfido/models/identity_enhanced_report'
188
+ require 'onfido/models/india_pan_report'
189
+ require 'onfido/models/india_pan_report_all_of_breakdown'
190
+ require 'onfido/models/india_pan_report_all_of_breakdown_device'
191
+ require 'onfido/models/india_pan_report_all_of_breakdown_device_breakdown'
192
+ require 'onfido/models/india_pan_report_all_of_breakdown_device_breakdown_pan_valid'
193
+ require 'onfido/models/india_pan_report_all_of_properties'
194
+ require 'onfido/models/india_pan_report_all_of_properties_device'
195
+ require 'onfido/models/known_faces_breakdown'
196
+ require 'onfido/models/known_faces_breakdown_image_integrity'
197
+ require 'onfido/models/known_faces_breakdown_previously_seen_faces'
198
+ require 'onfido/models/known_faces_properties'
199
+ require 'onfido/models/known_faces_properties_matches_inner'
200
+ require 'onfido/models/known_faces_report'
201
+ require 'onfido/models/live_photo'
202
+ require 'onfido/models/live_photo_response'
203
+ require 'onfido/models/live_photos_list'
204
+ require 'onfido/models/live_video'
205
+ require 'onfido/models/live_videos_list'
206
+ require 'onfido/models/location'
207
+ require 'onfido/models/location_builder'
208
+ require 'onfido/models/location_shared'
209
+ require 'onfido/models/motion_capture'
210
+ require 'onfido/models/motion_captures_list'
211
+ require 'onfido/models/photo_auto_reasons'
212
+ require 'onfido/models/photo_reasons'
213
+ require 'onfido/models/proof_of_address_breakdown'
214
+ require 'onfido/models/proof_of_address_breakdown_data_comparison'
215
+ require 'onfido/models/proof_of_address_breakdown_data_comparison_breakdown'
216
+ require 'onfido/models/proof_of_address_breakdown_document_classification'
217
+ require 'onfido/models/proof_of_address_breakdown_document_classification_breakdown'
218
+ require 'onfido/models/proof_of_address_breakdown_image_integrity'
219
+ require 'onfido/models/proof_of_address_breakdown_image_integrity_breakdown'
220
+ require 'onfido/models/proof_of_address_properties'
221
+ require 'onfido/models/proof_of_address_report'
222
+ require 'onfido/models/repeat_attempts_list'
223
+ require 'onfido/models/repeat_attempts_list_repeat_attempts_inner'
224
+ require 'onfido/models/report'
225
+ require 'onfido/models/report_document'
226
+ require 'onfido/models/report_name'
227
+ require 'onfido/models/report_result'
228
+ require 'onfido/models/report_shared'
229
+ require 'onfido/models/report_status'
230
+ require 'onfido/models/report_sub_result'
231
+ require 'onfido/models/reports_list'
232
+ require 'onfido/models/results_feedback'
233
+ require 'onfido/models/sdk_token'
234
+ require 'onfido/models/sdk_token_builder'
235
+ require 'onfido/models/sdk_token_request'
236
+ require 'onfido/models/sdk_token_response'
237
+ require 'onfido/models/task'
238
+ require 'onfido/models/task_item'
239
+ require 'onfido/models/timeline_file_reference'
240
+ require 'onfido/models/us_driving_licence_breakdown'
241
+ require 'onfido/models/us_driving_licence_breakdown_address'
242
+ require 'onfido/models/us_driving_licence_breakdown_address_breakdown'
243
+ require 'onfido/models/us_driving_licence_breakdown_document'
244
+ require 'onfido/models/us_driving_licence_breakdown_document_breakdown'
245
+ require 'onfido/models/us_driving_licence_breakdown_personal'
246
+ require 'onfido/models/us_driving_licence_breakdown_personal_breakdown'
247
+ require 'onfido/models/us_driving_licence_builder'
248
+ require 'onfido/models/us_driving_licence_report'
249
+ require 'onfido/models/us_driving_licence_shared'
250
+ require 'onfido/models/video_reasons'
251
+ require 'onfido/models/watchlist_aml_breakdown'
252
+ require 'onfido/models/watchlist_aml_breakdown_adverse_media'
253
+ require 'onfido/models/watchlist_aml_breakdown_legal_and_regulatory_warnings'
254
+ require 'onfido/models/watchlist_aml_breakdown_politically_exposed_person'
255
+ require 'onfido/models/watchlist_aml_breakdown_sanction'
256
+ require 'onfido/models/watchlist_aml_properties'
257
+ require 'onfido/models/watchlist_aml_report'
258
+ require 'onfido/models/watchlist_enhanced_breakdown'
259
+ require 'onfido/models/watchlist_enhanced_properties'
260
+ require 'onfido/models/watchlist_enhanced_report'
261
+ require 'onfido/models/watchlist_monitor'
262
+ require 'onfido/models/watchlist_monitor_builder'
263
+ require 'onfido/models/watchlist_monitor_match'
264
+ require 'onfido/models/watchlist_monitor_matches_list'
265
+ require 'onfido/models/watchlist_monitor_matches_updater'
266
+ require 'onfido/models/watchlist_monitor_response'
267
+ require 'onfido/models/watchlist_monitor_shared'
268
+ require 'onfido/models/watchlist_monitors_list'
269
+ require 'onfido/models/watchlist_peps_only_report'
270
+ require 'onfido/models/watchlist_sanctions_only_report'
271
+ require 'onfido/models/watchlist_standard_breakdown'
272
+ require 'onfido/models/watchlist_standard_properties'
273
+ require 'onfido/models/watchlist_standard_report'
274
+ require 'onfido/models/webhook'
275
+ require 'onfido/models/webhook_builder'
276
+ require 'onfido/models/webhook_create'
277
+ require 'onfido/models/webhook_event'
278
+ require 'onfido/models/webhook_event_payload'
279
+ require 'onfido/models/webhook_event_payload_object'
280
+ require 'onfido/models/webhook_event_type'
281
+ require 'onfido/models/webhook_resend'
282
+ require 'onfido/models/webhook_response'
283
+ require 'onfido/models/webhook_shared'
284
+ require 'onfido/models/webhook_update'
285
+ require 'onfido/models/webhook_updater'
286
+ require 'onfido/models/webhooks_list'
287
+ require 'onfido/models/webhooks_resend_item'
288
+ require 'onfido/models/workflow_run'
289
+ require 'onfido/models/workflow_run_builder'
290
+ require 'onfido/models/workflow_run_request'
291
+ require 'onfido/models/workflow_run_response'
292
+ require 'onfido/models/workflow_run_response_error'
293
+ require 'onfido/models/workflow_run_shared'
294
+ require 'onfido/models/workflow_run_shared_link'
295
+
296
+ # APIs
297
+ require 'onfido/api/default_api'
29
298
 
30
299
  module Onfido
300
+ class << self
301
+ # Customize default settings for the SDK using block.
302
+ # Onfido.configure do |config|
303
+ # config.username = "xxx"
304
+ # config.password = "xxx"
305
+ # end
306
+ # If no block given, return the default Configuration object.
307
+ def configure
308
+ if block_given?
309
+ yield(Configuration.default)
310
+ else
311
+ Configuration.default
312
+ end
313
+ end
314
+ end
31
315
  end
data/onfido.gemspec CHANGED
@@ -1,34 +1,43 @@
1
- # frozen_string_literal: true
2
-
3
- lib = File.expand_path('lib', __dir__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'onfido/version'
6
-
7
- Gem::Specification.new do |spec|
8
- spec.name = 'onfido'
9
- spec.version = Onfido::VERSION
10
- spec.authors = ['Onfido']
11
- spec.email = ['engineering@onfido.com']
12
- spec.summary = 'A wrapper for Onfido API'
13
- spec.description = "A thin wrapper for Onfido's API. This gem only supports "\
14
- "v3 of the Onfido API. Refer to Onfido's "\
15
- 'API documentation for details of the expected '\
16
- 'requests and responses.'
17
- spec.homepage = 'http://github.com/onfido/onfido-ruby'
18
- spec.license = 'MIT'
19
-
20
- spec.files = `git ls-files -z`.split("\x0")
21
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
22
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
23
- spec.require_paths = ['lib']
24
- spec.required_ruby_version = '>= 2.4.0'
25
-
26
- spec.add_development_dependency 'rspec', '~> 3.1'
27
- spec.add_development_dependency 'rspec-its', '~> 1.2'
28
- spec.add_development_dependency 'rubocop', '~> 1.11'
29
- spec.add_development_dependency 'sinatra', '~> 1.4'
30
- spec.add_development_dependency 'webmock', '~> 3.0'
31
-
32
- spec.add_dependency 'rack', '>= 1.6.0'
33
- spec.add_dependency 'rest-client', '~> 2.0'
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ =begin
4
+ #Onfido API v3.6
5
+
6
+ #The Onfido API (v3.6)
7
+
8
+ The version of the OpenAPI document: v3.6
9
+
10
+ Generated by: https://openapi-generator.tech
11
+ Generator version: 7.6.0
12
+
13
+ =end
14
+
15
+ $:.push File.expand_path("../lib", __FILE__)
16
+ require "onfido/version"
17
+
18
+ Gem::Specification.new do |s|
19
+ s.name = "onfido"
20
+ s.version = Onfido::VERSION
21
+ s.platform = Gem::Platform::RUBY
22
+ s.authors = ["OpenAPI-Generator"]
23
+ s.email = [""]
24
+ s.homepage = "https://github.com/onfido/onfido-ruby"
25
+ s.summary = "The official Ruby library for integrating with the Onfido API."
26
+ s.description = "Ruby Library for the Onfido API"
27
+ s.license = "MIT"
28
+ s.required_ruby_version = ">= 2.7"
29
+ s.metadata = {}
30
+
31
+ s.add_runtime_dependency 'faraday', '>= 1.0.1', '< 3.0'
32
+ s.add_runtime_dependency 'faraday-multipart'
33
+ s.add_runtime_dependency 'marcel'
34
+ s.add_runtime_dependency 'openssl'
35
+
36
+ s.add_development_dependency 'rspec', '~> 3.6', '>= 3.6.0'
37
+ s.add_development_dependency 'rspec-its', '~> 1.2'
38
+
39
+ s.files = `find *`.split("\n").uniq.sort.select { |f| !f.empty? }
40
+ s.test_files = `find spec/*`.split("\n")
41
+ s.executables = []
42
+ s.require_paths = ["lib"]
34
43
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../shared_contexts/with_onfido'
4
+
5
+ describe Onfido::Address do
6
+ describe 'Address picker' do
7
+ include_context 'with onfido'
8
+
9
+ it 'finds an address based on post code' do
10
+ post_code = 'S2 2DF'
11
+ addresses_with_post_code = onfido_api.find_addresses(post_code).addresses
12
+
13
+ expect(addresses_with_post_code[0].postcode).to eq post_code
14
+ end
15
+ end
16
+ end
@@ -1,116 +1,94 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- describe Onfido::Applicant do
4
- include_context 'fake onfido api'
5
-
6
- subject(:applicant) { onfido.applicant }
7
-
8
- let(:applicant_id) { '61f659cb-c90b-4067-808a-6136b5c01351' }
9
- let(:params) do
10
- {
11
- 'title' => 'Mr',
12
- 'first_name' => 'Chandler',
13
- 'last_name' => 'Bing',
14
- 'middle_name' => 'Muriel',
15
- 'dob' => '1968-04-08',
16
- 'email' => 'chandler_bing_6@friends.com',
17
- 'address' => {
18
- 'flat_number' => '4',
19
- 'building_number' => '100',
20
- 'building_name' => 'Awesome Building',
21
- 'street' => 'Main Street',
22
- 'sub_street' => 'A sub street',
23
- 'town' => 'London',
24
- 'postcode' => 'SW4 6EH',
25
- 'country' => 'GBR'
26
- },
27
- 'location' => {
28
- 'ip_address' => '127.0.0.1',
29
- 'country_of_residence' => 'GBR'
30
- },
31
- 'phone_number' => '910100100'
32
- }
33
- end
34
-
35
- describe '#create' do
36
- # Need to find a better way of testing that the request is not malformed.
37
- # Currently this runs for every feature spec. The fact that it's under here
38
- # is only for semantic reasons
3
+ require_relative '../shared_contexts/with_applicant'
39
4
 
40
- it 'serializes the payload correctly' do
41
- WebMock.after_request do |request_signature, _response|
42
- if request_signature.uri.path == 'v3.6/applicants'
43
- expect(Rack::Utils.parse_nested_query(request_signature.body))
44
- .to eq(params)
45
- end
46
- end
47
- end
5
+ describe Onfido::Applicant do
6
+ describe 'Applicants' do
7
+ include_context 'with applicant'
48
8
 
49
9
  it 'creates an applicant' do
50
- response = applicant.create(params)
51
- expect(response['id']).not_to be_nil
10
+ params = {
11
+ 'title' => 'Mr',
12
+ 'first_name' => 'Chandler',
13
+ 'last_name' => 'Bing',
14
+ 'middle_name' => 'Muriel',
15
+ 'dob' => '1968-04-08',
16
+ 'email' => 'chandler_bing_6@friends.com',
17
+ 'address' => {
18
+ 'flat_number' => '4',
19
+ 'building_number' => '100',
20
+ 'building_name' => 'Awesome Building',
21
+ 'street' => 'Main Street',
22
+ 'sub_street' => 'A sub street',
23
+ 'town' => 'London',
24
+ 'postcode' => 'SW4 6EH',
25
+ 'country' => 'GBR'
26
+ },
27
+ 'location' => {
28
+ 'ip_address' => '127.0.0.1',
29
+ 'country_of_residence' => 'GBR'
30
+ }
31
+ }
32
+
33
+ applicant = onfido_api.create_applicant(params)
34
+ expect(applicant.id).not_to be_nil
35
+ expect(applicant.first_name).to eq 'Chandler'
36
+ expect(applicant.last_name).to eq 'Bing'
37
+ expect(applicant.email).to eq 'chandler_bing_6@friends.com'
38
+ expect(applicant.dob).to eq Date.parse('1968-04-08')
39
+ expect(applicant.address.flat_number).to eq '4'
40
+ expect(applicant.address.building_number).to eq '100'
41
+ expect(applicant.address.building_name).to eq 'Awesome Building'
42
+ expect(applicant.address.street).to eq 'Main Street'
43
+ expect(applicant.address.sub_street).to eq 'A sub street'
44
+ expect(applicant.address.town).to eq 'London'
45
+ expect(applicant.address.postcode).to eq 'SW4 6EH'
46
+ expect(applicant.address.country).to eq 'GBR'
47
+ expect(applicant.location.ip_address).to eq '127.0.0.1'
48
+ expect(applicant.location.country_of_residence).to eq 'GBR'
52
49
  end
53
- end
54
50
 
55
- describe '#update' do
56
- it 'updates an applicant' do
57
- response = applicant.update(applicant_id, params)
51
+ it 'lists applicants' do
52
+ list_of_applicants = onfido_api.list_applicants()
58
53
 
59
- expect(response['id']).to eq(applicant_id)
54
+ expect(list_of_applicants).to be_an_instance_of Onfido::ApplicantsList
55
+ expect(list_of_applicants.applicants.size).to be > 0
60
56
  end
61
- end
62
57
 
63
- describe '#find' do
64
- it 'returns the applicant' do
65
- response = applicant.find(applicant_id)
58
+ it 'finds an applicant' do
59
+ applicant = onfido_api.find_applicant(applicant_id)
66
60
 
67
- expect(response['id']).to eq(applicant_id)
61
+ expect(applicant).to be_an_instance_of Onfido::Applicant
62
+ expect(applicant.id).to eq applicant_id
63
+ expect(applicant.first_name).to eq 'Test'
64
+ expect(applicant.last_name).to eq 'Applicant'
68
65
  end
69
- end
70
-
71
- describe '#destroy' do
72
- it 'returns success code' do
73
- expect { applicant.destroy(applicant_id) }.not_to raise_error
74
- end
75
- end
76
-
77
- describe '#all' do
78
- context 'with the default page and per page params' do
79
- it 'returns all the applicants' do
80
- response = applicant.all
81
66
 
82
- expect(response['applicants'].size).to eq(2)
83
- end
67
+ it 'updates an applicant' do
68
+ new_applicant_data = Onfido::ApplicantUpdater.new(
69
+ first_name: 'Jane',
70
+ last_name: 'Doe',
71
+ dob: '1968-04-08'
72
+ )
73
+ updated_applicant = onfido_api.update_applicant(applicant_id, new_applicant_data)
74
+ expect(updated_applicant.first_name).to eq 'Jane'
75
+ expect(updated_applicant.last_name).to eq 'Doe'
76
+ expect(updated_applicant.dob).to eq Date.parse('1968-04-08')
84
77
  end
85
78
 
86
- context 'with specific range of results for a page' do
87
- it 'returns the specified applicants' do
88
- response = applicant.all(page: 1, per_page: 1)
79
+ it 'deletes an applicant' do
80
+ onfido_api.delete_applicant(applicant_id)
89
81
 
90
- expect(response['applicants'].size).to eq(1)
91
- end
82
+ expect {
83
+ onfido_api.find_applicant(applicant_id)
84
+ }.to raise_error(Onfido::ApiError) { |e|
85
+ expect(e.code).to eq(410)
86
+ }
92
87
  end
93
- end
94
-
95
- describe '#restore' do
96
- context 'an applicant scheduled for deletion' do
97
- it 'returns nil' do
98
- expect(applicant.restore(applicant_id)).to be_nil
99
- end
100
- end
101
-
102
- context 'an applicant not scheduled for deletion' do
103
- it 'returns an error' do
104
- applicant_id = 'a2fb9c62-ab10-4898-a8ec-342c4b552ad5'
105
88
 
106
- expect { applicant.restore(applicant_id) }.to raise_error do |error|
107
- expect(error).to be_a(Onfido::RequestError)
108
- expect(error.message).to eq('There was a validation error on this request')
109
- expect(error.fields).to eq(
110
- 'Applicant a2fb9c62-ab10-4898-a8ec-342c4b552ad5 is not scheduled for deletion'
111
- )
112
- end
113
- end
89
+ it 'restores an applicant' do
90
+ onfido_api.delete_applicant(applicant_id)
91
+ onfido_api.restore_applicant(applicant_id)
114
92
  end
115
93
  end
116
94
  end