merge_ats_client 1.0.4 → 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (337) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +40 -18
  3. data/docs/AccountDetails.md +13 -7
  4. data/docs/AccountDetailsAndActions.md +6 -0
  5. data/docs/AccountDetailsAndActionsIntegration.md +1 -1
  6. data/docs/AccountDetailsApi.md +10 -7
  7. data/docs/AccountIntegration.md +4 -4
  8. data/docs/AccountTokenApi.md +2 -2
  9. data/docs/ActivitiesApi.md +11 -5
  10. data/docs/Activity.md +4 -2
  11. data/docs/Application.md +8 -6
  12. data/docs/ApplicationEndpointRequest.md +20 -0
  13. data/docs/ApplicationRequest.md +12 -6
  14. data/docs/ApplicationResponse.md +24 -0
  15. data/docs/ApplicationsApi.md +180 -18
  16. data/docs/Attachment.md +3 -1
  17. data/docs/AttachmentEndpointRequest.md +20 -0
  18. data/docs/AttachmentRequest.md +5 -1
  19. data/docs/AttachmentResponse.md +24 -0
  20. data/docs/AttachmentsApi.md +98 -16
  21. data/docs/AvailableActionsApi.md +2 -2
  22. data/docs/Candidate.md +3 -1
  23. data/docs/CandidateEndpointRequest.md +20 -0
  24. data/docs/CandidateRequest.md +7 -1
  25. data/docs/CandidateResponse.md +24 -0
  26. data/docs/CandidatesApi.md +168 -22
  27. data/docs/DataPassthroughRequest.md +6 -2
  28. data/docs/DebugModeLog.md +22 -0
  29. data/docs/DebugModelLogSummary.md +22 -0
  30. data/docs/Department.md +3 -1
  31. data/docs/DepartmentsApi.md +6 -4
  32. data/docs/EEOC.md +4 -2
  33. data/docs/EeocsApi.md +11 -5
  34. data/docs/EncodingEnum.md +15 -0
  35. data/docs/EndUserDetailsRequest.md +10 -6
  36. data/docs/ErrorValidationProblem.md +24 -0
  37. data/docs/ForceResyncApi.md +79 -0
  38. data/docs/GenerateKeyApi.md +2 -2
  39. data/docs/IgnoreCommonModel.md +20 -0
  40. data/docs/IgnoreCommonModelRequest.md +20 -0
  41. data/docs/InterviewsApi.md +11 -85
  42. data/docs/IssuesApi.md +18 -10
  43. data/docs/Job.md +7 -1
  44. data/docs/JobInterviewStage.md +4 -2
  45. data/docs/JobInterviewStagesApi.md +8 -6
  46. data/docs/JobsApi.md +13 -6
  47. data/docs/LinkToken.md +3 -1
  48. data/docs/LinkTokenApi.md +3 -3
  49. data/docs/LinkedAccountStatus.md +20 -0
  50. data/docs/LinkedAccountsApi.md +24 -22
  51. data/docs/MetaResponse.md +24 -0
  52. data/docs/MultipartFormFieldRequest.md +26 -0
  53. data/docs/Offer.md +5 -3
  54. data/docs/OffersApi.md +11 -5
  55. data/docs/Office.md +3 -1
  56. data/docs/OfficesApi.md +6 -4
  57. data/docs/PassthroughApi.md +2 -2
  58. data/docs/ReasonEnum.md +15 -0
  59. data/docs/RegenerateKeyApi.md +2 -2
  60. data/docs/RejectReason.md +3 -1
  61. data/docs/RejectReasonsApi.md +6 -4
  62. data/docs/RemoteResponse.md +5 -1
  63. data/docs/RemoteUser.md +3 -1
  64. data/docs/ResponseTypeEnum.md +15 -0
  65. data/docs/ScheduledInterview.md +6 -4
  66. data/docs/Scorecard.md +6 -4
  67. data/docs/ScorecardsApi.md +11 -85
  68. data/docs/SyncStatus.md +2 -2
  69. data/docs/SyncStatusApi.md +3 -75
  70. data/docs/Tag.md +3 -1
  71. data/docs/TagsApi.md +4 -2
  72. data/docs/UpdateApplicationStageRequest.md +20 -0
  73. data/docs/UsersApi.md +11 -85
  74. data/docs/ValidationProblemSource.md +18 -0
  75. data/docs/WarningValidationProblem.md +24 -0
  76. data/docs/WebhookReceiver.md +22 -0
  77. data/docs/WebhookReceiverRequest.md +22 -0
  78. data/docs/WebhookReceiversApi.md +153 -0
  79. data/lib/merge_ats_client/api/account_details_api.rb +10 -3
  80. data/lib/merge_ats_client/api/activities_api.rb +17 -0
  81. data/lib/merge_ats_client/api/applications_api.rb +164 -15
  82. data/lib/merge_ats_client/api/attachments_api.rb +108 -15
  83. data/lib/merge_ats_client/api/candidates_api.rb +156 -21
  84. data/lib/merge_ats_client/api/departments_api.rb +3 -0
  85. data/lib/merge_ats_client/api/eeocs_api.rb +17 -0
  86. data/lib/merge_ats_client/api/force_resync_api.rb +84 -0
  87. data/lib/merge_ats_client/api/interviews_api.rb +17 -76
  88. data/lib/merge_ats_client/api/issues_api.rb +22 -10
  89. data/lib/merge_ats_client/api/job_interview_stages_api.rb +5 -2
  90. data/lib/merge_ats_client/api/jobs_api.rb +20 -3
  91. data/lib/merge_ats_client/api/linked_accounts_api.rb +24 -21
  92. data/lib/merge_ats_client/api/offers_api.rb +17 -0
  93. data/lib/merge_ats_client/api/offices_api.rb +3 -0
  94. data/lib/merge_ats_client/api/reject_reasons_api.rb +3 -0
  95. data/lib/merge_ats_client/api/scorecards_api.rb +17 -76
  96. data/lib/merge_ats_client/api/sync_status_api.rb +4 -66
  97. data/lib/merge_ats_client/api/tags_api.rb +3 -0
  98. data/lib/merge_ats_client/api/users_api.rb +17 -76
  99. data/lib/merge_ats_client/api/webhook_receivers_api.rb +154 -0
  100. data/lib/merge_ats_client/configuration.rb +6 -4
  101. data/lib/merge_ats_client/models/access_role_enum.rb +17 -7
  102. data/lib/merge_ats_client/models/account_details.rb +33 -4
  103. data/lib/merge_ats_client/models/account_details_and_actions.rb +35 -1
  104. data/lib/merge_ats_client/models/account_details_and_actions_integration.rb +4 -2
  105. data/lib/merge_ats_client/models/account_details_and_actions_status_enum.rb +17 -7
  106. data/lib/merge_ats_client/models/account_integration.rb +2 -24
  107. data/lib/merge_ats_client/models/account_token.rb +1 -1
  108. data/lib/merge_ats_client/models/activity.rb +16 -7
  109. data/lib/merge_ats_client/models/activity_type_enum.rb +17 -7
  110. data/lib/merge_ats_client/models/application.rb +15 -11
  111. data/lib/merge_ats_client/models/application_endpoint_request.rb +237 -0
  112. data/lib/merge_ats_client/models/application_request.rb +56 -12
  113. data/lib/merge_ats_client/models/application_response.rb +266 -0
  114. data/lib/merge_ats_client/models/attachment.rb +15 -6
  115. data/lib/merge_ats_client/models/attachment_endpoint_request.rb +237 -0
  116. data/lib/merge_ats_client/models/attachment_request.rb +31 -7
  117. data/lib/merge_ats_client/models/attachment_response.rb +266 -0
  118. data/lib/merge_ats_client/models/attachment_type_enum.rb +17 -9
  119. data/lib/merge_ats_client/models/available_actions.rb +1 -1
  120. data/lib/merge_ats_client/models/candidate.rb +15 -6
  121. data/lib/merge_ats_client/models/{remote_key_for_regeneration.rb → candidate_endpoint_request.rb} +29 -16
  122. data/lib/merge_ats_client/models/candidate_request.rb +56 -7
  123. data/lib/merge_ats_client/models/candidate_response.rb +266 -0
  124. data/lib/merge_ats_client/models/categories_enum.rb +19 -7
  125. data/lib/merge_ats_client/models/category_enum.rb +19 -7
  126. data/lib/merge_ats_client/models/data_passthrough_request.rb +79 -7
  127. data/lib/merge_ats_client/models/debug_mode_log.rb +251 -0
  128. data/lib/merge_ats_client/models/{data_passthrough.rb → debug_model_log_summary.rb} +30 -41
  129. data/lib/merge_ats_client/models/department.rb +17 -7
  130. data/lib/merge_ats_client/models/disability_status_enum.rb +17 -7
  131. data/lib/merge_ats_client/models/eeoc.rb +16 -7
  132. data/lib/merge_ats_client/models/email_address.rb +2 -2
  133. data/lib/merge_ats_client/models/email_address_request.rb +2 -2
  134. data/lib/merge_ats_client/models/email_address_type_enum.rb +17 -7
  135. data/lib/merge_ats_client/models/encoding_enum.rb +46 -0
  136. data/lib/merge_ats_client/models/end_user_details_request.rb +163 -27
  137. data/lib/merge_ats_client/models/error_validation_problem.rb +260 -0
  138. data/lib/merge_ats_client/models/gender_enum.rb +17 -7
  139. data/lib/merge_ats_client/models/generate_remote_key_request.rb +20 -1
  140. data/lib/merge_ats_client/models/ignore_common_model.rb +247 -0
  141. data/lib/merge_ats_client/models/ignore_common_model_request.rb +256 -0
  142. data/lib/merge_ats_client/models/issue.rb +2 -2
  143. data/lib/merge_ats_client/models/issue_status_enum.rb +17 -7
  144. data/lib/merge_ats_client/models/job.rb +39 -6
  145. data/lib/merge_ats_client/models/job_interview_stage.rb +17 -7
  146. data/lib/merge_ats_client/models/job_status_enum.rb +17 -7
  147. data/lib/merge_ats_client/models/link_token.rb +14 -5
  148. data/lib/merge_ats_client/models/linked_account_status.rb +237 -0
  149. data/lib/merge_ats_client/models/{scorecard_request.rb → meta_response.rb} +45 -70
  150. data/lib/merge_ats_client/models/method_enum.rb +17 -7
  151. data/lib/merge_ats_client/models/model_operation.rb +1 -1
  152. data/lib/merge_ats_client/models/{scheduled_interview_request.rb → multipart_form_field_request.rb} +115 -106
  153. data/lib/merge_ats_client/models/offer.rb +16 -8
  154. data/lib/merge_ats_client/models/offer_status_enum.rb +17 -7
  155. data/lib/merge_ats_client/models/office.rb +17 -7
  156. data/lib/merge_ats_client/models/overall_recommendation_enum.rb +17 -7
  157. data/lib/merge_ats_client/models/paginated_activity_list.rb +1 -1
  158. data/lib/merge_ats_client/models/paginated_application_list.rb +1 -1
  159. data/lib/merge_ats_client/models/paginated_attachment_list.rb +1 -1
  160. data/lib/merge_ats_client/models/paginated_candidate_list.rb +1 -1
  161. data/lib/merge_ats_client/models/paginated_department_list.rb +1 -1
  162. data/lib/merge_ats_client/models/paginated_eeoc_list.rb +1 -1
  163. data/lib/merge_ats_client/models/paginated_issue_list.rb +1 -1
  164. data/lib/merge_ats_client/models/paginated_job_interview_stage_list.rb +1 -1
  165. data/lib/merge_ats_client/models/paginated_job_list.rb +1 -1
  166. data/lib/merge_ats_client/models/paginated_offer_list.rb +1 -1
  167. data/lib/merge_ats_client/models/paginated_office_list.rb +1 -1
  168. data/lib/merge_ats_client/models/paginated_reject_reason_list.rb +1 -1
  169. data/lib/merge_ats_client/models/paginated_remote_user_list.rb +1 -1
  170. data/lib/merge_ats_client/models/paginated_scheduled_interview_list.rb +1 -1
  171. data/lib/merge_ats_client/models/paginated_scorecard_list.rb +1 -1
  172. data/lib/merge_ats_client/models/paginated_sync_status_list.rb +1 -1
  173. data/lib/merge_ats_client/models/paginated_tag_list.rb +1 -1
  174. data/lib/merge_ats_client/models/phone_number.rb +2 -2
  175. data/lib/merge_ats_client/models/phone_number_request.rb +2 -2
  176. data/lib/merge_ats_client/models/phone_number_type_enum.rb +17 -7
  177. data/lib/merge_ats_client/models/race_enum.rb +17 -7
  178. data/lib/merge_ats_client/models/reason_enum.rb +46 -0
  179. data/lib/merge_ats_client/models/reject_reason.rb +17 -7
  180. data/lib/merge_ats_client/models/remote_data.rb +1 -1
  181. data/lib/merge_ats_client/models/remote_key.rb +1 -1
  182. data/lib/merge_ats_client/models/remote_key_for_regeneration_request.rb +20 -1
  183. data/lib/merge_ats_client/models/remote_response.rb +24 -10
  184. data/lib/merge_ats_client/models/remote_user.rb +17 -7
  185. data/lib/merge_ats_client/models/request_format_enum.rb +18 -7
  186. data/lib/merge_ats_client/models/response_type_enum.rb +45 -0
  187. data/lib/merge_ats_client/models/scheduled_interview.rb +16 -9
  188. data/lib/merge_ats_client/models/scheduled_interview_status_enum.rb +17 -7
  189. data/lib/merge_ats_client/models/scorecard.rb +16 -9
  190. data/lib/merge_ats_client/models/sync_status.rb +1 -11
  191. data/lib/merge_ats_client/models/sync_status_status_enum.rb +19 -9
  192. data/lib/merge_ats_client/models/tag.rb +17 -7
  193. data/lib/merge_ats_client/models/update_application_stage_request.rb +244 -0
  194. data/lib/merge_ats_client/models/url.rb +2 -2
  195. data/lib/merge_ats_client/models/url_request.rb +2 -2
  196. data/lib/merge_ats_client/models/url_type_enum.rb +18 -7
  197. data/lib/merge_ats_client/models/{remote_data_request.rb → validation_problem_source.rb} +14 -25
  198. data/lib/merge_ats_client/models/veteran_status_enum.rb +17 -7
  199. data/lib/merge_ats_client/models/visibility_enum.rb +17 -7
  200. data/lib/merge_ats_client/models/warning_validation_problem.rb +260 -0
  201. data/lib/merge_ats_client/models/webhook_receiver.rb +246 -0
  202. data/lib/merge_ats_client/models/{end_user_details.rb → webhook_receiver_request.rb} +60 -69
  203. data/lib/merge_ats_client/version.rb +1 -1
  204. data/lib/merge_ats_client.rb +24 -4
  205. data/spec/api/account_details_api_spec.rb +1 -0
  206. data/spec/api/account_token_api_spec.rb +1 -1
  207. data/spec/api/activities_api_spec.rb +6 -1
  208. data/spec/api/applications_api_spec.rb +46 -1
  209. data/spec/api/attachments_api_spec.rb +33 -1
  210. data/spec/api/available_actions_api_spec.rb +1 -1
  211. data/spec/api/candidates_api_spec.rb +44 -1
  212. data/spec/api/departments_api_spec.rb +4 -1
  213. data/spec/api/eeocs_api_spec.rb +6 -1
  214. data/spec/api/force_resync_api_spec.rb +46 -0
  215. data/spec/api/interviews_api_spec.rb +6 -1
  216. data/spec/api/issues_api_spec.rb +9 -5
  217. data/spec/api/job_interview_stages_api_spec.rb +4 -1
  218. data/spec/api/jobs_api_spec.rb +8 -1
  219. data/spec/api/link_token_api_spec.rb +2 -2
  220. data/spec/api/linked_accounts_api_spec.rb +11 -10
  221. data/spec/api/offers_api_spec.rb +6 -1
  222. data/spec/api/offices_api_spec.rb +4 -1
  223. data/spec/api/passthrough_api_spec.rb +2 -2
  224. data/spec/api/regenerate_key_api_spec.rb +3 -5
  225. data/spec/api/reject_reasons_api_spec.rb +4 -1
  226. data/spec/api/scorecards_api_spec.rb +6 -1
  227. data/spec/api/sync_status_api_spec.rb +8 -5
  228. data/spec/api/tags_api_spec.rb +3 -1
  229. data/spec/api/users_api_spec.rb +7 -1
  230. data/spec/api/webhook_receivers_api_spec.rb +58 -0
  231. data/spec/models/access_role_enum_spec.rb +1 -1
  232. data/spec/models/account_details_and_actions_spec.rb +18 -0
  233. data/spec/models/account_details_spec.rb +18 -0
  234. data/spec/models/account_integration_spec.rb +7 -1
  235. data/spec/models/account_token_spec.rb +7 -1
  236. data/spec/models/activity_spec.rb +13 -1
  237. data/spec/models/activity_type_enum_spec.rb +1 -1
  238. data/spec/models/application_endpoint_request_spec.rb +40 -0
  239. data/spec/models/application_request_spec.rb +25 -1
  240. data/spec/models/{end_user_details_spec.rb → application_response_spec.rb} +11 -15
  241. data/spec/models/application_spec.rb +19 -7
  242. data/spec/models/attachment_endpoint_request_spec.rb +40 -0
  243. data/spec/models/attachment_request_spec.rb +12 -0
  244. data/spec/models/attachment_response_spec.rb +52 -0
  245. data/spec/models/attachment_spec.rb +25 -1
  246. data/spec/models/available_actions_spec.rb +1 -1
  247. data/spec/models/candidate_endpoint_request_spec.rb +40 -0
  248. data/spec/models/candidate_request_spec.rb +37 -1
  249. data/spec/models/{data_passthrough_spec.rb → candidate_response_spec.rb} +11 -11
  250. data/spec/models/candidate_spec.rb +19 -1
  251. data/spec/models/data_passthrough_request_spec.rb +19 -1
  252. data/spec/models/debug_mode_log_spec.rb +46 -0
  253. data/spec/models/debug_model_log_summary_spec.rb +46 -0
  254. data/spec/models/department_spec.rb +13 -1
  255. data/spec/models/disability_status_enum_spec.rb +1 -1
  256. data/spec/models/eeoc_spec.rb +13 -1
  257. data/spec/models/email_address_request_spec.rb +1 -1
  258. data/spec/models/email_address_spec.rb +1 -1
  259. data/spec/models/email_address_type_enum_spec.rb +1 -1
  260. data/spec/models/encoding_enum_spec.rb +28 -0
  261. data/spec/models/end_user_details_request_spec.rb +19 -5
  262. data/spec/models/error_validation_problem_spec.rb +52 -0
  263. data/spec/models/gender_enum_spec.rb +1 -1
  264. data/spec/models/ignore_common_model_request_spec.rb +40 -0
  265. data/spec/models/ignore_common_model_spec.rb +40 -0
  266. data/spec/models/job_interview_stage_spec.rb +13 -1
  267. data/spec/models/job_spec.rb +37 -1
  268. data/spec/models/job_status_enum_spec.rb +1 -1
  269. data/spec/models/link_token_spec.rb +7 -1
  270. data/spec/models/linked_account_status_spec.rb +40 -0
  271. data/spec/models/meta_response_spec.rb +52 -0
  272. data/spec/models/method_enum_spec.rb +1 -1
  273. data/spec/models/model_operation_spec.rb +13 -1
  274. data/spec/models/{remote_user_request_spec.rb → multipart_form_field_request_spec.rb} +11 -23
  275. data/spec/models/offer_spec.rb +13 -1
  276. data/spec/models/offer_status_enum_spec.rb +1 -1
  277. data/spec/models/office_spec.rb +13 -1
  278. data/spec/models/overall_recommendation_enum_spec.rb +1 -1
  279. data/spec/models/paginated_activity_list_spec.rb +1 -1
  280. data/spec/models/paginated_application_list_spec.rb +1 -1
  281. data/spec/models/paginated_attachment_list_spec.rb +1 -1
  282. data/spec/models/paginated_candidate_list_spec.rb +1 -1
  283. data/spec/models/paginated_department_list_spec.rb +1 -1
  284. data/spec/models/paginated_eeoc_list_spec.rb +1 -1
  285. data/spec/models/paginated_job_interview_stage_list_spec.rb +1 -1
  286. data/spec/models/paginated_job_list_spec.rb +1 -1
  287. data/spec/models/paginated_offer_list_spec.rb +1 -1
  288. data/spec/models/paginated_office_list_spec.rb +1 -1
  289. data/spec/models/paginated_reject_reason_list_spec.rb +1 -1
  290. data/spec/models/paginated_remote_user_list_spec.rb +1 -1
  291. data/spec/models/paginated_scheduled_interview_list_spec.rb +1 -1
  292. data/spec/models/paginated_scorecard_list_spec.rb +1 -1
  293. data/spec/models/paginated_tag_list_spec.rb +1 -1
  294. data/spec/models/phone_number_request_spec.rb +1 -1
  295. data/spec/models/phone_number_spec.rb +1 -1
  296. data/spec/models/phone_number_type_enum_spec.rb +1 -1
  297. data/spec/models/race_enum_spec.rb +1 -1
  298. data/spec/models/reason_enum_spec.rb +28 -0
  299. data/spec/models/reject_reason_spec.rb +13 -1
  300. data/spec/models/remote_data_spec.rb +1 -1
  301. data/spec/models/remote_key_for_regeneration_request_spec.rb +1 -1
  302. data/spec/models/remote_key_spec.rb +1 -1
  303. data/spec/models/remote_response_spec.rb +13 -1
  304. data/spec/models/remote_user_spec.rb +13 -1
  305. data/spec/models/response_type_enum_spec.rb +28 -0
  306. data/spec/models/scheduled_interview_spec.rb +13 -1
  307. data/spec/models/scheduled_interview_status_enum_spec.rb +1 -1
  308. data/spec/models/scorecard_spec.rb +13 -1
  309. data/spec/models/sync_status_spec.rb +1 -1
  310. data/spec/models/tag_spec.rb +13 -1
  311. data/spec/models/update_application_stage_request_spec.rb +40 -0
  312. data/spec/models/url_request_spec.rb +1 -1
  313. data/spec/models/url_spec.rb +1 -1
  314. data/spec/models/url_type_enum_spec.rb +1 -1
  315. data/spec/models/{remote_key_for_regeneration_spec.rb → validation_problem_source_spec.rb} +8 -8
  316. data/spec/models/veteran_status_enum_spec.rb +1 -1
  317. data/spec/models/visibility_enum_spec.rb +1 -1
  318. data/spec/models/warning_validation_problem_spec.rb +52 -0
  319. data/spec/models/webhook_receiver_request_spec.rb +46 -0
  320. data/spec/models/webhook_receiver_spec.rb +46 -0
  321. metadata +186 -123
  322. data/config.json +0 -2
  323. data/docs/DataPassthrough.md +0 -24
  324. data/docs/EndUserDetails.md +0 -24
  325. data/docs/PatchedApplicationRequest.md +0 -34
  326. data/docs/RemoteKeyForRegeneration.md +0 -18
  327. data/docs/RemoteUserRequest.md +0 -30
  328. data/docs/ScheduledInterviewRequest.md +0 -38
  329. data/docs/ScorecardRequest.md +0 -30
  330. data/lib/merge_ats_client/models/patched_application_request.rb +0 -309
  331. data/lib/merge_ats_client/models/remote_user_request.rb +0 -302
  332. data/merge_ats_client-1.0.3.gem +0 -0
  333. data/spec/models/patched_application_request_spec.rb +0 -82
  334. data/spec/models/scheduled_interview_request_spec.rb +0 -94
  335. data/spec/models/scorecard_request_spec.rb +0 -70
  336. data/test_ats.rb +0 -22
  337. data/test_signature.rb +0 -32
