merge_ruby_client 1.1.0 → 2.1.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 (230) hide show
  1. checksums.yaml +4 -4
  2. data/lib/merge_ruby_client/accounting/accounting_periods/client.rb +2 -2
  3. data/lib/merge_ruby_client/accounting/accounts/client.rb +18 -10
  4. data/lib/merge_ruby_client/accounting/attachments/client.rb +2 -2
  5. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +8 -6
  6. data/lib/merge_ruby_client/accounting/balance_sheets/client.rb +2 -2
  7. data/lib/merge_ruby_client/accounting/bank_feed_accounts/client.rb +2 -2
  8. data/lib/merge_ruby_client/accounting/bank_feed_transactions/client.rb +2 -2
  9. data/lib/merge_ruby_client/accounting/cash_flow_statements/client.rb +2 -2
  10. data/lib/merge_ruby_client/accounting/client.rb +14 -0
  11. data/lib/merge_ruby_client/accounting/company_info/client.rb +2 -2
  12. data/lib/merge_ruby_client/accounting/contacts/client.rb +187 -10
  13. data/lib/merge_ruby_client/accounting/credit_notes/client.rb +2 -2
  14. data/lib/merge_ruby_client/accounting/employees/client.rb +35 -8
  15. data/lib/merge_ruby_client/accounting/expense_reports/client.rb +765 -0
  16. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_lines_list_request_expand.rb +73 -0
  17. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_list_request_expand.rb +25 -0
  18. data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_retrieve_request_expand.rb +25 -0
  19. data/lib/merge_ruby_client/accounting/expenses/client.rb +18 -10
  20. data/lib/merge_ruby_client/accounting/general_ledger_transactions/client.rb +2 -2
  21. data/lib/merge_ruby_client/accounting/income_statements/client.rb +2 -2
  22. data/lib/merge_ruby_client/accounting/invoices/client.rb +18 -10
  23. data/lib/merge_ruby_client/accounting/issues/client.rb +2 -2
  24. data/lib/merge_ruby_client/accounting/items/client.rb +334 -2
  25. data/lib/merge_ruby_client/accounting/journal_entries/client.rb +18 -10
  26. data/lib/merge_ruby_client/accounting/linked_accounts/client.rb +2 -2
  27. data/lib/merge_ruby_client/accounting/payment_methods/client.rb +2 -2
  28. data/lib/merge_ruby_client/accounting/payment_terms/client.rb +2 -2
  29. data/lib/merge_ruby_client/accounting/payments/client.rb +18 -10
  30. data/lib/merge_ruby_client/accounting/projects/client.rb +251 -0
  31. data/lib/merge_ruby_client/accounting/projects/types/projects_list_request_expand.rb +13 -0
  32. data/lib/merge_ruby_client/accounting/projects/types/projects_retrieve_request_expand.rb +13 -0
  33. data/lib/merge_ruby_client/accounting/purchase_orders/client.rb +18 -10
  34. data/lib/merge_ruby_client/accounting/sync_status/client.rb +2 -2
  35. data/lib/merge_ruby_client/accounting/tax_rates/client.rb +2 -2
  36. data/lib/merge_ruby_client/accounting/tracking_categories/client.rb +18 -10
  37. data/lib/merge_ruby_client/accounting/transactions/client.rb +2 -2
  38. data/lib/merge_ruby_client/accounting/transactions/types/transactions_list_request_expand.rb +32 -0
  39. data/lib/merge_ruby_client/accounting/transactions/types/transactions_retrieve_request_expand.rb +32 -0
  40. data/lib/merge_ruby_client/accounting/types/account_details_and_actions.rb +10 -2
  41. data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +2 -0
  42. data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +29 -1
  43. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_contact.rb +56 -0
  44. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_project.rb +55 -0
  45. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request.rb +29 -1
  46. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_contact.rb +56 -0
  47. data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_project.rb +55 -0
  48. data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +2 -0
  49. data/lib/merge_ruby_client/accounting/types/expense_line.rb +15 -1
  50. data/lib/merge_ruby_client/accounting/types/expense_line_project.rb +55 -0
  51. data/lib/merge_ruby_client/accounting/types/expense_line_request.rb +15 -1
  52. data/lib/merge_ruby_client/accounting/types/expense_line_request_project.rb +55 -0
  53. data/lib/merge_ruby_client/accounting/types/expense_report.rb +869 -0
  54. data/lib/merge_ruby_client/accounting/types/expense_report_company.rb +56 -0
  55. data/lib/merge_ruby_client/accounting/types/expense_report_line.rb +921 -0
  56. data/lib/merge_ruby_client/accounting/types/expense_report_line_account.rb +55 -0
  57. data/lib/merge_ruby_client/accounting/types/expense_report_line_company.rb +56 -0
  58. data/lib/merge_ruby_client/accounting/types/expense_report_line_contact.rb +55 -0
  59. data/lib/merge_ruby_client/accounting/types/expense_report_line_employee.rb +57 -0
  60. data/lib/merge_ruby_client/accounting/types/expense_report_line_project.rb +55 -0
  61. data/lib/merge_ruby_client/accounting/types/expense_report_line_request.rb +899 -0
  62. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_account.rb +55 -0
  63. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_company.rb +56 -0
  64. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_contact.rb +55 -0
  65. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_employee.rb +57 -0
  66. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_project.rb +55 -0
  67. data/lib/merge_ruby_client/accounting/types/expense_report_line_request_tax_rate.rb +55 -0
  68. data/lib/merge_ruby_client/accounting/types/expense_report_line_tax_rate.rb +55 -0
  69. data/lib/merge_ruby_client/accounting/types/expense_report_request.rb +819 -0
  70. data/lib/merge_ruby_client/accounting/types/expense_report_request_accounting_period.rb +56 -0
  71. data/lib/merge_ruby_client/accounting/types/expense_report_request_company.rb +56 -0
  72. data/lib/merge_ruby_client/accounting/types/expense_report_request_employee.rb +57 -0
  73. data/lib/merge_ruby_client/accounting/types/expense_report_response.rb +101 -0
  74. data/lib/merge_ruby_client/accounting/types/expense_report_status_enum.rb +16 -0
  75. data/lib/merge_ruby_client/accounting/types/external_target_field_api_response.rb +23 -1
  76. data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_response.rb +23 -1
  77. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line.rb +15 -1
  78. data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_project.rb +55 -0
  79. data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +29 -1
  80. data/lib/merge_ruby_client/accounting/types/invoice_line_item_contact.rb +56 -0
  81. data/lib/merge_ruby_client/accounting/types/invoice_line_item_project.rb +55 -0
  82. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request.rb +29 -1
  83. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_contact.rb +56 -0
  84. data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_project.rb +55 -0
  85. data/lib/merge_ruby_client/accounting/types/item.rb +18 -1
  86. data/lib/merge_ruby_client/accounting/types/item_request_request.rb +202 -0
  87. data/lib/merge_ruby_client/accounting/types/item_request_request_company.rb +56 -0
  88. data/lib/merge_ruby_client/accounting/types/item_request_request_purchase_account.rb +56 -0
  89. data/lib/merge_ruby_client/accounting/types/item_request_request_purchase_tax_rate.rb +56 -0
  90. data/lib/merge_ruby_client/accounting/types/item_request_request_sales_account.rb +56 -0
  91. data/lib/merge_ruby_client/accounting/types/item_request_request_sales_tax_rate.rb +56 -0
  92. data/lib/merge_ruby_client/accounting/types/item_response.rb +101 -0
  93. data/lib/merge_ruby_client/accounting/types/journal_line.rb +15 -1
  94. data/lib/merge_ruby_client/accounting/types/journal_line_project.rb +55 -0
  95. data/lib/merge_ruby_client/accounting/types/journal_line_request.rb +15 -1
  96. data/lib/merge_ruby_client/accounting/types/journal_line_request_project.rb +55 -0
  97. data/lib/merge_ruby_client/accounting/types/paginated_expense_report_line_list.rb +80 -0
  98. data/lib/merge_ruby_client/accounting/types/paginated_expense_report_list.rb +80 -0
  99. data/lib/merge_ruby_client/accounting/types/paginated_project_list.rb +80 -0
  100. data/lib/merge_ruby_client/accounting/types/patched_contact_request.rb +188 -0
  101. data/lib/merge_ruby_client/accounting/types/patched_contact_request_addresses_item.rb +55 -0
  102. data/lib/merge_ruby_client/accounting/types/patched_item_request_request.rb +172 -0
  103. data/lib/merge_ruby_client/accounting/types/project.rb +162 -0
  104. data/lib/merge_ruby_client/accounting/types/project_company.rb +56 -0
  105. data/lib/merge_ruby_client/accounting/types/project_contact.rb +56 -0
  106. data/lib/merge_ruby_client/accounting/types/remote_field_api_response.rb +12 -1
  107. data/lib/merge_ruby_client/accounting/types/remote_field_class.rb +9 -1
  108. data/lib/merge_ruby_client/accounting/types/type_2_bb_enum.rb +16 -0
  109. data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +29 -1
  110. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_contact.rb +55 -0
  111. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_project.rb +55 -0
  112. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request.rb +29 -1
  113. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_contact.rb +55 -0
  114. data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_project.rb +55 -0
  115. data/lib/merge_ruby_client/accounting/vendor_credits/client.rb +2 -2
  116. data/lib/merge_ruby_client/ats/activities/client.rb +2 -2
  117. data/lib/merge_ruby_client/ats/applications/client.rb +2 -2
  118. data/lib/merge_ruby_client/ats/attachments/client.rb +2 -2
  119. data/lib/merge_ruby_client/ats/audit_trail/client.rb +8 -6
  120. data/lib/merge_ruby_client/ats/candidates/client.rb +2 -2
  121. data/lib/merge_ruby_client/ats/departments/client.rb +2 -2
  122. data/lib/merge_ruby_client/ats/eeocs/client.rb +2 -2
  123. data/lib/merge_ruby_client/ats/interviews/client.rb +2 -2
  124. data/lib/merge_ruby_client/ats/issues/client.rb +2 -2
  125. data/lib/merge_ruby_client/ats/job_interview_stages/client.rb +2 -2
  126. data/lib/merge_ruby_client/ats/job_postings/client.rb +2 -2
  127. data/lib/merge_ruby_client/ats/jobs/client.rb +4 -4
  128. data/lib/merge_ruby_client/ats/linked_accounts/client.rb +2 -2
  129. data/lib/merge_ruby_client/ats/offers/client.rb +2 -2
  130. data/lib/merge_ruby_client/ats/offices/client.rb +2 -2
  131. data/lib/merge_ruby_client/ats/reject_reasons/client.rb +2 -2
  132. data/lib/merge_ruby_client/ats/scorecards/client.rb +2 -2
  133. data/lib/merge_ruby_client/ats/sync_status/client.rb +2 -2
  134. data/lib/merge_ruby_client/ats/tags/client.rb +2 -2
  135. data/lib/merge_ruby_client/ats/types/account_details_and_actions.rb +10 -2
  136. data/lib/merge_ruby_client/ats/types/audit_log_event.rb +2 -0
  137. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +2 -0
  138. data/lib/merge_ruby_client/ats/users/client.rb +2 -2
  139. data/lib/merge_ruby_client/crm/accounts/client.rb +10 -6
  140. data/lib/merge_ruby_client/crm/association_types/client.rb +2 -2
  141. data/lib/merge_ruby_client/crm/associations/client.rb +10 -2
  142. data/lib/merge_ruby_client/crm/audit_trail/client.rb +8 -6
  143. data/lib/merge_ruby_client/crm/contacts/client.rb +10 -6
  144. data/lib/merge_ruby_client/crm/custom_object_classes/client.rb +2 -2
  145. data/lib/merge_ruby_client/crm/custom_objects/client.rb +14 -6
  146. data/lib/merge_ruby_client/crm/engagement_types/client.rb +10 -6
  147. data/lib/merge_ruby_client/crm/engagements/client.rb +10 -6
  148. data/lib/merge_ruby_client/crm/issues/client.rb +2 -2
  149. data/lib/merge_ruby_client/crm/leads/client.rb +10 -6
  150. data/lib/merge_ruby_client/crm/linked_accounts/client.rb +2 -2
  151. data/lib/merge_ruby_client/crm/notes/client.rb +10 -6
  152. data/lib/merge_ruby_client/crm/opportunities/client.rb +10 -6
  153. data/lib/merge_ruby_client/crm/stages/client.rb +10 -6
  154. data/lib/merge_ruby_client/crm/sync_status/client.rb +22 -8
  155. data/lib/merge_ruby_client/crm/tasks/client.rb +10 -6
  156. data/lib/merge_ruby_client/crm/types/audit_log_event.rb +2 -0
  157. data/lib/merge_ruby_client/crm/types/custom_object_request.rb +26 -3
  158. data/lib/merge_ruby_client/crm/types/event_type_enum.rb +2 -0
  159. data/lib/merge_ruby_client/crm/types/remote_field_class.rb +9 -1
  160. data/lib/merge_ruby_client/crm/users/client.rb +10 -6
  161. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +8 -6
  162. data/lib/merge_ruby_client/filestorage/drives/client.rb +2 -2
  163. data/lib/merge_ruby_client/filestorage/files/client.rb +70 -16
  164. data/lib/merge_ruby_client/filestorage/files/types/files_download_request_meta_list_request_order_by.rb +14 -0
  165. data/lib/merge_ruby_client/filestorage/files/types/files_list_request_order_by.rb +14 -0
  166. data/lib/merge_ruby_client/filestorage/folders/client.rb +2 -2
  167. data/lib/merge_ruby_client/filestorage/groups/client.rb +2 -2
  168. data/lib/merge_ruby_client/filestorage/issues/client.rb +2 -2
  169. data/lib/merge_ruby_client/filestorage/linked_accounts/client.rb +2 -2
  170. data/lib/merge_ruby_client/filestorage/sync_status/client.rb +22 -8
  171. data/lib/merge_ruby_client/filestorage/types/account_details_and_actions.rb +10 -2
  172. data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +2 -0
  173. data/lib/merge_ruby_client/filestorage/types/download_request_meta.rb +2 -9
  174. data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +2 -0
  175. data/lib/merge_ruby_client/filestorage/types/file.rb +13 -1
  176. data/lib/merge_ruby_client/filestorage/types/file_request.rb +13 -1
  177. data/lib/merge_ruby_client/filestorage/users/client.rb +2 -2
  178. data/lib/merge_ruby_client/hris/audit_trail/client.rb +8 -6
  179. data/lib/merge_ruby_client/hris/bank_info/client.rb +2 -2
  180. data/lib/merge_ruby_client/hris/benefits/client.rb +2 -2
  181. data/lib/merge_ruby_client/hris/companies/client.rb +2 -2
  182. data/lib/merge_ruby_client/hris/dependents/client.rb +8 -4
  183. data/lib/merge_ruby_client/hris/employee_payroll_runs/client.rb +2 -2
  184. data/lib/merge_ruby_client/hris/employees/client.rb +8 -4
  185. data/lib/merge_ruby_client/hris/employer_benefits/client.rb +2 -2
  186. data/lib/merge_ruby_client/hris/employments/client.rb +2 -2
  187. data/lib/merge_ruby_client/hris/groups/client.rb +2 -2
  188. data/lib/merge_ruby_client/hris/issues/client.rb +2 -2
  189. data/lib/merge_ruby_client/hris/linked_accounts/client.rb +2 -2
  190. data/lib/merge_ruby_client/hris/locations/client.rb +2 -2
  191. data/lib/merge_ruby_client/hris/pay_groups/client.rb +2 -2
  192. data/lib/merge_ruby_client/hris/payroll_runs/client.rb +2 -2
  193. data/lib/merge_ruby_client/hris/sync_status/client.rb +2 -2
  194. data/lib/merge_ruby_client/hris/teams/client.rb +2 -2
  195. data/lib/merge_ruby_client/hris/time_off/client.rb +2 -2
  196. data/lib/merge_ruby_client/hris/time_off_balances/client.rb +2 -2
  197. data/lib/merge_ruby_client/hris/timesheet_entries/client.rb +2 -2
  198. data/lib/merge_ruby_client/hris/types/account_details_and_actions.rb +10 -2
  199. data/lib/merge_ruby_client/hris/types/audit_log_event.rb +2 -0
  200. data/lib/merge_ruby_client/hris/types/benefit.rb +9 -9
  201. data/lib/merge_ruby_client/hris/types/event_type_enum.rb +2 -0
  202. data/lib/merge_ruby_client/ticketing/accounts/client.rb +2 -2
  203. data/lib/merge_ruby_client/ticketing/attachments/client.rb +2 -2
  204. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +8 -6
  205. data/lib/merge_ruby_client/ticketing/collections/client.rb +4 -4
  206. data/lib/merge_ruby_client/ticketing/comments/client.rb +2 -2
  207. data/lib/merge_ruby_client/ticketing/contacts/client.rb +2 -2
  208. data/lib/merge_ruby_client/ticketing/issues/client.rb +2 -2
  209. data/lib/merge_ruby_client/ticketing/linked_accounts/client.rb +2 -2
  210. data/lib/merge_ruby_client/ticketing/projects/client.rb +4 -4
  211. data/lib/merge_ruby_client/ticketing/roles/client.rb +2 -2
  212. data/lib/merge_ruby_client/ticketing/sync_status/client.rb +2 -2
  213. data/lib/merge_ruby_client/ticketing/tags/client.rb +2 -2
  214. data/lib/merge_ruby_client/ticketing/teams/client.rb +2 -2
  215. data/lib/merge_ruby_client/ticketing/tickets/client.rb +40 -20
  216. data/lib/merge_ruby_client/ticketing/types/account_details_and_actions.rb +10 -2
  217. data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +2 -0
  218. data/lib/merge_ruby_client/ticketing/types/collection.rb +18 -16
  219. data/lib/merge_ruby_client/ticketing/types/{access_level_enum.rb → collection_access_level_enum.rb} +3 -1
  220. data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +2 -0
  221. data/lib/merge_ruby_client/ticketing/types/patched_ticket_request.rb +28 -9
  222. data/lib/merge_ruby_client/ticketing/types/remote_field_class.rb +9 -1
  223. data/lib/merge_ruby_client/ticketing/types/ticket.rb +20 -1
  224. data/lib/merge_ruby_client/ticketing/types/ticket_access_level_enum.rb +16 -0
  225. data/lib/merge_ruby_client/ticketing/types/ticket_request.rb +20 -1
  226. data/lib/merge_ruby_client/ticketing/users/client.rb +2 -2
  227. data/lib/merge_ruby_client.rb +14 -14
  228. data/lib/requests.rb +2 -2
  229. data/lib/types_export.rb +473 -409
  230. metadata +69 -3
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "contact"
5
+
6
+ module Merge
7
+ module Accounting
8
+ # The credit note's contact.
9
+ class CreditNoteLineItemRequestContact
10
+ # Deserialize a JSON object to an instance of CreditNoteLineItemRequestContact
11
+ #
12
+ # @param json_object [String]
13
+ # @return [Merge::Accounting::CreditNoteLineItemRequestContact]
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::Contact.validate_raw(obj: struct)
26
+ return Merge::Accounting::Contact.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::Contact.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
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "contact"
5
+
6
+ module Merge
7
+ module Accounting
8
+ class CreditNoteLineItemRequestProject
9
+ # Deserialize a JSON object to an instance of CreditNoteLineItemRequestProject
10
+ #
11
+ # @param json_object [String]
12
+ # @return [Merge::Accounting::CreditNoteLineItemRequestProject]
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::Accounting::Contact.validate_raw(obj: struct)
25
+ return Merge::Accounting::Contact.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::Accounting::Contact.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
@@ -7,6 +7,7 @@ module Merge
7
7
  # * `CREATED_TEST_API_KEY` - CREATED_TEST_API_KEY
