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
@@ -0,0 +1,199 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "employee_company"
5
+ require_relative "status_895_enum"
6
+ require_relative "remote_data"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module Merge
11
+ module Accounting
12
+ # # The Employee Object
13
+ # ### Description
14
+ # An `Employee` is an individual who works for the company of the linked account.
15
+ # The `Employee` model contains both contractors and full time employees.
16
+ # - An `Employee` is a contractor if `is_contractor` property is `True`
17
+ # - An `Employee` is a full time employee if `is_contractor` property is `False`
18
+ # ### Usage Example
19
+ # Fetch from the `LIST Employees` endpoint and view a company's employees.
20
+ class Employee
21
+ # @return [String]
22
+ attr_reader :id
23
+ # @return [String] The third-party API ID of the matching object.
24
+ attr_reader :remote_id
25
+ # @return [DateTime] The datetime that this object was created by Merge.
26
+ attr_reader :created_at
27
+ # @return [DateTime] The datetime that this object was modified by Merge.
28
+ attr_reader :modified_at
29
+ # @return [String] The employee's first name.
30
+ attr_reader :first_name
31
+ # @return [String] The employee's last name.
32
+ attr_reader :last_name
33
+ # @return [Boolean] `True` if the employee is a contractor, `False` if not.
34
+ attr_reader :is_contractor
35
+ # @return [String] The employee's internal identification number.
36
+ attr_reader :employee_number
37
+ # @return [String] The employee's email address.
38
+ attr_reader :email_address
39
+ # @return [Merge::Accounting::EmployeeCompany] The subsidiary that the employee belongs to.
40
+ attr_reader :company
41
+ # @return [Merge::Accounting::Status895Enum] The employee's status in the accounting system.
42
+ # - `ACTIVE` - ACTIVE
43
+ # - `INACTIVE` - INACTIVE
44
+ attr_reader :status
45
+ # @return [Boolean] Indicates whether or not this object has been deleted in the third party
46
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
47
+ # detection is offered for free with limited coverage. [Learn
48
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
49
+ attr_reader :remote_was_deleted
50
+ # @return [Hash{String => Object}]
51
+ attr_reader :field_mappings
52
+ # @return [Array<Merge::Accounting::RemoteData>]
53
+ attr_reader :remote_data
54
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
55
+ attr_reader :additional_properties
56
+ # @return [Object]
57
+ attr_reader :_field_set
58
+ protected :_field_set
59
+
60
+ OMIT = Object.new
61
+
62
+ # @param id [String]
63
+ # @param remote_id [String] The third-party API ID of the matching object.
64
+ # @param created_at [DateTime] The datetime that this object was created by Merge.
65
+ # @param modified_at [DateTime] The datetime that this object was modified by Merge.
66
+ # @param first_name [String] The employee's first name.
67
+ # @param last_name [String] The employee's last name.
68
+ # @param is_contractor [Boolean] `True` if the employee is a contractor, `False` if not.
69
+ # @param employee_number [String] The employee's internal identification number.
70
+ # @param email_address [String] The employee's email address.
71
+ # @param company [Merge::Accounting::EmployeeCompany] The subsidiary that the employee belongs to.
72
+ # @param status [Merge::Accounting::Status895Enum] The employee's status in the accounting system.
73
+ # - `ACTIVE` - ACTIVE
74
+ # - `INACTIVE` - INACTIVE
75
+ # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
76
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
77
+ # detection is offered for free with limited coverage. [Learn
78
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
79
+ # @param field_mappings [Hash{String => Object}]
80
+ # @param remote_data [Array<Merge::Accounting::RemoteData>]
81
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
82
+ # @return [Merge::Accounting::Employee]
83
+ def initialize(status:, id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, first_name: OMIT, last_name: OMIT,
84
+ is_contractor: OMIT, employee_number: OMIT, email_address: OMIT, company: OMIT, remote_was_deleted: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
85
+ @id = id if id != OMIT
86
+ @remote_id = remote_id if remote_id != OMIT
87
+ @created_at = created_at if created_at != OMIT
88
+ @modified_at = modified_at if modified_at != OMIT
89
+ @first_name = first_name if first_name != OMIT
90
+ @last_name = last_name if last_name != OMIT
91
+ @is_contractor = is_contractor if is_contractor != OMIT
92
+ @employee_number = employee_number if employee_number != OMIT
93
+ @email_address = email_address if email_address != OMIT
94
+ @company = company if company != OMIT
95
+ @status = status
96
+ @remote_was_deleted = remote_was_deleted if remote_was_deleted != OMIT
97
+ @field_mappings = field_mappings if field_mappings != OMIT
98
+ @remote_data = remote_data if remote_data != OMIT
99
+ @additional_properties = additional_properties
100
+ @_field_set = {
101
+ "id": id,
102
+ "remote_id": remote_id,
103
+ "created_at": created_at,
104
+ "modified_at": modified_at,
105
+ "first_name": first_name,
106
+ "last_name": last_name,
107
+ "is_contractor": is_contractor,
108
+ "employee_number": employee_number,
109
+ "email_address": email_address,
110
+ "company": company,
111
+ "status": status,
112
+ "remote_was_deleted": remote_was_deleted,
113
+ "field_mappings": field_mappings,
114
+ "remote_data": remote_data
115
+ }.reject do |_k, v|
116
+ v == OMIT
117
+ end
118
+ end
119
+
120
+ # Deserialize a JSON object to an instance of Employee
121
+ #
122
+ # @param json_object [String]
123
+ # @return [Merge::Accounting::Employee]
124
+ def self.from_json(json_object:)
125
+ struct = JSON.parse(json_object, object_class: OpenStruct)
126
+ parsed_json = JSON.parse(json_object)
127
+ id = parsed_json["id"]
128
+ remote_id = parsed_json["remote_id"]
129
+ created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
130
+ modified_at = (DateTime.parse(parsed_json["modified_at"]) unless parsed_json["modified_at"].nil?)
131
+ first_name = parsed_json["first_name"]
132
+ last_name = parsed_json["last_name"]
133
+ is_contractor = parsed_json["is_contractor"]
134
+ employee_number = parsed_json["employee_number"]
135
+ email_address = parsed_json["email_address"]
136
+ if parsed_json["company"].nil?
137
+ company = nil
138
+ else
139
+ company = parsed_json["company"].to_json
140
+ company = Merge::Accounting::EmployeeCompany.from_json(json_object: company)
141
+ end
142
+ status = parsed_json["status"]
143
+ remote_was_deleted = parsed_json["remote_was_deleted"]
144
+ field_mappings = parsed_json["field_mappings"]
145
+ remote_data = parsed_json["remote_data"]&.map do |item|
146
+ item = item.to_json
147
+ Merge::Accounting::RemoteData.from_json(json_object: item)
148
+ end
149
+ new(
150
+ id: id,
151
+ remote_id: remote_id,
152
+ created_at: created_at,
153
+ modified_at: modified_at,
154
+ first_name: first_name,
155
+ last_name: last_name,
156
+ is_contractor: is_contractor,
157
+ employee_number: employee_number,
158
+ email_address: email_address,
159
+ company: company,
160
+ status: status,
161
+ remote_was_deleted: remote_was_deleted,
162
+ field_mappings: field_mappings,
163
+ remote_data: remote_data,
164
+ additional_properties: struct
165
+ )
166
+ end
167
+
168
+ # Serialize an instance of Employee to a JSON object
169
+ #
170
+ # @return [String]
171
+ def to_json(*_args)
172
+ @_field_set&.to_json
173
+ end
174
+
175
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
176
+ # hash and check each fields type against the current object's property
177
+ # definitions.
178
+ #
179
+ # @param obj [Object]
180
+ # @return [Void]
181
+ def self.validate_raw(obj:)
182
+ obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
183
+ obj.remote_id&.is_a?(String) != false || raise("Passed value for field obj.remote_id is not the expected type, validation failed.")
184
+ obj.created_at&.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
185
+ obj.modified_at&.is_a?(DateTime) != false || raise("Passed value for field obj.modified_at is not the expected type, validation failed.")
186
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
187
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
188
+ obj.is_contractor&.is_a?(Boolean) != false || raise("Passed value for field obj.is_contractor is not the expected type, validation failed.")
189
+ obj.employee_number&.is_a?(String) != false || raise("Passed value for field obj.employee_number is not the expected type, validation failed.")
190
+ obj.email_address&.is_a?(String) != false || raise("Passed value for field obj.email_address is not the expected type, validation failed.")
191
+ obj.company.nil? || Merge::Accounting::EmployeeCompany.validate_raw(obj: obj.company)
192
+ obj.status.is_a?(Merge::Accounting::Status895Enum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
193
+ obj.remote_was_deleted&.is_a?(Boolean) != false || raise("Passed value for field obj.remote_was_deleted is not the expected type, validation failed.")
194
+ obj.field_mappings&.is_a?(Hash) != false || raise("Passed value for field obj.field_mappings is not the expected type, validation failed.")
195
+ obj.remote_data&.is_a?(Array) != false || raise("Passed value for field obj.remote_data is not the expected type, validation failed.")
196
+ end
197
+ end
198
+ end
199
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module Merge
6
+ module Accounting
7
+ # The subsidiary that the employee belongs to.
8
+ class EmployeeCompany
9
+ # Deserialize a JSON object to an instance of EmployeeCompany
10
+ #
11
+ # @param json_object [String]
12
+ # @return [Merge::Accounting::EmployeeCompany]
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
+ struct.is_a?(Object) != false || raise("Passed value for field struct is not the expected type, validation failed.")
25
+ return 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 obj.is_a?(Object) != false || raise("Passed value for field obj is not the expected type, validation failed.")
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
@@ -40,12 +40,19 @@ module Merge
40
40
  # - `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` -
41
41
  # DELETED_INTEGRATION_WIDE_FIELD_MAPPING
42
42
  # - `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
43
+ # - `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` -
44
+ # CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
45
+ # - `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` -
46
+ # CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
47
+ # - `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` -
48
+ # DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
43
49
  # - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC
44
50
  # - `MUTED_ISSUE` - MUTED_ISSUE
45
51
  # - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK
46
52
  # - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK
47
53
  # - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK
48
54
  # - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED
55
+ # - `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED
49
56
  class EventTypeEnum
50
57
  CREATED_REMOTE_PRODUCTION_API_KEY = "CREATED_REMOTE_PRODUCTION_API_KEY"
51
58
  DELETED_REMOTE_PRODUCTION_API_KEY = "DELETED_REMOTE_PRODUCTION_API_KEY"
@@ -78,12 +85,16 @@ module Merge
78
85
  CHANGED_LINKED_ACCOUNT_FIELD_MAPPING = "CHANGED_LINKED_ACCOUNT_FIELD_MAPPING"
79
86
  DELETED_INTEGRATION_WIDE_FIELD_MAPPING = "DELETED_INTEGRATION_WIDE_FIELD_MAPPING"
80
87
  DELETED_LINKED_ACCOUNT_FIELD_MAPPING = "DELETED_LINKED_ACCOUNT_FIELD_MAPPING"
88
+ CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE = "CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"
89
+ CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE = "CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"
90
+ DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE = "DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"
81
91
  FORCED_LINKED_ACCOUNT_RESYNC = "FORCED_LINKED_ACCOUNT_RESYNC"
82
92
  MUTED_ISSUE = "MUTED_ISSUE"
83
93
  GENERATED_MAGIC_LINK = "GENERATED_MAGIC_LINK"
84
94
  ENABLED_MERGE_WEBHOOK = "ENABLED_MERGE_WEBHOOK"
85
95
  DISABLED_MERGE_WEBHOOK = "DISABLED_MERGE_WEBHOOK"
86
96
  MERGE_WEBHOOK_TARGET_CHANGED = "MERGE_WEBHOOK_TARGET_CHANGED"
97
+ END_USER_CREDENTIALS_ACCESSED = "END_USER_CREDENTIALS_ACCESSED"
87
98
  end
88
99
  end
89
100
  end
@@ -3,12 +3,14 @@
3
3
  require "date"
4
4
  require_relative "expense_account"
5
5
  require_relative "expense_contact"
6
- require_relative "currency_enum"
6
+ require_relative "transaction_currency_enum"
7
7
  require_relative "expense_company"
8
+ require_relative "expense_employee"
8
9
  require_relative "expense_line"
9
10
  require_relative "expense_tracking_categories_item"
10
11
  require_relative "expense_accounting_period"
11
12
  require_relative "remote_data"
13
+ require_relative "remote_field"
12
14
  require "ostruct"
13
15
  require "json"
14
16
 
@@ -49,7 +51,7 @@ module Merge
49
51
  attr_reader :sub_total
50
52
  # @return [Float] The expense's total tax amount.
51
53
  attr_reader :total_tax_amount
52
- # @return [Merge::Accounting::CurrencyEnum] The expense's currency.
54
+ # @return [Merge::Accounting::TransactionCurrencyEnum] The expense's currency.
53
55
  # - `XUA` - ADB Unit of Account
54
56
  # - `AFN` - Afghan Afghani
55
57
  # - `AFA` - Afghan Afghani (1927–2002)
@@ -359,8 +361,13 @@ module Merge
359
361
  attr_reader :currency
360
362
  # @return [String] The expense's exchange rate.
361
363
  attr_reader :exchange_rate
364
+ # @return [Boolean] If the transaction is inclusive or exclusive of tax. `True` if inclusive,
365
+ # `False` if exclusive.
366
+ attr_reader :inclusive_of_tax
362
367
  # @return [Merge::Accounting::ExpenseCompany] The company the expense belongs to.
363
368
  attr_reader :company
369
+ # @return [Merge::Accounting::ExpenseEmployee] The employee this overall transaction relates to.
370
+ attr_reader :employee
364
371
  # @return [String] The expense's private note.
365
372
  attr_reader :memo
366
373
  # @return [Array<Merge::Accounting::ExpenseLine>]
@@ -368,7 +375,9 @@ module Merge
368
375
  # @return [Array<Merge::Accounting::ExpenseTrackingCategoriesItem>]
369
376
  attr_reader :tracking_categories
370
377
  # @return [Boolean] Indicates whether or not this object has been deleted in the third party
371
- # platform.
378
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
379
+ # detection is offered for free with limited coverage. [Learn
380
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
372
381
  attr_reader :remote_was_deleted
373
382
  # @return [Merge::Accounting::ExpenseAccountingPeriod] The accounting period that the Expense was generated in.
374
383
  attr_reader :accounting_period
@@ -376,6 +385,8 @@ module Merge
376
385
  attr_reader :field_mappings
377
386
  # @return [Array<Merge::Accounting::RemoteData>]
378
387
  attr_reader :remote_data
388
+ # @return [Array<Merge::Accounting::RemoteField>]
389
+ attr_reader :remote_fields
379
390
  # @return [OpenStruct] Additional properties unmapped to the current class definition
380
391
  attr_reader :additional_properties
381
392
  # @return [Object]
@@ -395,7 +406,7 @@ module Merge
395
406
  # @param total_amount [Float] The expense's total amount.
396
407
  # @param sub_total [Float] The expense's total amount before tax.
397
408
  # @param total_tax_amount [Float] The expense's total tax amount.
398
- # @param currency [Merge::Accounting::CurrencyEnum] The expense's currency.
409
+ # @param currency [Merge::Accounting::TransactionCurrencyEnum] The expense's currency.
399
410
  # - `XUA` - ADB Unit of Account
400
411
  # - `AFN` - Afghan Afghani
401
412
  # - `AFA` - Afghan Afghani (1927–2002)
@@ -703,19 +714,25 @@ module Merge
703
714
  # - `ZWR` - Zimbabwean Dollar (2008)
704
715
  # - `ZWL` - Zimbabwean Dollar (2009)
705
716
  # @param exchange_rate [String] The expense's exchange rate.
717
+ # @param inclusive_of_tax [Boolean] If the transaction is inclusive or exclusive of tax. `True` if inclusive,
718
+ # `False` if exclusive.
706
719
  # @param company [Merge::Accounting::ExpenseCompany] The company the expense belongs to.
720
+ # @param employee [Merge::Accounting::ExpenseEmployee] The employee this overall transaction relates to.
707
721
  # @param memo [String] The expense's private note.
708
722
  # @param lines [Array<Merge::Accounting::ExpenseLine>]
709
723
  # @param tracking_categories [Array<Merge::Accounting::ExpenseTrackingCategoriesItem>]
710
724
  # @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
711
- # platform.
725
+ # platform. Full coverage deletion detection is a premium add-on. Native deletion
726
+ # detection is offered for free with limited coverage. [Learn
727
+ # more](https://docs.merge.dev/integrations/hris/supported-features/).
712
728
  # @param accounting_period [Merge::Accounting::ExpenseAccountingPeriod] The accounting period that the Expense was generated in.
713
729
  # @param field_mappings [Hash{String => Object}]
714
730
  # @param remote_data [Array<Merge::Accounting::RemoteData>]
731
+ # @param remote_fields [Array<Merge::Accounting::RemoteField>]
715
732
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
716
733
  # @return [Merge::Accounting::Expense]
717
734
  def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, transaction_date: OMIT,
718
- remote_created_at: OMIT, account: OMIT, contact: OMIT, total_amount: OMIT, sub_total: OMIT, total_tax_amount: OMIT, currency: OMIT, exchange_rate: OMIT, company: OMIT, memo: OMIT, lines: OMIT, tracking_categories: OMIT, remote_was_deleted: OMIT, accounting_period: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
735
+ remote_created_at: OMIT, account: OMIT, contact: OMIT, total_amount: OMIT, sub_total: OMIT, total_tax_amount: OMIT, currency: OMIT, exchange_rate: OMIT, inclusive_of_tax: OMIT, company: OMIT, employee: OMIT, memo: OMIT, lines: OMIT, tracking_categories: OMIT, remote_was_deleted: OMIT, accounting_period: OMIT, field_mappings: OMIT, remote_data: OMIT, remote_fields: OMIT, additional_properties: nil)
719
736
  @id = id if id != OMIT
720
737
  @remote_id = remote_id if remote_id != OMIT
721
738
  @created_at = created_at if created_at != OMIT
@@ -729,7 +746,9 @@ module Merge
729
746
  @total_tax_amount = total_tax_amount if total_tax_amount != OMIT
730
747
  @currency = currency if currency != OMIT
731
748
  @exchange_rate = exchange_rate if exchange_rate != OMIT
749
+ @inclusive_of_tax = inclusive_of_tax if inclusive_of_tax != OMIT
732
750
  @company = company if company != OMIT
751
+ @employee = employee if employee != OMIT
733
752
  @memo = memo if memo != OMIT
734
753
  @lines = lines if lines != OMIT
735
754
  @tracking_categories = tracking_categories if tracking_categories != OMIT
@@ -737,6 +756,7 @@ module Merge
737
756
  @accounting_period = accounting_period if accounting_period != OMIT
738
757
  @field_mappings = field_mappings if field_mappings != OMIT
739
758
  @remote_data = remote_data if remote_data != OMIT
759
+ @remote_fields = remote_fields if remote_fields != OMIT
740
760
  @additional_properties = additional_properties
741
761
  @_field_set = {
742
762
  "id": id,
@@ -752,14 +772,17 @@ module Merge
752
772
  "total_tax_amount": total_tax_amount,
753
773
  "currency": currency,
754
774
  "exchange_rate": exchange_rate,
775
+ "inclusive_of_tax": inclusive_of_tax,
755
776
  "company": company,
777
+ "employee": employee,
756
778
  "memo": memo,
757
779
  "lines": lines,
758
780
  "tracking_categories": tracking_categories,
759
781
  "remote_was_deleted": remote_was_deleted,
760
782
  "accounting_period": accounting_period,
761
783
  "field_mappings": field_mappings,
762
- "remote_data": remote_data
784
+ "remote_data": remote_data,
785
+ "remote_fields": remote_fields
763
786
  }.reject do |_k, v|
764
787
  v == OMIT
765
788
  end
@@ -797,12 +820,19 @@ module Merge
797
820
  total_tax_amount = parsed_json["total_tax_amount"]
798
821
  currency = parsed_json["currency"]
799
822
  exchange_rate = parsed_json["exchange_rate"]
823
+ inclusive_of_tax = parsed_json["inclusive_of_tax"]
800
824
  if parsed_json["company"].nil?
801
825
  company = nil
802
826
  else
803
827
  company = parsed_json["company"].to_json
804
828
  company = Merge::Accounting::ExpenseCompany.from_json(json_object: company)
805
829
  end
830
+ if parsed_json["employee"].nil?
831
+ employee = nil
832
+ else
833
+ employee = parsed_json["employee"].to_json
834
+ employee = Merge::Accounting::ExpenseEmployee.from_json(json_object: employee)
835
+ end
806
836
  memo = parsed_json["memo"]
807
837
  lines = parsed_json["lines"]&.map do |item|
808
838
  item = item.to_json
@@ -824,6 +854,10 @@ module Merge
824
854
  item = item.to_json
825
855
  Merge::Accounting::RemoteData.from_json(json_object: item)
826
856
  end
857
+ remote_fields = parsed_json["remote_fields"]&.map do |item|
858
+ item = item.to_json
859
+ Merge::Accounting::RemoteField.from_json(json_object: item)
860
+ end
827
861
  new(
828
862
  id: id,
829
863
  remote_id: remote_id,
@@ -838,7 +872,9 @@ module Merge
838
872
  total_tax_amount: total_tax_amount,
839
873
  currency: currency,
840
874
  exchange_rate: exchange_rate,
875
+ inclusive_of_tax: inclusive_of_tax,
841
876
  company: company,
877
+ employee: employee,
842
878
  memo: memo,
843
879
  lines: lines,
844
880
  tracking_categories: tracking_categories,
@@ -846,6 +882,7 @@ module Merge
846
882
  accounting_period: accounting_period,
847
883
  field_mappings: field_mappings,
848
884
  remote_data: remote_data,
885
+ remote_fields: remote_fields,
849
886
  additional_properties: struct
850
887
  )
851
888
  end
@@ -875,9 +912,11 @@ module Merge
875
912
  obj.total_amount&.is_a?(Float) != false || raise("Passed value for field obj.total_amount is not the expected type, validation failed.")
876
913
  obj.sub_total&.is_a?(Float) != false || raise("Passed value for field obj.sub_total is not the expected type, validation failed.")
877
914
  obj.total_tax_amount&.is_a?(Float) != false || raise("Passed value for field obj.total_tax_amount is not the expected type, validation failed.")
878
- obj.currency&.is_a?(Merge::Accounting::CurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
915
+ obj.currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
879
916
  obj.exchange_rate&.is_a?(String) != false || raise("Passed value for field obj.exchange_rate is not the expected type, validation failed.")
917
+ obj.inclusive_of_tax&.is_a?(Boolean) != false || raise("Passed value for field obj.inclusive_of_tax is not the expected type, validation failed.")
880
918
  obj.company.nil? || Merge::Accounting::ExpenseCompany.validate_raw(obj: obj.company)
919
+ obj.employee.nil? || Merge::Accounting::ExpenseEmployee.validate_raw(obj: obj.employee)
881
920
  obj.memo&.is_a?(String) != false || raise("Passed value for field obj.memo is not the expected type, validation failed.")
882
921
  obj.lines&.is_a?(Array) != false || raise("Passed value for field obj.lines is not the expected type, validation failed.")
883
922
  obj.tracking_categories&.is_a?(Array) != false || raise("Passed value for field obj.tracking_categories is not the expected type, validation failed.")
@@ -885,6 +924,7 @@ module Merge
885
924
  obj.accounting_period.nil? || Merge::Accounting::ExpenseAccountingPeriod.validate_raw(obj: obj.accounting_period)
886
925
  obj.field_mappings&.is_a?(Hash) != false || raise("Passed value for field obj.field_mappings is not the expected type, validation failed.")
887
926
  obj.remote_data&.is_a?(Array) != false || raise("Passed value for field obj.remote_data is not the expected type, validation failed.")
927
+ obj.remote_fields&.is_a?(Array) != false || raise("Passed value for field obj.remote_fields is not the expected type, validation failed.")
888
928
  end
889
929
  end
890
930
  end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "employee"
5
+
6
+ module Merge
7
+ module Accounting
8
+ # The employee this overall transaction relates to.
9
+ class ExpenseEmployee
10
+ # Deserialize a JSON object to an instance of ExpenseEmployee
11
+ #
12
+ # @param json_object [String]
13
+ # @return [Merge::Accounting::ExpenseEmployee]
14
+ def self.from_json(json_object:)
15
+ struct = JSON.parse(json_object, object_class: OpenStruct)
16
+ begin
17
+ struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
18
+ return struct unless struct.nil?
19
+
20
+ return nil
21
+ rescue StandardError
22
+ # noop
23
+ end
24
+ begin
25
+ Merge::Accounting::Employee.validate_raw(obj: struct)
26
+ return Merge::Accounting::Employee.from_json(json_object: struct) unless struct.nil?
27
+
28
+ return nil
29
+ rescue StandardError
30
+ # noop
31
+ end
32
+ struct
33
+ end
34
+
35
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
36
+ # hash and check each fields type against the current object's property
37
+ # definitions.
38
+ #
39
+ # @param obj [Object]
40
+ # @return [Void]
41
+ def self.validate_raw(obj:)
42
+ begin
43
+ return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
44
+ rescue StandardError
45
+ # noop
46
+ end
47
+ begin
48
+ return Merge::Accounting::Employee.validate_raw(obj: obj)
49
+ rescue StandardError
50
+ # noop
51
+ end
52
+ raise("Passed value matched no type within the union, validation failed.")
53
+ end
54
+ end
55
+ end
56
+ end