merge_ruby_client 0.1.3 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. checksums.yaml +4 -4
  2. data/lib/merge_ruby_client/accounting/accounting_periods/client.rb +18 -4
  3. data/lib/merge_ruby_client/accounting/accounts/client.rb +26 -8
  4. data/lib/merge_ruby_client/accounting/async_passthrough/client.rb +5 -5
  5. data/lib/merge_ruby_client/accounting/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  6. data/lib/merge_ruby_client/accounting/async_tasks/client.rb +99 -0
  7. data/lib/merge_ruby_client/accounting/attachments/client.rb +16 -4
  8. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +12 -4
  9. data/lib/merge_ruby_client/accounting/balance_sheets/client.rb +16 -4
  10. data/lib/merge_ruby_client/accounting/bank_feed_accounts/client.rb +369 -0
  11. data/lib/merge_ruby_client/accounting/bank_feed_transactions/client.rb +408 -0
  12. data/lib/merge_ruby_client/accounting/cash_flow_statements/client.rb +16 -4
  13. data/lib/merge_ruby_client/accounting/client.rb +35 -0
  14. data/lib/merge_ruby_client/accounting/company_info/client.rb +16 -4
  15. data/lib/merge_ruby_client/accounting/contacts/client.rb +149 -10
  16. data/lib/merge_ruby_client/accounting/credit_notes/client.rb +193 -4
  17. data/lib/merge_ruby_client/accounting/employees/client.rb +216 -0
  18. data/lib/merge_ruby_client/accounting/expenses/client.rb +249 -10
  19. data/lib/merge_ruby_client/accounting/expenses/types/expenses_list_request_expand.rb +32 -0
  20. data/lib/merge_ruby_client/accounting/expenses/types/expenses_retrieve_request_expand.rb +32 -0
  21. data/lib/merge_ruby_client/accounting/field_mapping/client.rb +36 -16
  22. data/lib/merge_ruby_client/accounting/force_resync/client.rb +2 -2
  23. data/lib/merge_ruby_client/accounting/general_ledger_transactions/client.rb +253 -0
  24. data/lib/merge_ruby_client/accounting/general_ledger_transactions/types/general_ledger_transactions_list_request_expand.rb +25 -0
  25. data/lib/merge_ruby_client/accounting/general_ledger_transactions/types/general_ledger_transactions_retrieve_request_expand.rb +25 -0
  26. data/lib/merge_ruby_client/accounting/income_statements/client.rb +16 -4
  27. data/lib/merge_ruby_client/accounting/invoices/client.rb +284 -14
  28. data/lib/merge_ruby_client/accounting/invoices/types/invoices_list_request_expand.rb +1792 -0
  29. data/lib/merge_ruby_client/accounting/invoices/types/invoices_list_request_status.rb +16 -0
  30. data/lib/merge_ruby_client/accounting/invoices/types/invoices_retrieve_request_expand.rb +1792 -0
  31. data/lib/merge_ruby_client/accounting/issues/client.rb +10 -4
  32. data/lib/merge_ruby_client/accounting/items/client.rb +16 -4
  33. data/lib/merge_ruby_client/accounting/items/types/items_list_request_expand.rb +24 -0
  34. data/lib/merge_ruby_client/accounting/items/types/items_retrieve_request_expand.rb +24 -0
  35. data/lib/merge_ruby_client/accounting/journal_entries/client.rb +247 -10
  36. data/lib/merge_ruby_client/accounting/link_token/client.rb +25 -4
  37. data/lib/merge_ruby_client/accounting/linked_accounts/client.rb +2 -2
  38. data/lib/merge_ruby_client/accounting/payments/client.rb +249 -12
  39. data/lib/merge_ruby_client/accounting/purchase_orders/client.rb +247 -10
  40. data/lib/merge_ruby_client/accounting/scopes/client.rb +12 -12
  41. data/lib/merge_ruby_client/accounting/tax_rates/client.rb +16 -4
  42. data/lib/merge_ruby_client/accounting/tracking_categories/client.rb +16 -4
  43. data/lib/merge_ruby_client/accounting/transactions/client.rb +16 -4
  44. data/lib/merge_ruby_client/accounting/types/account.rb +48 -7
  45. data/lib/merge_ruby_client/accounting/types/account_account_type_enum.rb +34 -0
  46. data/lib/merge_ruby_client/accounting/types/account_details.rb +11 -2
  47. data/lib/merge_ruby_client/accounting/types/account_details_and_actions.rb +11 -2
  48. data/lib/merge_ruby_client/accounting/types/account_details_and_actions_status_enum.rb +2 -0
  49. data/lib/merge_ruby_client/accounting/types/account_integration.rb +20 -8
  50. data/lib/merge_ruby_client/accounting/types/account_request.rb +42 -5
  51. data/lib/merge_ruby_client/accounting/types/accounting_attachment.rb +6 -2
  52. data/lib/merge_ruby_client/accounting/types/accounting_period.rb +47 -19
  53. data/lib/merge_ruby_client/accounting/types/async_post_task.rb +74 -0
  54. data/lib/merge_ruby_client/accounting/types/async_post_task_result.rb +69 -0
  55. data/lib/merge_ruby_client/accounting/types/async_post_task_status_enum.rb +16 -0
  56. data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +14 -0
  57. data/lib/merge_ruby_client/accounting/types/balance_sheet.rb +10 -6
  58. data/lib/merge_ruby_client/accounting/types/bank_feed_account.rb +834 -0
  59. data/lib/merge_ruby_client/accounting/types/bank_feed_account_account_type_enum.rb +12 -0
  60. data/lib/merge_ruby_client/accounting/types/bank_feed_account_request.rb +788 -0
  61. data/lib/merge_ruby_client/accounting/types/bank_feed_account_response.rb +101 -0
  62. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction.rb +209 -0
  63. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_bank_feed_account.rb +56 -0
  64. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_request_request.rb +167 -0
  65. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_request_request_bank_feed_account.rb +57 -0
  66. data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_response.rb +101 -0
  67. data/lib/merge_ruby_client/accounting/types/cash_flow_statement.rb +10 -6
  68. data/lib/merge_ruby_client/accounting/types/company_info.rb +10 -6
  69. data/lib/merge_ruby_client/accounting/types/component_type_enum.rb +12 -0
  70. data/lib/merge_ruby_client/accounting/types/contact.rb +20 -4
  71. data/lib/merge_ruby_client/accounting/types/contact_request.rb +14 -2
  72. data/lib/merge_ruby_client/accounting/types/credit_note.rb +43 -15
  73. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note.rb +132 -0
  74. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_invoice.rb +56 -0
  75. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_request.rb +120 -0
  76. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_request_invoice.rb +56 -0
  77. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_invoice.rb +132 -0
  78. data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_invoice_credit_note.rb +56 -0
  79. data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +20 -3
  80. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request.rb +194 -0
  81. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_company.rb +56 -0
  82. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_item.rb +55 -0
  83. data/lib/merge_ruby_client/accounting/types/credit_note_request.rb +875 -0
  84. data/lib/merge_ruby_client/accounting/types/credit_note_request_accounting_period.rb +56 -0
  85. data/lib/merge_ruby_client/accounting/types/credit_note_request_applied_payments_item.rb +55 -0
  86. data/lib/merge_ruby_client/accounting/types/credit_note_request_company.rb +56 -0
  87. data/lib/merge_ruby_client/accounting/types/credit_note_request_contact.rb +56 -0
  88. data/lib/merge_ruby_client/accounting/types/credit_note_request_line_items_item.rb +55 -0
  89. data/lib/merge_ruby_client/accounting/types/credit_note_request_payments_item.rb +55 -0
  90. data/lib/merge_ruby_client/accounting/types/credit_note_request_tracking_categories_item.rb +56 -0
  91. data/lib/merge_ruby_client/accounting/types/credit_note_response.rb +101 -0
  92. data/lib/merge_ruby_client/accounting/types/credit_or_debit_enum.rb +12 -0
  93. data/lib/merge_ruby_client/accounting/types/employee.rb +199 -0
  94. data/lib/merge_ruby_client/accounting/types/employee_company.rb +55 -0
  95. data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +11 -0
  96. data/lib/merge_ruby_client/accounting/types/expense.rb +48 -8
  97. data/lib/merge_ruby_client/accounting/types/expense_employee.rb +56 -0
  98. data/lib/merge_ruby_client/accounting/types/expense_line.rb +37 -11
  99. data/lib/merge_ruby_client/accounting/types/expense_line_employee.rb +56 -0
  100. data/lib/merge_ruby_client/accounting/types/expense_line_request.rb +44 -10
  101. data/lib/merge_ruby_client/accounting/types/expense_line_request_employee.rb +56 -0
  102. data/lib/merge_ruby_client/accounting/types/expense_request.rb +42 -6
  103. data/lib/merge_ruby_client/accounting/types/expense_request_employee.rb +56 -0
  104. data/lib/merge_ruby_client/accounting/types/external_target_field_api_response.rb +35 -2
  105. data/lib/merge_ruby_client/accounting/types/{accounting_period_status_enum.rb → feed_status_enum.rb} +1 -1
  106. data/lib/merge_ruby_client/accounting/types/field_format_enum.rb +20 -0
  107. data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_remote_field.rb +8 -6
  108. data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_response.rb +35 -2
  109. data/lib/merge_ruby_client/accounting/types/field_permission_deserializer.rb +14 -14
  110. data/lib/merge_ruby_client/accounting/types/field_permission_deserializer_request.rb +14 -14
  111. data/lib/merge_ruby_client/accounting/types/field_type_enum.rb +20 -0
  112. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction.rb +248 -0
  113. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_accounting_period.rb +57 -0
  114. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_company.rb +56 -0
  115. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_general_ledger_transaction_lines_item.rb +56 -0
  116. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line.rb +1490 -0
  117. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_account.rb +55 -0
  118. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_company.rb +56 -0
  119. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_contact.rb +55 -0
  120. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_employee.rb +55 -0
  121. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_item.rb +55 -0
  122. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_tracking_categories_item.rb +56 -0
  123. data/lib/merge_ruby_client/accounting/types/income_statement.rb +10 -6
  124. data/lib/merge_ruby_client/accounting/types/invoice.rb +101 -33
  125. data/lib/merge_ruby_client/accounting/types/invoice_applied_credit_notes_item.rb +55 -0
  126. data/lib/merge_ruby_client/accounting/types/invoice_applied_vendor_credits_item.rb +55 -0
  127. data/lib/merge_ruby_client/accounting/types/invoice_employee.rb +56 -0
  128. data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +50 -12
  129. data/lib/merge_ruby_client/accounting/types/invoice_line_item_employee.rb +56 -0
  130. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request.rb +44 -10
  131. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_employee.rb +56 -0
  132. data/lib/merge_ruby_client/accounting/types/invoice_request.rb +46 -10
  133. data/lib/merge_ruby_client/accounting/types/invoice_request_employee.rb +56 -0
  134. data/lib/merge_ruby_client/accounting/types/item.rb +35 -3
  135. data/lib/merge_ruby_client/accounting/types/item_format_enum.rb +20 -0
  136. data/lib/merge_ruby_client/accounting/types/item_purchase_tax_rate.rb +56 -0
  137. data/lib/merge_ruby_client/accounting/types/item_sales_tax_rate.rb +56 -0
  138. data/lib/merge_ruby_client/accounting/types/item_schema.rb +82 -0
  139. data/lib/merge_ruby_client/accounting/types/item_type_enum.rb +20 -0
  140. data/lib/merge_ruby_client/accounting/types/journal_entry.rb +56 -28
  141. data/lib/merge_ruby_client/accounting/types/journal_entry_request.rb +28 -6
  142. data/lib/merge_ruby_client/accounting/types/journal_line.rb +42 -10
  143. data/lib/merge_ruby_client/accounting/types/journal_line_request.rb +36 -8
  144. data/lib/merge_ruby_client/accounting/types/language_enum.rb +12 -0
  145. data/lib/merge_ruby_client/accounting/types/paginated_bank_feed_account_list.rb +80 -0
  146. data/lib/merge_ruby_client/accounting/types/paginated_bank_feed_transaction_list.rb +80 -0
  147. data/lib/merge_ruby_client/accounting/types/paginated_employee_list.rb +80 -0
  148. data/lib/merge_ruby_client/accounting/types/paginated_general_ledger_transaction_list.rb +81 -0
  149. data/lib/merge_ruby_client/accounting/types/paginated_remote_field_class_list.rb +80 -0
  150. data/lib/merge_ruby_client/accounting/types/patched_payment_request.rb +18 -6
  151. data/lib/merge_ruby_client/accounting/types/patched_payment_request_applied_to_lines_item.rb +4 -4
  152. data/lib/merge_ruby_client/accounting/types/payment.rb +42 -26
  153. data/lib/merge_ruby_client/accounting/types/payment_line_item_request.rb +14 -2
  154. data/lib/merge_ruby_client/accounting/types/payment_request.rb +18 -6
  155. data/lib/merge_ruby_client/accounting/types/purchase_order.rb +48 -22
  156. data/lib/merge_ruby_client/accounting/types/purchase_order_line_item.rb +32 -8
  157. data/lib/merge_ruby_client/accounting/types/purchase_order_line_item_request.rb +26 -6
  158. data/lib/merge_ruby_client/accounting/types/purchase_order_request.rb +28 -6
  159. data/lib/merge_ruby_client/accounting/types/remote_data.rb +8 -2
  160. data/lib/merge_ruby_client/accounting/types/remote_field.rb +75 -0
  161. data/lib/merge_ruby_client/accounting/types/remote_field_api.rb +3 -3
  162. data/lib/merge_ruby_client/accounting/types/remote_field_api_response.rb +35 -2
  163. data/lib/merge_ruby_client/accounting/types/remote_field_class.rb +145 -0
  164. data/lib/merge_ruby_client/accounting/types/remote_field_request.rb +75 -0
  165. data/lib/merge_ruby_client/accounting/types/remote_field_request_remote_field_class.rb +55 -0
  166. data/lib/merge_ruby_client/accounting/types/report_item.rb +16 -2
  167. data/lib/merge_ruby_client/accounting/types/status_895_enum.rb +12 -0
  168. data/lib/merge_ruby_client/accounting/types/tax_component.rb +150 -0
  169. data/lib/merge_ruby_client/accounting/types/tax_rate.rb +73 -16
  170. data/lib/merge_ruby_client/accounting/types/tax_rate_tax_components_item.rb +55 -0
  171. data/lib/merge_ruby_client/accounting/types/tracking_category.rb +12 -20
  172. data/lib/merge_ruby_client/accounting/types/tracking_category_company.rb +1 -1
  173. data/lib/merge_ruby_client/accounting/types/transaction.rb +21 -7
  174. data/lib/merge_ruby_client/accounting/types/{currency_enum.rb → transaction_currency_enum.rb} +1 -1
  175. data/lib/merge_ruby_client/accounting/types/transaction_line_item.rb +14 -10
  176. data/lib/merge_ruby_client/accounting/types/underlying_transaction_type_enum.rb +22 -0
  177. data/lib/merge_ruby_client/accounting/types/vendor_credit.rb +35 -9
  178. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_invoice.rb +132 -0
  179. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_invoice_vendor_credit.rb +56 -0
  180. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit.rb +132 -0
  181. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_invoice.rb +56 -0
  182. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_request.rb +120 -0
  183. data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_request_invoice.rb +56 -0
  184. data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +17 -5
  185. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request.rb +157 -0
  186. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_account.rb +56 -0
  187. data/lib/merge_ruby_client/accounting/types/vendor_credit_request.rb +813 -0
  188. data/lib/merge_ruby_client/accounting/types/vendor_credit_request_accounting_period.rb +56 -0
  189. data/lib/merge_ruby_client/accounting/types/vendor_credit_request_company.rb +56 -0
  190. data/lib/merge_ruby_client/accounting/types/vendor_credit_request_tracking_categories_item.rb +56 -0
  191. data/lib/merge_ruby_client/accounting/types/vendor_credit_request_vendor.rb +56 -0
  192. data/lib/merge_ruby_client/accounting/types/vendor_credit_response.rb +101 -0
  193. data/lib/merge_ruby_client/accounting/vendor_credits/client.rb +183 -4
  194. data/lib/merge_ruby_client/ats/activities/client.rb +16 -4
  195. data/lib/merge_ruby_client/ats/applications/client.rb +30 -4
  196. data/lib/merge_ruby_client/ats/applications/types/applications_list_request_expand.rb +192 -0
  197. data/lib/merge_ruby_client/ats/applications/types/applications_retrieve_request_expand.rb +192 -0
  198. data/lib/merge_ruby_client/ats/async_passthrough/client.rb +5 -5
  199. data/lib/merge_ruby_client/ats/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  200. data/lib/merge_ruby_client/ats/attachments/client.rb +16 -4
  201. data/lib/merge_ruby_client/ats/audit_trail/client.rb +12 -4
  202. data/lib/merge_ruby_client/ats/candidates/client.rb +16 -4
  203. data/lib/merge_ruby_client/ats/departments/client.rb +16 -4
  204. data/lib/merge_ruby_client/ats/eeocs/client.rb +16 -4
  205. data/lib/merge_ruby_client/ats/field_mapping/client.rb +36 -16
  206. data/lib/merge_ruby_client/ats/force_resync/client.rb +2 -2
  207. data/lib/merge_ruby_client/ats/interviews/client.rb +16 -4
  208. data/lib/merge_ruby_client/ats/issues/client.rb +10 -4
  209. data/lib/merge_ruby_client/ats/job_interview_stages/client.rb +16 -4
  210. data/lib/merge_ruby_client/ats/job_postings/client.rb +16 -4
  211. data/lib/merge_ruby_client/ats/jobs/client.rb +32 -8
  212. data/lib/merge_ruby_client/ats/link_token/client.rb +25 -4
  213. data/lib/merge_ruby_client/ats/linked_accounts/client.rb +2 -2
  214. data/lib/merge_ruby_client/ats/offers/client.rb +16 -4
  215. data/lib/merge_ruby_client/ats/offices/client.rb +16 -4
  216. data/lib/merge_ruby_client/ats/reject_reasons/client.rb +16 -4
  217. data/lib/merge_ruby_client/ats/scopes/client.rb +12 -12
  218. data/lib/merge_ruby_client/ats/scorecards/client.rb +16 -4
  219. data/lib/merge_ruby_client/ats/tags/client.rb +16 -4
  220. data/lib/merge_ruby_client/ats/types/account_details.rb +11 -2
  221. data/lib/merge_ruby_client/ats/types/account_details_and_actions.rb +11 -2
  222. data/lib/merge_ruby_client/ats/types/account_details_and_actions_status_enum.rb +2 -0
  223. data/lib/merge_ruby_client/ats/types/account_integration.rb +20 -8
  224. data/lib/merge_ruby_client/ats/types/activity.rb +8 -4
  225. data/lib/merge_ruby_client/ats/types/activity_request.rb +2 -2
  226. data/lib/merge_ruby_client/ats/types/application.rb +21 -3
  227. data/lib/merge_ruby_client/ats/types/application_request.rb +13 -1
  228. data/lib/merge_ruby_client/ats/types/application_request_screening_question_answers_item.rb +56 -0
  229. data/lib/merge_ruby_client/ats/types/application_screening_question_answers_item.rb +56 -0
  230. data/lib/merge_ruby_client/ats/types/attachment.rb +8 -2
  231. data/lib/merge_ruby_client/ats/types/audit_log_event.rb +14 -0
  232. data/lib/merge_ruby_client/ats/types/candidate.rb +8 -2
  233. data/lib/merge_ruby_client/ats/types/department.rb +6 -2
  234. data/lib/merge_ruby_client/ats/types/eeoc.rb +6 -2
  235. data/lib/merge_ruby_client/ats/types/email_address.rb +16 -2
  236. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +11 -0
  237. data/lib/merge_ruby_client/ats/types/field_mapping_api_instance_remote_field.rb +8 -6
  238. data/lib/merge_ruby_client/ats/types/field_permission_deserializer.rb +14 -14
  239. data/lib/merge_ruby_client/ats/types/field_permission_deserializer_request.rb +14 -14
  240. data/lib/merge_ruby_client/ats/types/job.rb +6 -2
  241. data/lib/merge_ruby_client/ats/types/job_interview_stage.rb +6 -2
  242. data/lib/merge_ruby_client/ats/types/job_posting.rb +6 -2
  243. data/lib/merge_ruby_client/ats/types/language_enum.rb +12 -0
  244. data/lib/merge_ruby_client/ats/types/offer.rb +6 -2
  245. data/lib/merge_ruby_client/ats/types/office.rb +6 -2
  246. data/lib/merge_ruby_client/ats/types/phone_number.rb +16 -2
  247. data/lib/merge_ruby_client/ats/types/reject_reason.rb +6 -2
  248. data/lib/merge_ruby_client/ats/types/remote_data.rb +8 -2
  249. data/lib/merge_ruby_client/ats/types/remote_field_api.rb +3 -3
  250. data/lib/merge_ruby_client/ats/types/remote_user.rb +6 -2
  251. data/lib/merge_ruby_client/ats/types/scheduled_interview.rb +6 -2
  252. data/lib/merge_ruby_client/ats/types/scorecard.rb +6 -2
  253. data/lib/merge_ruby_client/ats/types/screening_question.rb +16 -2
  254. data/lib/merge_ruby_client/ats/types/screening_question_answer.rb +136 -0
  255. data/lib/merge_ruby_client/ats/types/screening_question_answer_question.rb +58 -0
  256. data/lib/merge_ruby_client/ats/types/screening_question_answer_request.rb +113 -0
  257. data/lib/merge_ruby_client/ats/types/screening_question_answer_request_question.rb +59 -0
  258. data/lib/merge_ruby_client/ats/types/screening_question_option.rb +16 -2
  259. data/lib/merge_ruby_client/ats/types/tag.rb +6 -2
  260. data/lib/merge_ruby_client/ats/types/url.rb +17 -2
  261. data/lib/merge_ruby_client/ats/users/client.rb +16 -4
  262. data/lib/merge_ruby_client/crm/accounts/client.rb +38 -8
  263. data/lib/merge_ruby_client/crm/association_types/client.rb +16 -4
  264. data/lib/merge_ruby_client/crm/associations/client.rb +16 -4
  265. data/lib/merge_ruby_client/crm/async_passthrough/client.rb +5 -5
  266. data/lib/merge_ruby_client/crm/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  267. data/lib/merge_ruby_client/crm/audit_trail/client.rb +12 -4
  268. data/lib/merge_ruby_client/crm/contacts/client.rb +38 -8
  269. data/lib/merge_ruby_client/crm/custom_object_classes/client.rb +16 -4
  270. data/lib/merge_ruby_client/crm/custom_objects/client.rb +127 -4
  271. data/lib/merge_ruby_client/crm/engagement_types/client.rb +38 -8
  272. data/lib/merge_ruby_client/crm/engagements/client.rb +38 -8
  273. data/lib/merge_ruby_client/crm/field_mapping/client.rb +36 -16
  274. data/lib/merge_ruby_client/crm/force_resync/client.rb +2 -2
  275. data/lib/merge_ruby_client/crm/issues/client.rb +10 -4
  276. data/lib/merge_ruby_client/crm/leads/client.rb +38 -8
  277. data/lib/merge_ruby_client/crm/link_token/client.rb +25 -4
  278. data/lib/merge_ruby_client/crm/linked_accounts/client.rb +2 -2
  279. data/lib/merge_ruby_client/crm/notes/client.rb +38 -8
  280. data/lib/merge_ruby_client/crm/opportunities/client.rb +44 -8
  281. data/lib/merge_ruby_client/crm/scopes/client.rb +12 -12
  282. data/lib/merge_ruby_client/crm/stages/client.rb +38 -8
  283. data/lib/merge_ruby_client/crm/tasks/client.rb +38 -8
  284. data/lib/merge_ruby_client/crm/types/account.rb +8 -2
  285. data/lib/merge_ruby_client/crm/types/account_details.rb +11 -2
  286. data/lib/merge_ruby_client/crm/types/account_details_and_actions.rb +11 -2
  287. data/lib/merge_ruby_client/crm/types/account_details_and_actions_status_enum.rb +2 -0
  288. data/lib/merge_ruby_client/crm/types/account_integration.rb +20 -8
  289. data/lib/merge_ruby_client/crm/types/association.rb +6 -6
  290. data/lib/merge_ruby_client/crm/types/audit_log_event.rb +14 -0
  291. data/lib/merge_ruby_client/crm/types/contact.rb +8 -2
  292. data/lib/merge_ruby_client/crm/types/engagement.rb +6 -2
  293. data/lib/merge_ruby_client/crm/types/event_type_enum.rb +11 -0
  294. data/lib/merge_ruby_client/crm/types/field_mapping_api_instance_remote_field.rb +8 -6
  295. data/lib/merge_ruby_client/crm/types/field_permission_deserializer.rb +14 -14
  296. data/lib/merge_ruby_client/crm/types/field_permission_deserializer_request.rb +14 -14
  297. data/lib/merge_ruby_client/crm/types/language_enum.rb +12 -0
  298. data/lib/merge_ruby_client/crm/types/lead.rb +8 -2
  299. data/lib/merge_ruby_client/crm/types/note.rb +8 -2
  300. data/lib/merge_ruby_client/crm/types/opportunity.rb +8 -2
  301. data/lib/merge_ruby_client/crm/types/remote_data.rb +8 -2
  302. data/lib/merge_ruby_client/crm/types/remote_field.rb +3 -3
  303. data/lib/merge_ruby_client/crm/types/remote_field_api.rb +3 -3
  304. data/lib/merge_ruby_client/crm/types/remote_field_request.rb +3 -3
  305. data/lib/merge_ruby_client/crm/types/stage.rb +6 -2
  306. data/lib/merge_ruby_client/crm/types/task.rb +6 -2
  307. data/lib/merge_ruby_client/crm/types/user.rb +6 -2
  308. data/lib/merge_ruby_client/crm/users/client.rb +44 -10
  309. data/lib/merge_ruby_client/filestorage/async_passthrough/client.rb +5 -5
  310. data/lib/merge_ruby_client/filestorage/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  311. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +12 -4
  312. data/lib/merge_ruby_client/filestorage/drives/client.rb +16 -4
  313. data/lib/merge_ruby_client/filestorage/field_mapping/client.rb +36 -16
  314. data/lib/merge_ruby_client/filestorage/files/client.rb +20 -8
  315. data/lib/merge_ruby_client/filestorage/folders/client.rb +18 -6
  316. data/lib/merge_ruby_client/filestorage/force_resync/client.rb +2 -2
  317. data/lib/merge_ruby_client/filestorage/groups/client.rb +32 -8
  318. data/lib/merge_ruby_client/filestorage/issues/client.rb +10 -4
  319. data/lib/merge_ruby_client/filestorage/link_token/client.rb +25 -4
  320. data/lib/merge_ruby_client/filestorage/linked_accounts/client.rb +4 -6
  321. data/lib/merge_ruby_client/filestorage/scopes/client.rb +12 -12
  322. data/lib/merge_ruby_client/filestorage/types/account_details.rb +11 -2
  323. data/lib/merge_ruby_client/filestorage/types/account_details_and_actions.rb +11 -2
  324. data/lib/merge_ruby_client/filestorage/types/account_details_and_actions_status_enum.rb +2 -0
  325. data/lib/merge_ruby_client/filestorage/types/account_integration.rb +20 -8
  326. data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +14 -0
  327. data/lib/merge_ruby_client/filestorage/types/drive.rb +13 -5
  328. data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +11 -0
  329. data/lib/merge_ruby_client/filestorage/types/field_mapping_api_instance_remote_field.rb +8 -6
  330. data/lib/merge_ruby_client/filestorage/types/field_permission_deserializer.rb +14 -14
  331. data/lib/merge_ruby_client/filestorage/types/field_permission_deserializer_request.rb +14 -14
  332. data/lib/merge_ruby_client/filestorage/types/file.rb +16 -8
  333. data/lib/merge_ruby_client/filestorage/types/file_request.rb +3 -3
  334. data/lib/merge_ruby_client/filestorage/types/folder.rb +16 -8
  335. data/lib/merge_ruby_client/filestorage/types/folder_request.rb +3 -3
  336. data/lib/merge_ruby_client/filestorage/types/group.rb +27 -7
  337. data/lib/merge_ruby_client/filestorage/types/group_child_groups_item.rb +55 -0
  338. data/lib/merge_ruby_client/filestorage/types/language_enum.rb +12 -0
  339. data/lib/merge_ruby_client/filestorage/types/permission.rb +8 -4
  340. data/lib/merge_ruby_client/filestorage/types/permission_group.rb +2 -1
  341. data/lib/merge_ruby_client/filestorage/types/permission_request.rb +8 -4
  342. data/lib/merge_ruby_client/filestorage/types/permission_request_group.rb +2 -1
  343. data/lib/merge_ruby_client/filestorage/types/permission_request_user.rb +2 -1
  344. data/lib/merge_ruby_client/filestorage/types/permission_user.rb +2 -1
  345. data/lib/merge_ruby_client/filestorage/types/remote_data.rb +75 -0
  346. data/lib/merge_ruby_client/filestorage/types/remote_field_api.rb +3 -3
  347. data/lib/merge_ruby_client/filestorage/types/user.rb +13 -5
  348. data/lib/merge_ruby_client/filestorage/users/client.rb +16 -4
  349. data/lib/merge_ruby_client/hris/async_passthrough/client.rb +5 -5
  350. data/lib/merge_ruby_client/hris/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  351. data/lib/merge_ruby_client/hris/audit_trail/client.rb +12 -4
  352. data/lib/merge_ruby_client/hris/bank_info/client.rb +20 -6
  353. data/lib/merge_ruby_client/hris/benefits/client.rb +16 -4
  354. data/lib/merge_ruby_client/hris/companies/client.rb +16 -4
  355. data/lib/merge_ruby_client/hris/dependents/client.rb +16 -4
  356. data/lib/merge_ruby_client/hris/employee_payroll_runs/client.rb +16 -4
  357. data/lib/merge_ruby_client/hris/employees/client.rb +16 -4
  358. data/lib/merge_ruby_client/hris/employer_benefits/client.rb +16 -4
  359. data/lib/merge_ruby_client/hris/employments/client.rb +20 -6
  360. data/lib/merge_ruby_client/hris/field_mapping/client.rb +36 -16
  361. data/lib/merge_ruby_client/hris/force_resync/client.rb +2 -2
  362. data/lib/merge_ruby_client/hris/groups/client.rb +16 -4
  363. data/lib/merge_ruby_client/hris/issues/client.rb +10 -4
  364. data/lib/merge_ruby_client/hris/link_token/client.rb +25 -4
  365. data/lib/merge_ruby_client/hris/linked_accounts/client.rb +4 -6
  366. data/lib/merge_ruby_client/hris/locations/client.rb +28 -12
  367. data/lib/merge_ruby_client/hris/locations/types/locations_list_request_remote_fields.rb +13 -0
  368. data/lib/merge_ruby_client/hris/locations/types/locations_list_request_show_enum_origins.rb +13 -0
  369. data/lib/merge_ruby_client/hris/locations/types/locations_retrieve_request_remote_fields.rb +13 -0
  370. data/lib/merge_ruby_client/hris/locations/types/locations_retrieve_request_show_enum_origins.rb +13 -0
  371. data/lib/merge_ruby_client/hris/pay_groups/client.rb +16 -4
  372. data/lib/merge_ruby_client/hris/payroll_runs/client.rb +16 -4
  373. data/lib/merge_ruby_client/hris/scopes/client.rb +12 -12
  374. data/lib/merge_ruby_client/hris/teams/client.rb +16 -4
  375. data/lib/merge_ruby_client/hris/time_off/client.rb +16 -4
  376. data/lib/merge_ruby_client/hris/time_off_balances/client.rb +16 -4
  377. data/lib/merge_ruby_client/hris/timesheet_entries/client.rb +42 -20
  378. data/lib/merge_ruby_client/hris/types/account_details.rb +11 -2
  379. data/lib/merge_ruby_client/hris/types/account_details_and_actions.rb +11 -2
  380. data/lib/merge_ruby_client/hris/types/account_details_and_actions_status_enum.rb +2 -0
  381. data/lib/merge_ruby_client/hris/types/account_integration.rb +20 -8
  382. data/lib/merge_ruby_client/hris/types/audit_log_event.rb +14 -0
  383. data/lib/merge_ruby_client/hris/types/bank_info.rb +6 -2
  384. data/lib/merge_ruby_client/hris/types/benefit.rb +6 -2
  385. data/lib/merge_ruby_client/hris/types/company.rb +6 -2
  386. data/lib/merge_ruby_client/hris/types/deduction.rb +6 -2
  387. data/lib/merge_ruby_client/hris/types/dependent.rb +6 -2
  388. data/lib/merge_ruby_client/hris/types/earning.rb +6 -2
  389. data/lib/merge_ruby_client/hris/types/employee.rb +10 -3
  390. data/lib/merge_ruby_client/hris/types/employee_payroll_run.rb +6 -2
  391. data/lib/merge_ruby_client/hris/types/employee_request.rb +2 -1
  392. data/lib/merge_ruby_client/hris/types/employer_benefit.rb +13 -5
  393. data/lib/merge_ruby_client/hris/types/employment.rb +13 -7
  394. data/lib/merge_ruby_client/hris/types/event_type_enum.rb +11 -0
  395. data/lib/merge_ruby_client/hris/types/field_mapping_api_instance_remote_field.rb +8 -6
  396. data/lib/merge_ruby_client/hris/types/field_permission_deserializer.rb +14 -14
  397. data/lib/merge_ruby_client/hris/types/field_permission_deserializer_request.rb +14 -14
  398. data/lib/merge_ruby_client/hris/types/group.rb +6 -2
  399. data/lib/merge_ruby_client/hris/types/language_enum.rb +12 -0
  400. data/lib/merge_ruby_client/hris/types/location.rb +6 -2
  401. data/lib/merge_ruby_client/hris/types/pay_group.rb +6 -2
  402. data/lib/merge_ruby_client/hris/types/payroll_run.rb +6 -2
  403. data/lib/merge_ruby_client/hris/types/remote_data.rb +8 -2
  404. data/lib/merge_ruby_client/hris/types/remote_field_api.rb +3 -3
  405. data/lib/merge_ruby_client/hris/types/tax.rb +6 -2
  406. data/lib/merge_ruby_client/hris/types/team.rb +6 -2
  407. data/lib/merge_ruby_client/hris/types/time_off.rb +8 -2
  408. data/lib/merge_ruby_client/hris/types/time_off_balance.rb +14 -6
  409. data/lib/merge_ruby_client/hris/types/timesheet_entry.rb +23 -9
  410. data/lib/merge_ruby_client/hris/types/timesheet_entry_employee.rb +56 -0
  411. data/lib/merge_ruby_client/hris/types/timesheet_entry_request.rb +10 -4
  412. data/lib/merge_ruby_client/hris/types/timesheet_entry_request_employee.rb +56 -0
  413. data/lib/merge_ruby_client/ticketing/accounts/client.rb +16 -4
  414. data/lib/merge_ruby_client/ticketing/async_passthrough/client.rb +5 -5
  415. data/lib/merge_ruby_client/ticketing/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
  416. data/lib/merge_ruby_client/ticketing/attachments/client.rb +18 -6
  417. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +12 -4
  418. data/lib/merge_ruby_client/ticketing/collections/client.rb +22 -104
  419. data/lib/merge_ruby_client/ticketing/collections/types/collections_list_request_expand.rb +13 -0
  420. data/lib/merge_ruby_client/ticketing/collections/types/collections_retrieve_request_expand.rb +13 -0
  421. data/lib/merge_ruby_client/ticketing/comments/client.rb +16 -4
  422. data/lib/merge_ruby_client/ticketing/contacts/client.rb +16 -4
  423. data/lib/merge_ruby_client/ticketing/field_mapping/client.rb +36 -16
  424. data/lib/merge_ruby_client/ticketing/force_resync/client.rb +2 -2
  425. data/lib/merge_ruby_client/ticketing/issues/client.rb +10 -4
  426. data/lib/merge_ruby_client/ticketing/link_token/client.rb +25 -4
  427. data/lib/merge_ruby_client/ticketing/linked_accounts/client.rb +4 -6
  428. data/lib/merge_ruby_client/ticketing/projects/client.rb +32 -8
  429. data/lib/merge_ruby_client/ticketing/roles/client.rb +16 -4
  430. data/lib/merge_ruby_client/ticketing/scopes/client.rb +12 -12
  431. data/lib/merge_ruby_client/ticketing/tags/client.rb +16 -4
  432. data/lib/merge_ruby_client/ticketing/teams/client.rb +16 -4
  433. data/lib/merge_ruby_client/ticketing/tickets/client.rb +92 -45
  434. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_list_request_expand.rb +128 -0
  435. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_retrieve_request_expand.rb +128 -0
  436. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_viewers_list_request_expand.rb +13 -0
  437. data/lib/merge_ruby_client/ticketing/types/account.rb +6 -2
  438. data/lib/merge_ruby_client/ticketing/types/account_details.rb +11 -2
  439. data/lib/merge_ruby_client/ticketing/types/account_details_and_actions.rb +11 -2
  440. data/lib/merge_ruby_client/ticketing/types/account_details_and_actions_status_enum.rb +2 -0
  441. data/lib/merge_ruby_client/ticketing/types/account_integration.rb +20 -8
  442. data/lib/merge_ruby_client/ticketing/types/attachment.rb +8 -2
  443. data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +14 -0
  444. data/lib/merge_ruby_client/ticketing/types/collection.rb +22 -6
  445. data/lib/merge_ruby_client/ticketing/types/collection_teams_item.rb +55 -0
  446. data/lib/merge_ruby_client/ticketing/types/comment.rb +20 -6
  447. data/lib/merge_ruby_client/ticketing/types/comment_contact.rb +3 -1
  448. data/lib/merge_ruby_client/ticketing/types/comment_request.rb +12 -4
  449. data/lib/merge_ruby_client/ticketing/types/comment_request_contact.rb +3 -1
  450. data/lib/merge_ruby_client/ticketing/types/comment_request_user.rb +3 -1
  451. data/lib/merge_ruby_client/ticketing/types/comment_user.rb +3 -1
  452. data/lib/merge_ruby_client/ticketing/types/contact.rb +6 -2
  453. data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +11 -0
  454. data/lib/merge_ruby_client/ticketing/types/field_mapping_api_instance_remote_field.rb +8 -6
  455. data/lib/merge_ruby_client/ticketing/types/field_permission_deserializer.rb +14 -14
  456. data/lib/merge_ruby_client/ticketing/types/field_permission_deserializer_request.rb +14 -14
  457. data/lib/merge_ruby_client/ticketing/types/language_enum.rb +12 -0
  458. data/lib/merge_ruby_client/ticketing/types/paginated_viewer_list.rb +80 -0
  459. data/lib/merge_ruby_client/ticketing/types/patched_ticket_request.rb +27 -7
  460. data/lib/merge_ruby_client/ticketing/types/project.rb +6 -2
  461. data/lib/merge_ruby_client/ticketing/types/remote_data.rb +8 -2
  462. data/lib/merge_ruby_client/ticketing/types/remote_field_api.rb +3 -3
  463. data/lib/merge_ruby_client/ticketing/types/role.rb +6 -2
  464. data/lib/merge_ruby_client/ticketing/types/tag.rb +16 -4
  465. data/lib/merge_ruby_client/ticketing/types/team.rb +8 -4
  466. data/lib/merge_ruby_client/ticketing/types/ticket.rb +38 -8
  467. data/lib/merge_ruby_client/ticketing/types/ticket_assigned_teams_item.rb +55 -0
  468. data/lib/merge_ruby_client/ticketing/types/ticket_request.rb +31 -7
  469. data/lib/merge_ruby_client/ticketing/types/ticket_request_assigned_teams_item.rb +55 -0
  470. data/lib/merge_ruby_client/ticketing/types/user.rb +10 -3
  471. data/lib/merge_ruby_client/ticketing/types/viewer.rb +123 -0
  472. data/lib/merge_ruby_client/ticketing/types/viewer_team.rb +56 -0
  473. data/lib/merge_ruby_client/ticketing/types/viewer_user.rb +56 -0
  474. data/lib/merge_ruby_client/ticketing/users/client.rb +16 -4
  475. data/lib/merge_ruby_client.rb +7 -7
  476. data/lib/requests.rb +2 -2
  477. data/lib/types_export.rb +248 -122
  478. metadata +141 -10
  479. data/lib/merge_ruby_client/ticketing/collections/types/collections_users_list_request_expand.rb +0 -13
  480. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_collaborators_list_request_expand.rb +0 -13
  481. data/lib/merge_ruby_client/ticketing/tickets/types/tickets_list_request_status.rb +0 -14