8
8
  # * `DELETED_TEST_API_KEY` - DELETED_TEST_API_KEY
9
9
  # * `REGENERATED_PRODUCTION_API_KEY` - REGENERATED_PRODUCTION_API_KEY
10
+ # * `REGENERATED_WEBHOOK_SIGNATURE` - REGENERATED_WEBHOOK_SIGNATURE
10
11
  # * `INVITED_USER` - INVITED_USER
11
12
  # * `TWO_FACTOR_AUTH_ENABLED` - TWO_FACTOR_AUTH_ENABLED
12
13
  # * `TWO_FACTOR_AUTH_DISABLED` - TWO_FACTOR_AUTH_DISABLED
@@ -61,6 +62,7 @@ module Merge
61
62
  CREATED_TEST_API_KEY = "CREATED_TEST_API_KEY"
62
63
  DELETED_TEST_API_KEY = "DELETED_TEST_API_KEY"
63
64
  REGENERATED_PRODUCTION_API_KEY = "REGENERATED_PRODUCTION_API_KEY"
65
+ REGENERATED_WEBHOOK_SIGNATURE = "REGENERATED_WEBHOOK_SIGNATURE"
64
66
  INVITED_USER = "INVITED_USER"
65
67
  TWO_FACTOR_AUTH_ENABLED = "TWO_FACTOR_AUTH_ENABLED"