@@ -0,0 +1,247 @@
1
+ =begin
2
+ #Merge ATS API
3
+
4
+ #The unified API for building rich integrations with multiple Applicant Tracking System platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeATSClient
17
+ class IgnoreCommonModel
18
+ attr_accessor :reason
19
+
20
+ attr_accessor :message
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'reason' => :'reason',
26
+ :'message' => :'message'
27
+ }
28
+ end
29
+
30
+ # Returns all the JSON keys this model knows about
31
+ def self.acceptable_attributes
32
+ attribute_map.values
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'reason' => :'ReasonEnum',
39
+ :'message' => :'String'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeATSClient::IgnoreCommonModel` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeATSClient::IgnoreCommonModel`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'reason')
65
+ self.reason = attributes[:'reason']
66
+ end
67
+
68
+ if attributes.key?(:'message')
69
+ self.message = attributes[:'message']
70
+ end
71
+ end
72
+
73
+ # Show invalid properties with the reasons. Usually used together with valid?
74
+ # @return Array for valid properties with the reasons
75
+ def list_invalid_properties
76
+ invalid_properties = Array.new
77
+ if @reason.nil?
78
+ invalid_properties.push('invalid value for "reason", reason cannot be nil.')
79
+ end
80
+
81
+ if !@message.nil? && @message.to_s.length > 256
82
+ invalid_properties.push('invalid value for "message", the character length must be smaller than or equal to 256.')
83
+ end
84
+
85
+ invalid_properties
86
+ end
87
+
88
+ # Check to see if the all the properties in the model are valid
89
+ # @return true if the model is valid
90
+ def valid?
91
+ return false if @reason.nil?
92
+ return false if !@message.nil? && @message.to_s.length > 256
93
+ true
94
+ end
95
+
96
+ # Custom attribute writer method with validation
97
+ # @param [Object] message Value to be assigned
98
+ def message=(message)
99
+ if !message.nil? && message.to_s.length > 256
100
+ fail ArgumentError, 'invalid value for "message", the character length must be smaller than or equal to 256.'
101
+ end
102
+
103
+ @message = message
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param [Object] Object to be compared
108
+ def ==(o)
109
+ return true if self.equal?(o)
110
+ self.class == o.class &&
111
+ reason == o.reason &&
112
+ message == o.message
113
+ end
114
+
115
+ # @see the `==` method
116
+ # @param [Object] Object to be compared
117
+ def eql?(o)
118
+ self == o
119
+ end
120
+
121
+ # Calculates hash code according to all attributes.
122
+ # @return [Integer] Hash code
123
+ def hash
124
+ [reason, message].hash
125
+ end
126
+
127
+ # Builds the object from hash
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ # @return [Object] Returns the model itself
130
+ def self.build_from_hash(attributes)
131
+ new.build_from_hash(attributes)
132
+ end
133
+
134
+ # Builds the object from hash
135
+ # @param [Hash] attributes Model attributes in the form of hash
136
+ # @return [Object] Returns the model itself
137
+ def build_from_hash(attributes)
138
+ return nil unless attributes.is_a?(Hash)
139
+ self.class.openapi_types.each_pair do |key, type|
140
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
141
+ self.send("#{key}=", nil)
142
+ elsif type =~ /\AArray<(.*)>/i
143
+ # check to ensure the input is an array given that the attribute
144
+ # is documented as an array but the input is not
145
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
146
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
147
+ end
148
+ elsif !attributes[self.class.attribute_map[key]].nil?
149
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
150
+ end
151
+ end
152
+
153
+ self
154
+ end
155
+
156
+ # Deserializes the data based on type
157
+ # @param string type Data type
158
+ # @param string value Value to be deserialized
159
+ # @return [Object] Deserialized data
160
+ def _deserialize(type, value)
161
+ case type.to_sym
162
+ when :Time
163
+ Time.parse(value)
164
+ when :Date
165
+ Date.parse(value)
166
+ when :String
167
+ value
168
+ when :Integer
169
+ value.to_i
170
+ when :Float
171
+ value.to_f
172
+ when :Boolean
173
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
174
+ true
175
+ else
176
+ false
177
+ end
178
+ when :Object
179
+ # generic object (usually a Hash), return directly
180
+ value
181
+ when /\AArray<(?<inner_type>.+)>\z/
182
+ inner_type = Regexp.last_match[:inner_type]
183
+ value.map { |v| _deserialize(inner_type, v) }
184
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
185
+ k_type = Regexp.last_match[:k_type]
186
+ v_type = Regexp.last_match[:v_type]
187
+ {}.tap do |hash|
188
+ value.each do |k, v|
189
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
190
+ end
191
+ end
192
+ else # model
193
+ # models (e.g. Pet) or oneOf
194
+ klass = MergeATSClient.const_get(type)
195
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
196
+ end
197
+ end
198
+
199
+ # Returns the string representation of the object
200
+ # @return [String] String presentation of the object
201
+ def to_s
202
+ to_hash.to_s
203
+ end
204
+
205
+ # to_body is an alias to to_hash (backward compatibility)
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_body
208
+ to_hash
209
+ end
210
+
211
+ # Returns the object in the form of hash
212
+ # @return [Hash] Returns the object in the form of hash
213
+ def to_hash
214
+ hash = {}
215
+ self.class.attribute_map.each_pair do |attr, param|
216
+ value = self.send(attr)
217
+ if value.nil?
218
+ is_nullable = self.class.openapi_nullable.include?(attr)
219
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
220
+ end
221
+
222
+ hash[param] = _to_hash(value)
223
+ end
224
+ hash
225
+ end
226
+
227
+ # Outputs non-array value in the form of hash
228
+ # For object, use to_hash. Otherwise, just return the value
229
+ # @param [Object] value Any valid value
230
+ # @return [Hash] Returns the value in the form of hash
231
+ def _to_hash(value)
232
+ if value.is_a?(Array)
233
+ value.compact.map { |v| _to_hash(v) }
234
+ elsif value.is_a?(Hash)
235
+ {}.tap do |hash|
236
+ value.each { |k, v| hash[k] = _to_hash(v) }
237
+ end
238
+ elsif value.respond_to? :to_hash
239
+ value.to_hash
240
+ else
241
+ value
242
+ end
243
+ end
244
+
245
+ end
246
+
247
+ end
@@ -0,0 +1,256 @@
1
+ =begin
2
+ #Merge ATS API
3
+
4
+ #The unified API for building rich integrations with multiple Applicant Tracking System platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeATSClient
17
+ class IgnoreCommonModelRequest
18
+ attr_accessor :reason
19
+
20
+ attr_accessor :message
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'reason' => :'reason',
26
+ :'message' => :'message'
27
+ }
28
+ end
29
+
30
+ # Returns all the JSON keys this model knows about
31
+ def self.acceptable_attributes
32
+ attribute_map.values
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'reason' => :'ReasonEnum',
39
+ :'message' => :'String'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeATSClient::IgnoreCommonModelRequest` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeATSClient::IgnoreCommonModelRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'reason')
65
+ self.reason = attributes[:'reason']
66
+ end
67
+
68
+ if attributes.key?(:'message')
69
+ self.message = attributes[:'message']
70
+ end
71
+ end
72
+
73
+ # Show invalid properties with the reasons. Usually used together with valid?
74
+ # @return Array for valid properties with the reasons
75
+ def list_invalid_properties
76
+ invalid_properties = Array.new
77
+ if @reason.nil?
78
+ invalid_properties.push('invalid value for "reason", reason cannot be nil.')
79
+ end
80
+
81
+ if !@message.nil? && @message.to_s.length > 256
82
+ invalid_properties.push('invalid value for "message", the character length must be smaller than or equal to 256.')
83
+ end
84
+
85
+ if !@message.nil? && @message.to_s.length < 1
86
+ invalid_properties.push('invalid value for "message", the character length must be great than or equal to 1.')
87
+ end
88
+
89
+ invalid_properties
90
+ end
91
+
92
+ # Check to see if the all the properties in the model are valid
93
+ # @return true if the model is valid
94
+ def valid?
95
+ return false if @reason.nil?
96
+ return false if !@message.nil? && @message.to_s.length > 256
97
+ return false if !@message.nil? && @message.to_s.length < 1
98
+ true
99
+ end
100
+
101
+ # Custom attribute writer method with validation
102
+ # @param [Object] message Value to be assigned
103
+ def message=(message)
104
+ if !message.nil? && message.to_s.length > 256
105
+ fail ArgumentError, 'invalid value for "message", the character length must be smaller than or equal to 256.'
106
+ end
107
+
108
+ if !message.nil? && message.to_s.length < 1
109
+ fail ArgumentError, 'invalid value for "message", the character length must be great than or equal to 1.'
110
+ end
111
+
112
+ @message = message
113
+ end
114
+
115
+ # Checks equality by comparing each attribute.
116
+ # @param [Object] Object to be compared
117
+ def ==(o)
118
+ return true if self.equal?(o)
119
+ self.class == o.class &&
120
+ reason == o.reason &&
121
+ message == o.message
122
+ end
123
+
124
+ # @see the `==` method
125
+ # @param [Object] Object to be compared
126
+ def eql?(o)
127
+ self == o
128
+ end
129
+
130
+ # Calculates hash code according to all attributes.
131
+ # @return [Integer] Hash code
132
+ def hash
133
+ [reason, message].hash
134
+ end
135
+
136
+ # Builds the object from hash
137
+ # @param [Hash] attributes Model attributes in the form of hash
138
+ # @return [Object] Returns the model itself
139
+ def self.build_from_hash(attributes)
140
+ new.build_from_hash(attributes)
141
+ end
142
+
143
+ # Builds the object from hash
144
+ # @param [Hash] attributes Model attributes in the form of hash
145
+ # @return [Object] Returns the model itself
146
+ def build_from_hash(attributes)
147
+ return nil unless attributes.is_a?(Hash)
148
+ self.class.openapi_types.each_pair do |key, type|
149
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
150
+ self.send("#{key}=", nil)
151
+ elsif type =~ /\AArray<(.*)>/i
152
+ # check to ensure the input is an array given that the attribute
153
+ # is documented as an array but the input is not
154
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
155
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
156
+ end
157
+ elsif !attributes[self.class.attribute_map[key]].nil?
158
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
159
+ end
160
+ end
161
+
162
+ self
163
+ end
164
+
165
+ # Deserializes the data based on type
166
+ # @param string type Data type
167
+ # @param string value Value to be deserialized
168
+ # @return [Object] Deserialized data
169
+ def _deserialize(type, value)
170
+ case type.to_sym
171
+ when :Time
172
+ Time.parse(value)
173
+ when :Date
174
+ Date.parse(value)
175
+ when :String
176
+ value
177
+ when :Integer
178
+ value.to_i
179
+ when :Float
180
+ value.to_f
181
+ when :Boolean
182
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
183
+ true
184
+ else
185
+ false
186
+ end
187
+ when :Object
188
+ # generic object (usually a Hash), return directly
189
+ value
190
+ when /\AArray<(?<inner_type>.+)>\z/
191
+ inner_type = Regexp.last_match[:inner_type]
192
+ value.map { |v| _deserialize(inner_type, v) }
193
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
194
+ k_type = Regexp.last_match[:k_type]
195
+ v_type = Regexp.last_match[:v_type]
196
+ {}.tap do |hash|
197
+ value.each do |k, v|
198
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
199
+ end
200
+ end
201
+ else # model
202
+ # models (e.g. Pet) or oneOf
203
+ klass = MergeATSClient.const_get(type)
204
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
205
+ end
206
+ end
207
+
208
+ # Returns the string representation of the object
209
+ # @return [String] String presentation of the object
210
+ def to_s
211
+ to_hash.to_s
212
+ end
213
+
214
+ # to_body is an alias to to_hash (backward compatibility)
215
+ # @return [Hash] Returns the object in the form of hash
216
+ def to_body
217
+ to_hash
218
+ end
219
+
220
+ # Returns the object in the form of hash
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_hash
223
+ hash = {}
224
+ self.class.attribute_map.each_pair do |attr, param|
225
+ value = self.send(attr)
226
+ if value.nil?
227
+ is_nullable = self.class.openapi_nullable.include?(attr)
228
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
229
+ end
230
+
231
+ hash[param] = _to_hash(value)
232
+ end
233
+ hash
234
+ end
235
+
236
+ # Outputs non-array value in the form of hash
237
+ # For object, use to_hash. Otherwise, just return the value
238
+ # @param [Object] value Any valid value
239
+ # @return [Hash] Returns the value in the form of hash
240
+ def _to_hash(value)
241
+ if value.is_a?(Array)
242
+ value.compact.map { |v| _to_hash(v) }
243
+ elsif value.is_a?(Hash)
244
+ {}.tap do |hash|
245
+ value.each { |k, v| hash[k] = _to_hash(v) }
246
+ end
247
+ elsif value.respond_to? :to_hash
248
+ value.to_hash
249
+ else
250
+ value
251
+ end
252
+ end
253
+
254
+ end
255
+
256
+ end
@@ -53,7 +53,7 @@ module MergeATSClient
53
53
  :'id' => :'String',
54
54
  :'status' => :'IssueStatusEnum',
55
55
  :'error_description' => :'String',
56
- :'end_user' => :'Hash<String, AnyType>',
56
+ :'end_user' => :'Hash<String, Object>',
57
57
  :'first_incident_time' => :'Time',
58
58
  :'last_incident_time' => :'Time',
59
59
  :'is_muted' => :'Boolean'
@@ -198,7 +198,7 @@ module MergeATSClient
198
198
  when :Date
199
199
  Date.parse(value)
200
200
  when :String
201
- value.to_s
201
+ value
202
202
  when :Integer
203
203
  value.to_i
204
204
  when :Float
@@ -18,18 +18,28 @@ module MergeATSClient
18
18
  ONGOING = "ONGOING".freeze
19
19
  RESOLVED = "RESOLVED".freeze
20
20
 
21
- # Builds the enum from string
22
- # @param [String] The enum value in the form of the string
23
- # @return [String] The enum value
24
- def self.build_from_hash(value)
25
- new.build_from_hash(value)
26
- end
21
+ MERGE_NONSTANDARD_VALUE = "MERGE_NONSTANDARD_VALUE".freeze
22
+
23
+ attr_accessor :value
24
+ attr_accessor :raw_value
27
25
 
28
26
  # Builds the enum from string
29
27
  # @param [String] The enum value in the form of the string
30
28
  # @return [String] The enum value
31
29
  def build_from_hash(value)
32
- value
30
+ @raw_value = value
31
+ if ["ONGOING", "RESOLVED", ].include? value
32
+ @value = value
33
+ else
34
+ @value = MERGE_NONSTANDARD_VALUE
35
+ end
36
+
37
+ self
38
+ end
39
+
40
+ def self.build_from_hash(value)
41
+ IssueStatusEnum.new.build_from_hash(value)
33
42
  end
34
43
  end
44
+
35
45
  end
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module MergeATSClient
17
- # # The Job Object ### Description The `Job` object is used to represent a Job offering at a company. ### Usage Example Fetch from the `LIST Jobs` endpoint to show all job postings.
17
+ # # The Job Object ### Description The `Job` object is used to represent a Job offering at a company. ### Usage Example Fetch from the `LIST Jobs` endpoint to show all job postings.
18
18
  class Job
19
19
  attr_accessor :id
20
20
 
@@ -33,6 +33,8 @@ module MergeATSClient
33
33
  # The job's status.
34
34
  attr_accessor :status
35
35
 
36
+ attr_accessor :job_posting_urls
37
+
36
38
  # When the third party's job was created.
37
39
  attr_accessor :remote_created_at
38
40
 
@@ -51,8 +53,14 @@ module MergeATSClient
51
53
  # IDs of `RemoteUser` objects that serve as hiring managers for this `Job`.
52
54
  attr_accessor :hiring_managers
53
55
 
56
+ # IDs of `RemoteUser` objects that serve as recruiters for this `Job`.
57
+ attr_accessor :recruiters
58
+
54
59
  attr_accessor :remote_data
55
60
 
61
+ # Indicates whether or not this object has been deleted by third party webhooks.
62
+ attr_accessor :remote_was_deleted
63
+
56
64
  # Attribute mapping from ruby-style variable name to JSON key.
57
65
  def self.attribute_map
58
66
  {
@@ -62,13 +70,16 @@ module MergeATSClient
62
70
  :'description' => :'description',
63
71
  :'code' => :'code',
64
72
  :'status' => :'status',
73
+ :'job_posting_urls' => :'job_posting_urls',
65
74
  :'remote_created_at' => :'remote_created_at',
66
75
  :'remote_updated_at' => :'remote_updated_at',
67
76
  :'confidential' => :'confidential',
68
77
  :'departments' => :'departments',
69
78
  :'offices' => :'offices',
70
79
  :'hiring_managers' => :'hiring_managers',
71
- :'remote_data' => :'remote_data'
80
+ :'recruiters' => :'recruiters',
81
+ :'remote_data' => :'remote_data',
82
+ :'remote_was_deleted' => :'remote_was_deleted'
72
83
  }
73
84
  end
74
85
 
@@ -86,13 +97,16 @@ module MergeATSClient
86
97
  :'description' => :'String',
87
98
  :'code' => :'String',
88
99
  :'status' => :'JobStatusEnum',
100
+ :'job_posting_urls' => :'Array<Url>',
89
101
  :'remote_created_at' => :'Time',
90
102
  :'remote_updated_at' => :'Time',
91
103
  :'confidential' => :'Boolean',
92
104
  :'departments' => :'Array<String>',
93
105
  :'offices' => :'Array<String>',
94
106
  :'hiring_managers' => :'Array<String>',
95
- :'remote_data' => :'Array<RemoteData>'
107
+ :'recruiters' => :'Array<String>',
108
+ :'remote_data' => :'Array<RemoteData>',
109
+ :'remote_was_deleted' => :'Boolean'
96
110
  }
97
111
  end
98
112
 
@@ -107,7 +121,7 @@ module MergeATSClient
107
121
  :'remote_created_at',
108
122
  :'remote_updated_at',
109
123
  :'confidential',
110
- :'remote_data'
124
+ :'remote_data',
111
125
  ])
112
126
  end
113
127
 
@@ -150,6 +164,12 @@ module MergeATSClient
150
164
  self.status = attributes[:'status']
151
165
  end
152
166
 
167
+ if attributes.key?(:'job_posting_urls')
168
+ if (value = attributes[:'job_posting_urls']).is_a?(Array)
169
+ self.job_posting_urls = value
170
+ end
171
+ end
172
+
153
173
  if attributes.key?(:'remote_created_at')
154
174
  self.remote_created_at = attributes[:'remote_created_at']
155
175
  end
@@ -180,11 +200,21 @@ module MergeATSClient
180
200
  end
181
201
  end
182
202
 
203
+ if attributes.key?(:'recruiters')
204
+ if (value = attributes[:'recruiters']).is_a?(Array)
205
+ self.recruiters = value
206
+ end
207
+ end
208
+
183
209
  if attributes.key?(:'remote_data')
184
210
  if (value = attributes[:'remote_data']).is_a?(Array)
185
211
  self.remote_data = value
186
212
  end
187
213
  end
214
+
215
+ if attributes.key?(:'remote_was_deleted')
216
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
217
+ end
188
218
  end
189
219
 
190
220
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -211,13 +241,16 @@ module MergeATSClient
211
241
  description == o.description &&
212
242
  code == o.code &&
213
243
  status == o.status &&
244
+ job_posting_urls == o.job_posting_urls &&
214
245
  remote_created_at == o.remote_created_at &&
215
246
  remote_updated_at == o.remote_updated_at &&
216
247
  confidential == o.confidential &&
217
248
  departments == o.departments &&
218
249
  offices == o.offices &&
219
250
  hiring_managers == o.hiring_managers &&
220
- remote_data == o.remote_data
251
+ recruiters == o.recruiters &&
252
+ remote_data == o.remote_data &&
253
+ remote_was_deleted == o.remote_was_deleted
221
254
  end
222
255
 
223
256
  # @see the `==` method
@@ -229,7 +262,7 @@ module MergeATSClient
229
262
  # Calculates hash code according to all attributes.
230
263
  # @return [Integer] Hash code
231
264
  def hash
232
- [id, remote_id, name, description, code, status, remote_created_at, remote_updated_at, confidential, departments, offices, hiring_managers, remote_data].hash
265
+ [id, remote_id, name, description, code, status, job_posting_urls, remote_created_at, remote_updated_at, confidential, departments, offices, hiring_managers, recruiters, remote_data, remote_was_deleted].hash
233
266
  end
234
267
 
235
268
  # Builds the object from hash