@@ -4,6 +4,7 @@ require "date"
4
4
  require_relative "file_folder"
5
5
  require_relative "file_permissions"
6
6
  require_relative "file_drive"
7
+ require_relative "remote_data"
7
8
  require "ostruct"
8
9
  require "json"
9
10
 
@@ -30,7 +31,7 @@ module Merge
30
31
  attr_reader :file_url
31
32
  # @return [String] The URL that produces a thumbnail preview of the file. Typically an image.
32
33
  attr_reader :file_thumbnail_url
33
- # @return [Integer] The file's size, in bytes.
34
+ # @return [Long] The file's size, in bytes.
34
35
  attr_reader :size
35
36
  # @return [String] The file's mime type.
36
37
  attr_reader :mime_type
@@ -49,11 +50,13 @@ module Merge
49
50
  # @return [DateTime] When the third party's file was updated.
50
51
  attr_reader :remote_updated_at
51
52
  # @return [Boolean] Indicates whether or not this object has been deleted in the third party
52
- # platform.
53
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
54
+ # detection is offered for free with limited coverage. [Learn
55
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
53
56
  attr_reader :remote_was_deleted
54
57
  # @return [Hash{String => Object}]
55
58
  attr_reader :field_mappings
56
- # @return [Array<Hash{String => Object}>]
59
+ # @return [Array<Merge::Filestorage::RemoteData>]
57
60
  attr_reader :remote_data