66
68
  TWO_FACTOR_AUTH_DISABLED = "TWO_FACTOR_AUTH_DISABLED"
@@ -8,6 +8,7 @@ require_relative "expense_line_employee"
8
8
  require_relative "transaction_currency_enum"
9
9
  require_relative "expense_line_account"
10
10
  require_relative "expense_line_contact"
11
+ require_relative "expense_line_project"
11
12
  require "ostruct"
12
13
  require "json"
13
14
 
@@ -351,6 +352,8 @@ module Merge
351
352
  attr_reader :account
352
353
  # @return [Merge::Accounting::ExpenseLineContact] The expense's contact.
353
354
  attr_reader :contact
355
+ # @return [Merge::Accounting::ExpenseLineProject]
356
+ attr_reader :project
354
357
  # @return [String] The description of the item that was purchased by the company.
355
358
  attr_reader :description
356
359
  # @return [String] The expense line item's exchange rate.
@@ -689,6 +692,7 @@ module Merge
689
692
  # * `ZWL` - Zimbabwean Dollar (2009)
690
693
  # @param account [Merge::Accounting::ExpenseLineAccount] The expense's payment account.
691
694
  # @param contact [Merge::Accounting::ExpenseLineContact] The expense's contact.
695
+ # @param project [Merge::Accounting::ExpenseLineProject]
692
696
  # @param description [String] The description of the item that was purchased by the company.
693
697
  # @param exchange_rate [String] The expense line item's exchange rate.
694
698
  # @param tax_rate [String] The tax rate that applies to this line item.
@@ -699,7 +703,7 @@ module Merge
699
703
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
700
704
  # @return [Merge::Accounting::ExpenseLine]
701
705
  def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, item: OMIT, net_amount: OMIT,
702
- tracking_category: OMIT, tracking_categories: OMIT, company: OMIT, employee: OMIT, currency: OMIT, account: OMIT, contact: OMIT, description: OMIT, exchange_rate: OMIT, tax_rate: OMIT, remote_was_deleted: OMIT, additional_properties: nil)
706
+ tracking_category: OMIT, tracking_categories: OMIT, company: OMIT, employee: OMIT, currency: OMIT, account: OMIT, contact: OMIT, project: OMIT, description: OMIT, exchange_rate: OMIT, tax_rate: OMIT, remote_was_deleted: OMIT, additional_properties: nil)
703
707
  @id = id if id != OMIT
704
708
  @remote_id = remote_id if remote_id != OMIT
705
709
  @created_at = created_at if created_at != OMIT
@@ -713,6 +717,7 @@ module Merge
713
717
  @currency = currency if currency != OMIT
714
718
  @account = account if account != OMIT
715
719
  @contact = contact if contact != OMIT