58
61
  # @return [OpenStruct] Additional properties unmapped to the current class definition
59
62
  attr_reader :additional_properties
@@ -70,7 +73,7 @@ module Merge
70
73
  # @param name [String] The file's name.
71
74
  # @param file_url [String] The URL to access the file.
72
75
  # @param file_thumbnail_url [String] The URL that produces a thumbnail preview of the file. Typically an image.
73
- # @param size [Integer] The file's size, in bytes.
76
+ # @param size [Long] The file's size, in bytes.
74
77
  # @param mime_type [String] The file's mime type.
75
78
  # @param description [String] The file's description.
76
79
  # @param folder [Merge::Filestorage::FileFolder] The folder that the file belongs to.
@@ -81,9 +84,11 @@ module Merge
81
84
  # @param remote_created_at [DateTime] When the third party's file was created.
82
85
  # @param remote_updated_at [DateTime] When the third party's file was updated.
83
86
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
84
- # platform.
87
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
88
+ # detection is offered for free with limited coverage. [Learn
89
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
85
90
  # @param field_mappings [Hash{String => Object}]
86
- # @param remote_data [Array<Hash{String => Object}>]
91
+ # @param remote_data [Array<Merge::Filestorage::RemoteData>]
87
92
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
88
93
  # @return [Merge::Filestorage::File]