720
+ @project = project if project != OMIT
716
721
  @description = description if description != OMIT
717
722
  @exchange_rate = exchange_rate if exchange_rate != OMIT
718
723
  @tax_rate = tax_rate if tax_rate != OMIT
@@ -732,6 +737,7 @@ module Merge
732
737
  "currency": currency,
733
738
  "account": account,
734
739
  "contact": contact,
740
+ "project": project,
735
741
  "description": description,
736
742
  "exchange_rate": exchange_rate,
737
743
  "tax_rate": tax_rate,
@@ -789,6 +795,12 @@ module Merge
789
795
  contact = parsed_json["contact"].to_json
790
796
  contact = Merge::Accounting::ExpenseLineContact.from_json(json_object: contact)
791
797
  end
798
+ if parsed_json["project"].nil?
799
+ project = nil
800
+ else
801
+ project = parsed_json["project"].to_json
802
+ project = Merge::Accounting::ExpenseLineProject.from_json(json_object: project)
803
+ end
792
804
  description = parsed_json["description"]
793
805
  exchange_rate = parsed_json["exchange_rate"]
794
806
  tax_rate = parsed_json["tax_rate"]
@@ -807,6 +819,7 @@ module Merge
807
819
  currency: currency,
808
820
  account: account,
809
821
  contact: contact,