89
94
  def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, name: OMIT, file_url: OMIT,
@@ -174,7 +179,10 @@ module Merge
174
179
  end
175
180
  remote_was_deleted = parsed_json["remote_was_deleted"]
176
181
  field_mappings = parsed_json["field_mappings"]
177
- remote_data = parsed_json["remote_data"]
182
+ remote_data = parsed_json["remote_data"]&.map do |item|
183
+ item = item.to_json
184
+ Merge::Filestorage::RemoteData.from_json(json_object: item)
185
+ end
178
186
  new(
179
187
  id: id,
180
188
  remote_id: remote_id,
@@ -219,7 +227,7 @@ module Merge
219
227
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
220
228
  obj.file_url&.is_a?(String) != false || raise("Passed value for field obj.file_url is not the expected type, validation failed.")
221
229
  obj.file_thumbnail_url&.is_a?(String) != false || raise("Passed value for field obj.file_thumbnail_url is not the expected type, validation failed.")
222
- obj.size&.is_a?(Integer) != false || raise("Passed value for field obj.size is not the expected type, validation failed.")
230
+ obj.size&.is_a?(Long) != false || raise("Passed value for field obj.size is not the expected type, validation failed.")
223
231
  obj.mime_type&.is_a?(String) != false || raise("Passed value for field obj.mime_type is not the expected type, validation failed.")
224
232
  obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
225
233
  obj.folder.nil? || Merge::Filestorage::FileFolder.validate_raw(obj: obj.folder)
@@ -21,7 +21,7 @@ module Merge
21
21
  attr_reader :file_url
22
22
  # @return [String] The URL that produces a thumbnail preview of the file. Typically an image.
23
23
  attr_reader :file_thumbnail_url
24
- # @return [Integer] The file's size, in bytes.
24
+ # @return [Long] The file's size, in bytes.
25
25
  attr_reader :size
26
26
  # @return [String] The file's mime type.
27
27
  attr_reader :mime_type
@@ -50,7 +50,7 @@ module Merge
50
50
  # @param name [String] The file's name.
51
51
  # @param file_url [String] The URL to access the file.
52
52
  # @param file_thumbnail_url [String] The URL that produces a thumbnail preview of the file. Typically an image.
53
- # @param size [Integer] The file's size, in bytes.
53
+ # @param size [Long] The file's size, in bytes.
54
54
  # @param mime_type [String] The file's mime type.
55
55
  # @param description [String] The file's description.
56
56
  # @param folder [Merge::Filestorage::FileRequestFolder] The folder that the file belongs to.
@@ -159,7 +159,7 @@ module Merge
159
159
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
160
160
  obj.file_url&.is_a?(String) != false || raise("Passed value for field obj.file_url is not the expected type, validation failed.")
161
161
  obj.file_thumbnail_url&.is_a?(String) != false || raise("Passed value for field obj.file_thumbnail_url is not the expected type, validation failed.")
162
- obj.size&.is_a?(Integer) != false || raise("Passed value for field obj.size is not the expected type, validation failed.")
162
+ obj.size&.is_a?(Long) != false || raise("Passed value for field obj.size is not the expected type, validation failed.")
163
163
  obj.mime_type&.is_a?(String) != false || raise("Passed value for field obj.mime_type is not the expected type, validation failed.")
164
164
  obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
165
165
  obj.folder.nil? || Merge::Filestorage::FileRequestFolder.validate_raw(obj: obj.folder)
@@ -4,6 +4,7 @@ require "date"
4
4
  require_relative "folder_parent_folder"
5
5
  require_relative "folder_drive"
6
6
  require_relative "folder_permissions"
7
+ require_relative "remote_data"
7
8
  require "ostruct"
8
9
  require "json"
9
10
 
@@ -29,7 +30,7 @@ module Merge
29
30
  attr_reader :name
30
31
  # @return [String] The URL to access the folder.
31
32
  attr_reader :folder_url
32
- # @return [Integer] The folder's size, in bytes.
33
+ # @return [Long] The folder's size, in bytes.
33
34
  attr_reader :size
34
35
  # @return [String] The folder's description.
35
36
  attr_reader :description
@@ -46,11 +47,13 @@ module Merge
46
47
  # @return [DateTime] When the third party's folder was updated.
47
48
  attr_reader :remote_updated_at
48
49
  # @return [Boolean] Indicates whether or not this object has been deleted in the third party
49
- # platform.
50
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
51
+ # detection is offered for free with limited coverage. [Learn
52
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
50
53
  attr_reader :remote_was_deleted
51
54
  # @return [Hash{String => Object}]
52
55
  attr_reader :field_mappings
53
- # @return [Array<Hash{String => Object}>]
56
+ # @return [Array<Merge::Filestorage::RemoteData>]
54
57
  attr_reader :remote_data
55
58
  # @return [OpenStruct] Additional properties unmapped to the current class definition
56
59
  attr_reader :additional_properties
@@ -66,7 +69,7 @@ module Merge
66
69
  # @param modified_at [DateTime] The datetime that this object was modified by Merge.
67
70
  # @param name [String] The folder's name.
68
71
  # @param folder_url [String] The URL to access the folder.
69
- # @param size [Integer] The folder's size, in bytes.
72
+ # @param size [Long] The folder's size, in bytes.
70
73
  # @param description [String] The folder's description.
71
74
  # @param parent_folder [Merge::Filestorage::FolderParentFolder] The folder that the folder belongs to.
72
75
  # @param drive [Merge::Filestorage::FolderDrive] The drive that the folder belongs to.
@@ -76,9 +79,11 @@ module Merge
76
79
  # @param remote_created_at [DateTime] When the third party's folder was created.
77
80
  # @param remote_updated_at [DateTime] When the third party's folder was updated.
78
81
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
79
- # platform.
82
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
83
+ # detection is offered for free with limited coverage. [Learn
84
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
80
85
  # @param field_mappings [Hash{String => Object}]
81
- # @param remote_data [Array<Hash{String => Object}>]
86
+ # @param remote_data [Array<Merge::Filestorage::RemoteData>]
82
87
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
83
88
  # @return [Merge::Filestorage::Folder]
84
89
  def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, name: OMIT, folder_url: OMIT,
@@ -163,7 +168,10 @@ module Merge
163
168
  end
164
169
  remote_was_deleted = parsed_json["remote_was_deleted"]
165
170
  field_mappings = parsed_json["field_mappings"]
166
- remote_data = parsed_json["remote_data"]
171
+ remote_data = parsed_json["remote_data"]&.map do |item|
172
+ item = item.to_json
173
+ Merge::Filestorage::RemoteData.from_json(json_object: item)
174
+ end
167
175
  new(
168
176
  id: id,
169
177
  remote_id: remote_id,
@@ -205,7 +213,7 @@ module Merge
205
213
  obj.modified_at&.is_a?(DateTime) != false || raise("Passed value for field obj.modified_at is not the expected type, validation failed.")
206
214
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
207
215
  obj.folder_url&.is_a?(String) != false || raise("Passed value for field obj.folder_url is not the expected type, validation failed.")
208
- obj.size&.is_a?(Integer) != false || raise("Passed value for field obj.size is not the expected type, validation failed.")
216
+ obj.size&.is_a?(Long) != false || raise("Passed value for field obj.size is not the expected type, validation failed.")
209
217
  obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
210
218
  obj.parent_folder.nil? || Merge::Filestorage::FolderParentFolder.validate_raw(obj: obj.parent_folder)
211
219
  obj.drive.nil? || Merge::Filestorage::FolderDrive.validate_raw(obj: obj.drive)
@@ -20,7 +20,7 @@ module Merge
20
20
  attr_reader :name
21
21
  # @return [String] The URL to access the folder.
22
22
  attr_reader :folder_url
23
- # @return [Integer] The folder's size, in bytes.
23
+ # @return [Long] The folder's size, in bytes.
24
24
  attr_reader :size
25
25
  # @return [String] The folder's description.
26
26
  attr_reader :description
@@ -46,7 +46,7 @@ module Merge
46
46
 
47
47
  # @param name [String] The folder's name.
48
48
  # @param folder_url [String] The URL to access the folder.
49
- # @param size [Integer] The folder's size, in bytes.
49
+ # @param size [Long] The folder's size, in bytes.
50
50
  # @param description [String] The folder's description.
51
51
  # @param parent_folder [Merge::Filestorage::FolderRequestParentFolder] The folder that the folder belongs to.
52
52
  # @param drive [Merge::Filestorage::FolderRequestDrive] The drive that the folder belongs to.
@@ -145,7 +145,7 @@ module Merge
145
145
  def self.validate_raw(obj:)
146
146
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
147
147
  obj.folder_url&.is_a?(String) != false || raise("Passed value for field obj.folder_url is not the expected type, validation failed.")
148
- obj.size&.is_a?(Integer) != false || raise("Passed value for field obj.size is not the expected type, validation failed.")
148
+ obj.size&.is_a?(Long) != false || raise("Passed value for field obj.size is not the expected type, validation failed.")
149
149
  obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
150
150
  obj.parent_folder.nil? || Merge::Filestorage::FolderRequestParentFolder.validate_raw(obj: obj.parent_folder)
151
151
  obj.drive.nil? || Merge::Filestorage::FolderRequestDrive.validate_raw(obj: obj.drive)
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "date"
4
+ require_relative "group_child_groups_item"
5
+ require_relative "remote_data"
4
6
  require "ostruct"
5
7
  require "json"
6
8
 
@@ -8,7 +10,7 @@ module Merge
8
10
  module Filestorage
9
11
  # # The Group Object
10
12
  # ### Description
11
- # The `Group` object is used to represent any subset of `User`s. This can extend
13
+ # The `Group` object is used to represent any subset of `Users`. This can extend
12
14
  # to company domains as well.
13
15
  # ### Usage Example
14
16
  # Fetch from the `GET /api/filestorage/v1/groups` endpoint and view their groups.
@@ -26,12 +28,16 @@ module Merge
26
28
  # @return [Array<String>] The users that belong in the group. If null, this typically means it's either a
27
29
  # domain or the third-party platform does not surface this information.
28
30
  attr_reader :users
31
+ # @return [Array<Merge::Filestorage::GroupChildGroupsItem>] Groups that inherit the permissions of the parent group.
32
+ attr_reader :child_groups
29
33
  # @return [Boolean] Indicates whether or not this object has been deleted in the third party
30
- # platform.
34
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
35
+ # detection is offered for free with limited coverage. [Learn
36
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
31
37
  attr_reader :remote_was_deleted
32
38
  # @return [Hash{String => Object}]
33
39
  attr_reader :field_mappings
34
- # @return [Array<Hash{String => Object}>]
40
+ # @return [Array<Merge::Filestorage::RemoteData>]
35
41
  attr_reader :remote_data
36
42
  # @return [OpenStruct] Additional properties unmapped to the current class definition
37
43
  attr_reader :additional_properties
@@ -48,20 +54,24 @@ module Merge
48
54
  # @param name [String] The group's name.
49
55
  # @param users [Array<String>] The users that belong in the group. If null, this typically means it's either a
50
56
  # domain or the third-party platform does not surface this information.
57
+ # @param child_groups [Array<Merge::Filestorage::GroupChildGroupsItem>] Groups that inherit the permissions of the parent group.
51
58
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
52
- # platform.
59
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
60
+ # detection is offered for free with limited coverage. [Learn
61
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
53
62
  # @param field_mappings [Hash{String => Object}]
54
- # @param remote_data [Array<Hash{String => Object}>]
63
+ # @param remote_data [Array<Merge::Filestorage::RemoteData>]
55
64
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
56
65
  # @return [Merge::Filestorage::Group]
57
66
  def initialize(users:, id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, name: OMIT,
58
- remote_was_deleted: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
67
+ child_groups: OMIT, remote_was_deleted: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
59
68
  @id = id if id != OMIT
60
69
  @remote_id = remote_id if remote_id != OMIT
61
70
  @created_at = created_at if created_at != OMIT
62
71
  @modified_at = modified_at if modified_at != OMIT
63
72
  @name = name if name != OMIT
64
73
  @users = users
74
+ @child_groups = child_groups if child_groups != OMIT
65
75
  @remote_was_deleted = remote_was_deleted if remote_was_deleted != OMIT
66
76
  @field_mappings = field_mappings if field_mappings != OMIT
67
77
  @remote_data = remote_data if remote_data != OMIT
@@ -73,6 +83,7 @@ module Merge
73
83
  "modified_at": modified_at,
74
84
  "name": name,
75
85
  "users": users,
86
+ "child_groups": child_groups,
76
87
  "remote_was_deleted": remote_was_deleted,
77
88
  "field_mappings": field_mappings,
78
89
  "remote_data": remote_data
@@ -94,9 +105,16 @@ module Merge
94
105
  modified_at = (DateTime.parse(parsed_json["modified_at"]) unless parsed_json["modified_at"].nil?)
95
106
  name = parsed_json["name"]
96
107
  users = parsed_json["users"]
108
+ child_groups = parsed_json["child_groups"]&.map do |item|
109
+ item = item.to_json
110
+ Merge::Filestorage::GroupChildGroupsItem.from_json(json_object: item)
111
+ end
97
112
  remote_was_deleted = parsed_json["remote_was_deleted"]
98
113
  field_mappings = parsed_json["field_mappings"]
99
- remote_data = parsed_json["remote_data"]
114
+ remote_data = parsed_json["remote_data"]&.map do |item|
115
+ item = item.to_json
116
+ Merge::Filestorage::RemoteData.from_json(json_object: item)
117
+ end
100
118
  new(
101
119
  id: id,
102
120
  remote_id: remote_id,
@@ -104,6 +122,7 @@ module Merge
104
122
  modified_at: modified_at,
105
123
  name: name,
106
124
  users: users,
125
+ child_groups: child_groups,
107
126
  remote_was_deleted: remote_was_deleted,
108
127
  field_mappings: field_mappings,
109
128
  remote_data: remote_data,
@@ -131,6 +150,7 @@ module Merge
131
150
  obj.modified_at&.is_a?(DateTime) != false || raise("Passed value for field obj.modified_at is not the expected type, validation failed.")
132
151
  obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
133
152
  obj.users.is_a?(Array) != false || raise("Passed value for field obj.users is not the expected type, validation failed.")
153
+ obj.child_groups&.is_a?(Array) != false || raise("Passed value for field obj.child_groups is not the expected type, validation failed.")
134
154
  obj.remote_was_deleted&.is_a?(Boolean) != false || raise("Passed value for field obj.remote_was_deleted is not the expected type, validation failed.")
135
155
  obj.field_mappings&.is_a?(Hash) != false || raise("Passed value for field obj.field_mappings is not the expected type, validation failed.")
136
156
  obj.remote_data&.is_a?(Array) != false || raise("Passed value for field obj.remote_data is not the expected type, validation failed.")
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "group"
5
+
6
+ module Merge
7
+ module Filestorage
8
+ class GroupChildGroupsItem
9
+ # Deserialize a JSON object to an instance of GroupChildGroupsItem
10
+ #
11
+ # @param json_object [String]
12
+ # @return [Merge::Filestorage::GroupChildGroupsItem]
13
+ def self.from_json(json_object:)
14
+ struct = JSON.parse(json_object, object_class: OpenStruct)
15
+ begin
16
+ struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
17
+ return struct unless struct.nil?
18
+
19
+ return nil
20
+ rescue StandardError
21
+ # noop
22
+ end
23
+ begin
24
+ Merge::Filestorage::Group.validate_raw(obj: struct)
25
+ return Merge::Filestorage::Group.from_json(json_object: struct) unless struct.nil?
26
+
27
+ return nil
28
+ rescue StandardError
29
+ # noop
30
+ end
31
+ struct
32
+ end
33
+
34
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
35
+ # hash and check each fields type against the current object's property
36
+ # definitions.
37
+ #
38
+ # @param obj [Object]
39
+ # @return [Void]
40
+ def self.validate_raw(obj:)
41
+ begin
42
+ return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
43
+ rescue StandardError
44
+ # noop
45
+ end
46
+ begin
47
+ return Merge::Filestorage::Group.validate_raw(obj: obj)
48
+ rescue StandardError
49
+ # noop
50
+ end
51
+ raise("Passed value matched no type within the union, validation failed.")
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Merge
4
+ module Filestorage
5
+ # - `en` - en
6
+ # - `de` - de
7
+ class LanguageEnum
8
+ EN = "en"
9
+ DE = "de"
10
+ end
11
+ end
12
+ end
@@ -26,9 +26,11 @@ module Merge
26
26
  attr_reader :created_at
27
27
  # @return [DateTime] The datetime that this object was modified by Merge.
28
28
  attr_reader :modified_at
29
- # @return [Merge::Filestorage::PermissionUser] The user that is granted this permission.
29
+ # @return [Merge::Filestorage::PermissionUser] The user that is granted this permission. This will only be populated if the
30
+ # type is `USER`.
30
31
  attr_reader :user
31
- # @return [Merge::Filestorage::PermissionGroup] The group that is granted this permission.
32
+ # @return [Merge::Filestorage::PermissionGroup] The group that is granted this permission. This will only be populated if the
33
+ # type is `GROUP`.
32
34
  attr_reader :group
33
35
  # @return [Merge::Filestorage::TypeEnum] Denotes what type of people have access to the file.
34
36
  # - `USER` - USER
@@ -53,8 +55,10 @@ module Merge
53
55
  # @param remote_id [String] The third-party API ID of the matching object.
54
56
  # @param created_at [DateTime] The datetime that this object was created by Merge.
55
57
  # @param modified_at [DateTime] The datetime that this object was modified by Merge.
56
- # @param user [Merge::Filestorage::PermissionUser] The user that is granted this permission.
57
- # @param group [Merge::Filestorage::PermissionGroup] The group that is granted this permission.
58
+ # @param user [Merge::Filestorage::PermissionUser] The user that is granted this permission. This will only be populated if the
59
+ # type is `USER`.
60
+ # @param group [Merge::Filestorage::PermissionGroup] The group that is granted this permission. This will only be populated if the
61
+ # type is `GROUP`.
58
62
  # @param type [Merge::Filestorage::TypeEnum] Denotes what type of people have access to the file.
59
63
  # - `USER` - USER
60
64
  # - `GROUP` - GROUP
@@ -5,7 +5,8 @@ require_relative "group"
5
5
 
6
6
  module Merge
7
7
  module Filestorage
8
- # The group that is granted this permission.
8
+ # The group that is granted this permission. This will only be populated if the
9
+ # type is `GROUP`.
9
10
  class PermissionGroup
10
11
  # Deserialize a JSON object to an instance of PermissionGroup
11
12
  #
@@ -19,9 +19,11 @@ module Merge
19
19
  class PermissionRequest
20
20
  # @return [String] The third-party API ID of the matching object.
21
21
  attr_reader :remote_id
22
- # @return [Merge::Filestorage::PermissionRequestUser] The user that is granted this permission.
22
+ # @return [Merge::Filestorage::PermissionRequestUser] The user that is granted this permission. This will only be populated if the
23
+ # type is `USER`.
23
24
  attr_reader :user
24
- # @return [Merge::Filestorage::PermissionRequestGroup] The group that is granted this permission.
25
+ # @return [Merge::Filestorage::PermissionRequestGroup] The group that is granted this permission. This will only be populated if the
26
+ # type is `GROUP`.
25
27
  attr_reader :group
26
28
  # @return [Merge::Filestorage::TypeEnum] Denotes what type of people have access to the file.
27
29
  # - `USER` - USER
@@ -47,8 +49,10 @@ module Merge
47
49
  OMIT = Object.new
48
50
 
49
51
  # @param remote_id [String] The third-party API ID of the matching object.
50
- # @param user [Merge::Filestorage::PermissionRequestUser] The user that is granted this permission.
51
- # @param group [Merge::Filestorage::PermissionRequestGroup] The group that is granted this permission.
52
+ # @param user [Merge::Filestorage::PermissionRequestUser] The user that is granted this permission. This will only be populated if the
53
+ # type is `USER`.
54
+ # @param group [Merge::Filestorage::PermissionRequestGroup] The group that is granted this permission. This will only be populated if the
55
+ # type is `GROUP`.
52
56
  # @param type [Merge::Filestorage::TypeEnum] Denotes what type of people have access to the file.
53
57
  # - `USER` - USER
54
58
  # - `GROUP` - GROUP
@@ -5,7 +5,8 @@ require_relative "group"
5
5
 
6
6
  module Merge
7
7
  module Filestorage
8
- # The group that is granted this permission.
8
+ # The group that is granted this permission. This will only be populated if the
9
+ # type is `GROUP`.
9
10
  class PermissionRequestGroup
10
11
  # Deserialize a JSON object to an instance of PermissionRequestGroup
11
12
  #
@@ -5,7 +5,8 @@ require_relative "user"
5
5
 
6
6
  module Merge
7
7
  module Filestorage
8
- # The user that is granted this permission.
8
+ # The user that is granted this permission. This will only be populated if the
9
+ # type is `USER`.
9
10
  class PermissionRequestUser
10
11
  # Deserialize a JSON object to an instance of PermissionRequestUser
11
12
  #
@@ -5,7 +5,8 @@ require_relative "user"
5
5
 
6
6
  module Merge
7
7
  module Filestorage
8
- # The user that is granted this permission.
8
+ # The user that is granted this permission. This will only be populated if the
9
+ # type is `USER`.
9
10
  class PermissionUser
10
11
  # Deserialize a JSON object to an instance of PermissionUser
11
12
  #
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Merge
7
+ module Filestorage
8
+ # # The RemoteData Object
9
+ # ### Description
10
+ # The `RemoteData` object is used to represent the full data pulled from the
11
+ # third-party API for an object.
12
+ # ### Usage Example
13
+ # TODO
14
+ class RemoteData
15
+ # @return [String] The third-party API path that is being called.
16
+ attr_reader :path
17
+ # @return [Object]
18
+ attr_reader :data
19
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
20
+ attr_reader :additional_properties
21
+ # @return [Object]
22
+ attr_reader :_field_set
23
+ protected :_field_set
24
+
25
+ OMIT = Object.new
26
+
27
+ # @param path [String] The third-party API path that is being called.
28
+ # @param data [Object]
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [Merge::Filestorage::RemoteData]
31
+ def initialize(path:, data: OMIT, additional_properties: nil)
32
+ @path = path
33
+ @data = data if data != OMIT
34
+ @additional_properties = additional_properties
35
+ @_field_set = { "path": path, "data": data }.reject do |_k, v|
36
+ v == OMIT
37
+ end
38
+ end
39
+
40
+ # Deserialize a JSON object to an instance of RemoteData
41
+ #
42
+ # @param json_object [String]
43
+ # @return [Merge::Filestorage::RemoteData]
44
+ def self.from_json(json_object:)
45
+ struct = JSON.parse(json_object, object_class: OpenStruct)
46
+ parsed_json = JSON.parse(json_object)
47
+ path = parsed_json["path"]
48
+ data = parsed_json["data"]
49
+ new(
50
+ path: path,
51
+ data: data,
52
+ additional_properties: struct
53
+ )
54
+ end
55
+
56
+ # Serialize an instance of RemoteData to a JSON object
57
+ #
58
+ # @return [String]
59
+ def to_json(*_args)
60
+ @_field_set&.to_json
61
+ end
62
+
63
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
64
+ # hash and check each fields type against the current object's property
65
+ # definitions.
66
+ #
67
+ # @param obj [Object]
68
+ # @return [Void]
69
+ def self.validate_raw(obj:)
70
+ obj.path.is_a?(String) != false || raise("Passed value for field obj.path is not the expected type, validation failed.")
71
+ obj.data&.is_a?(Object) != false || raise("Passed value for field obj.data is not the expected type, validation failed.")
72
+ end
73
+ end
74
+ end
75
+ end
@@ -37,12 +37,12 @@ module Merge
37
37
  # @param coverage [Merge::Filestorage::RemoteFieldApiCoverage]
38
38
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
39
  # @return [Merge::Filestorage::RemoteFieldApi]
40
- def initialize(schema:, remote_key_name:, remote_endpoint_info:, example_values:, advanced_metadata: OMIT,
40
+ def initialize(schema:, remote_key_name:, remote_endpoint_info:, example_values: OMIT, advanced_metadata: OMIT,
41
41
  coverage: OMIT, additional_properties: nil)
42
42
  @schema = schema
43
43
  @remote_key_name = remote_key_name
44
44
  @remote_endpoint_info = remote_endpoint_info
45
- @example_values = example_values
45
+ @example_values = example_values if example_values != OMIT
46
46
  @advanced_metadata = advanced_metadata if advanced_metadata != OMIT
47
47
  @coverage = coverage if coverage != OMIT
48
48
  @additional_properties = additional_properties
@@ -114,7 +114,7 @@ module Merge
114
114
  obj.schema.is_a?(Hash) != false || raise("Passed value for field obj.schema is not the expected type, validation failed.")
115
115
  obj.remote_key_name.is_a?(String) != false || raise("Passed value for field obj.remote_key_name is not the expected type, validation failed.")
116
116
  Merge::Filestorage::RemoteEndpointInfo.validate_raw(obj: obj.remote_endpoint_info)
117
- obj.example_values.is_a?(Array) != false || raise("Passed value for field obj.example_values is not the expected type, validation failed.")
117
+ obj.example_values&.is_a?(Array) != false || raise("Passed value for field obj.example_values is not the expected type, validation failed.")
118
118
  obj.advanced_metadata.nil? || Merge::Filestorage::AdvancedMetadata.validate_raw(obj: obj.advanced_metadata)
119
119
  obj.coverage.nil? || Merge::Filestorage::RemoteFieldApiCoverage.validate_raw(obj: obj.coverage)
120
120
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "date"
4
+ require_relative "remote_data"
4
5
  require "ostruct"
5
6
  require "json"
6
7
 
@@ -28,11 +29,13 @@ module Merge
28
29
  # @return [Boolean] Whether the user is the one who linked this account.
29
30
  attr_reader :is_me
30
31
  # @return [Boolean] Indicates whether or not this object has been deleted in the third party
31
- # platform.
32
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
33
+ # detection is offered for free with limited coverage. [Learn
34
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
32
35
  attr_reader :remote_was_deleted
33
36
  # @return [Hash{String => Object}]
34
37
  attr_reader :field_mappings
35
- # @return [Array<Hash{String => Object}>]
38
+ # @return [Array<Merge::Filestorage::RemoteData>]
36
39
  attr_reader :remote_data
37
40
  # @return [OpenStruct] Additional properties unmapped to the current class definition
38
41
  attr_reader :additional_properties
@@ -51,9 +54,11 @@ module Merge
51
54
  # linked accounts.
52
55
  # @param is_me [Boolean] Whether the user is the one who linked this account.
53
56
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
54
- # platform.
57
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
58
+ # detection is offered for free with limited coverage. [Learn
59
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
55
60
  # @param field_mappings [Hash{String => Object}]
56
- # @param remote_data [Array<Hash{String => Object}>]
61
+ # @param remote_data [Array<Merge::Filestorage::RemoteData>]
57
62
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
58
63
  # @return [Merge::Filestorage::User]
59
64
  def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, name: OMIT, email_address: OMIT,
@@ -101,7 +106,10 @@ module Merge
101
106
  is_me = parsed_json["is_me"]
102
107
  remote_was_deleted = parsed_json["remote_was_deleted"]
103
108
  field_mappings = parsed_json["field_mappings"]
104
- remote_data = parsed_json["remote_data"]
109
+ remote_data = parsed_json["remote_data"]&.map do |item|
110
+ item = item.to_json
111
+ Merge::Filestorage::RemoteData.from_json(json_object: item)
112
+ end
105
113
  new(
106
114
  id: id,
107
115
  remote_id: remote_id,