822
+ project: project,
810
823
  description: description,
811
824
  exchange_rate: exchange_rate,
812
825
  tax_rate: tax_rate,
@@ -842,6 +855,7 @@ module Merge
842
855
  obj.currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
843
856
  obj.account.nil? || Merge::Accounting::ExpenseLineAccount.validate_raw(obj: obj.account)
844
857
  obj.contact.nil? || Merge::Accounting::ExpenseLineContact.validate_raw(obj: obj.contact)
858
+ obj.project.nil? || Merge::Accounting::ExpenseLineProject.validate_raw(obj: obj.project)
845
859
  obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
846
860
  obj.exchange_rate&.is_a?(String) != false || raise("Passed value for field obj.exchange_rate is not the expected type, validation failed.")
847
861
  obj.tax_rate&.is_a?(String) != false || raise("Passed value for field obj.tax_rate is not the expected type, validation failed.")
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "project"
5
+
6
+ module Merge
7
+ module Accounting
8
+ class ExpenseLineProject
9
+ # Deserialize a JSON object to an instance of ExpenseLineProject
10
+ #
11
+ # @param json_object [String]
12
+ # @return [Merge::Accounting::ExpenseLineProject]
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::Accounting::Project.validate_raw(obj: struct)
25
+ return Merge::Accounting::Project.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::Accounting::Project.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
@@ -7,6 +7,7 @@ require_relative "expense_line_request_employee"
7
7
  require_relative "transaction_currency_enum"
8
8
  require_relative "expense_line_request_account"
9
9
  require_relative "expense_line_request_contact"
10
+ require_relative "expense_line_request_project"
10
11
  require_relative "remote_field_request"
11
12
  require "ostruct"
12
13
  require "json"
@@ -345,6 +346,8 @@ module Merge
345
346
  attr_reader :account
346
347
  # @return [Merge::Accounting::ExpenseLineRequestContact] The expense's contact.
347
348
  attr_reader :contact
349
+ # @return [Merge::Accounting::ExpenseLineRequestProject]
350
+ attr_reader :project
348
351
  # @return [String] The description of the item that was purchased by the company.
349
352
  attr_reader :description
350
353
  # @return [String] The expense line item's exchange rate.
@@ -681,6 +684,7 @@ module Merge
681
684
  # * `ZWL` - Zimbabwean Dollar (2009)
682
685
  # @param account [Merge::Accounting::ExpenseLineRequestAccount] The expense's payment account.
683
686
  # @param contact [Merge::Accounting::ExpenseLineRequestContact] The expense's contact.
687
+ # @param project [Merge::Accounting::ExpenseLineRequestProject]
684
688
  # @param description [String] The description of the item that was purchased by the company.
685
689
  # @param exchange_rate [String] The expense line item's exchange rate.
686
690
  # @param tax_rate [String] The tax rate that applies to this line item.
@@ -690,7 +694,7 @@ module Merge
690
694
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
691
695
  # @return [Merge::Accounting::ExpenseLineRequest]
692
696
  def initialize(remote_id: OMIT, item: OMIT, net_amount: OMIT, tracking_category: OMIT, tracking_categories: OMIT,
693
- company: OMIT, employee: OMIT, currency: OMIT, account: OMIT, contact: OMIT, description: OMIT, exchange_rate: OMIT, tax_rate: OMIT, integration_params: OMIT, linked_account_params: OMIT, remote_fields: OMIT, additional_properties: nil)
697
+ company: OMIT, employee: OMIT, currency: OMIT, account: OMIT, contact: OMIT, project: OMIT, description: OMIT, exchange_rate: OMIT, tax_rate: OMIT, integration_params: OMIT, linked_account_params: OMIT, remote_fields: OMIT, additional_properties: nil)
694
698
  @remote_id = remote_id if remote_id != OMIT
695
699
  @item = item if item != OMIT
696
700
  @net_amount = net_amount if net_amount != OMIT
@@ -701,6 +705,7 @@ module Merge
701
705
  @currency = currency if currency != OMIT
702
706
  @account = account if account != OMIT
703
707
  @contact = contact if contact != OMIT
708
+ @project = project if project != OMIT
704
709
  @description = description if description != OMIT
705
710
  @exchange_rate = exchange_rate if exchange_rate != OMIT
706
711
  @tax_rate = tax_rate if tax_rate != OMIT
@@ -719,6 +724,7 @@ module Merge
719
724
  "currency": currency,
720
725
  "account": account,
721
726
  "contact": contact,
727
+ "project": project,
722
728
  "description": description,
723
729
  "exchange_rate": exchange_rate,
724
730
  "tax_rate": tax_rate,
@@ -775,6 +781,12 @@ module Merge
775
781
  contact = parsed_json["contact"].to_json
776
782
  contact = Merge::Accounting::ExpenseLineRequestContact.from_json(json_object: contact)
777
783
  end
784
+ if parsed_json["project"].nil?
785
+ project = nil
786
+ else
787
+ project = parsed_json["project"].to_json
788
+ project = Merge::Accounting::ExpenseLineRequestProject.from_json(json_object: project)
789
+ end
778
790
  description = parsed_json["description"]
779
791
  exchange_rate = parsed_json["exchange_rate"]
780
792
  tax_rate = parsed_json["tax_rate"]
@@ -795,6 +807,7 @@ module Merge
795
807
  currency: currency,
796
808
  account: account,
797
809
  contact: contact,
810
+ project: project,
798
811
  description: description,
799
812
  exchange_rate: exchange_rate,
800
813
  tax_rate: tax_rate,
@@ -829,6 +842,7 @@ module Merge
829
842
  obj.currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
830
843
  obj.account.nil? || Merge::Accounting::ExpenseLineRequestAccount.validate_raw(obj: obj.account)
831
844
  obj.contact.nil? || Merge::Accounting::ExpenseLineRequestContact.validate_raw(obj: obj.contact)
845
+ obj.project.nil? || Merge::Accounting::ExpenseLineRequestProject.validate_raw(obj: obj.project)
832
846
  obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
833
847
  obj.exchange_rate&.is_a?(String) != false || raise("Passed value for field obj.exchange_rate is not the expected type, validation failed.")
834
848
  obj.tax_rate&.is_a?(String) != false || raise("Passed value for field obj.tax_rate is not the expected type, validation failed.")
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "contact"
5
+
6
+ module Merge
7
+ module Accounting
8
+ class ExpenseLineRequestProject
9
+ # Deserialize a JSON object to an instance of ExpenseLineRequestProject
10
+ #
11
+ # @param json_object [String]
12
+ # @return [Merge::Accounting::ExpenseLineRequestProject]
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::Accounting::Contact.validate_raw(obj: struct)
25
+ return Merge::Accounting::Contact.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::Accounting::Contact.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