xero-ruby 1.1.0 → 5.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 (1019) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +393 -107
  3. data/lib/xero-ruby/api/accounting_api.rb +5080 -1354
  4. data/lib/xero-ruby/api/app_store_api.rb +331 -0
  5. data/lib/xero-ruby/api/asset_api.rb +86 -35
  6. data/lib/xero-ruby/api/files_api.rb +1526 -0
  7. data/lib/xero-ruby/api/finance_api.rb +961 -0
  8. data/lib/xero-ruby/api/payroll_au_api.rb +2578 -0
  9. data/lib/xero-ruby/api/payroll_nz_api.rb +5421 -0
  10. data/lib/xero-ruby/api/payroll_uk_api.rb +5560 -0
  11. data/lib/xero-ruby/api/project_api.rb +1423 -0
  12. data/lib/xero-ruby/api_client.rb +283 -96
  13. data/lib/xero-ruby/api_error.rb +5 -5
  14. data/lib/xero-ruby/configuration.rb +32 -9
  15. data/lib/xero-ruby/models/accounting/account.rb +85 -46
  16. data/lib/xero-ruby/models/accounting/account_type.rb +20 -25
  17. data/lib/xero-ruby/models/accounting/accounts.rb +32 -13
  18. data/lib/xero-ruby/models/accounting/accounts_payable.rb +35 -15
  19. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +35 -15
  20. data/lib/xero-ruby/models/accounting/action.rb +268 -0
  21. data/lib/xero-ruby/models/accounting/actions.rb +224 -0
  22. data/lib/xero-ruby/models/accounting/address.rb +44 -24
  23. data/lib/xero-ruby/models/accounting/address_for_organisation.rb +484 -0
  24. data/lib/xero-ruby/models/accounting/allocation.rb +109 -18
  25. data/lib/xero-ruby/models/accounting/allocations.rb +32 -13
  26. data/lib/xero-ruby/models/accounting/attachment.rb +37 -19
  27. data/lib/xero-ruby/models/accounting/attachments.rb +32 -13
  28. data/lib/xero-ruby/models/accounting/balance_details.rb +243 -0
  29. data/lib/xero-ruby/models/accounting/balances.rb +33 -13
  30. data/lib/xero-ruby/models/accounting/bank_transaction.rb +67 -39
  31. data/lib/xero-ruby/models/accounting/bank_transactions.rb +32 -13
  32. data/lib/xero-ruby/models/accounting/bank_transfer.rb +79 -25
  33. data/lib/xero-ruby/models/accounting/bank_transfers.rb +32 -13
  34. data/lib/xero-ruby/models/accounting/batch_payment.rb +75 -54
  35. data/lib/xero-ruby/models/accounting/batch_payment_delete.rb +244 -0
  36. data/lib/xero-ruby/models/accounting/batch_payment_delete_by_url_param.rb +229 -0
  37. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +35 -32
  38. data/lib/xero-ruby/models/accounting/batch_payments.rb +32 -13
  39. data/lib/xero-ruby/models/accounting/bill.rb +32 -13
  40. data/lib/xero-ruby/models/accounting/branding_theme.rb +37 -18
  41. data/lib/xero-ruby/models/accounting/branding_themes.rb +32 -13
  42. data/lib/xero-ruby/models/accounting/budget.rb +327 -0
  43. data/lib/xero-ruby/models/accounting/budget_balance.rb +267 -0
  44. data/lib/xero-ruby/models/accounting/budget_line.rb +244 -0
  45. data/lib/xero-ruby/models/accounting/budgets.rb +224 -0
  46. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +34 -16
  47. data/lib/xero-ruby/models/accounting/cis_org_settings.rb +224 -0
  48. data/lib/xero-ruby/models/accounting/cis_setting.rb +33 -15
  49. data/lib/xero-ruby/models/accounting/cis_settings.rb +32 -13
  50. data/lib/xero-ruby/models/accounting/contact.rb +160 -57
  51. data/lib/xero-ruby/models/accounting/contact_group.rb +36 -16
  52. data/lib/xero-ruby/models/accounting/contact_groups.rb +32 -13
  53. data/lib/xero-ruby/models/accounting/contact_person.rb +34 -16
  54. data/lib/xero-ruby/models/accounting/contacts.rb +32 -13
  55. data/lib/xero-ruby/models/accounting/conversion_balances.rb +245 -0
  56. data/lib/xero-ruby/models/accounting/conversion_date.rb +233 -0
  57. data/lib/xero-ruby/models/accounting/country_code.rb +242 -243
  58. data/lib/xero-ruby/models/accounting/credit_note.rb +118 -45
  59. data/lib/xero-ruby/models/accounting/credit_notes.rb +32 -13
  60. data/lib/xero-ruby/models/accounting/currencies.rb +32 -13
  61. data/lib/xero-ruby/models/accounting/currency.rb +33 -14
  62. data/lib/xero-ruby/models/accounting/currency_code.rb +170 -167
  63. data/lib/xero-ruby/models/accounting/element.rb +38 -14
  64. data/lib/xero-ruby/models/accounting/employee.rb +44 -20
  65. data/lib/xero-ruby/models/accounting/employees.rb +32 -13
  66. data/lib/xero-ruby/models/accounting/error.rb +34 -16
  67. data/lib/xero-ruby/models/accounting/expense_claim.rb +51 -26
  68. data/lib/xero-ruby/models/accounting/expense_claims.rb +32 -13
  69. data/lib/xero-ruby/models/accounting/external_link.rb +38 -14
  70. data/lib/xero-ruby/models/accounting/history_record.rb +34 -16
  71. data/lib/xero-ruby/models/accounting/history_records.rb +32 -13
  72. data/lib/xero-ruby/models/accounting/import_summary.rb +233 -0
  73. data/lib/xero-ruby/models/accounting/import_summary_accounts.rb +303 -0
  74. data/lib/xero-ruby/models/accounting/import_summary_object.rb +222 -0
  75. data/lib/xero-ruby/models/accounting/import_summary_organisation.rb +222 -0
  76. data/lib/xero-ruby/models/accounting/invoice.rb +115 -73
  77. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +31 -13
  78. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +32 -13
  79. data/lib/xero-ruby/models/accounting/invoices.rb +32 -13
  80. data/lib/xero-ruby/models/accounting/item.rb +48 -28
  81. data/lib/xero-ruby/models/accounting/items.rb +32 -13
  82. data/lib/xero-ruby/models/accounting/journal.rb +63 -20
  83. data/lib/xero-ruby/models/accounting/journal_line.rb +46 -27
  84. data/lib/xero-ruby/models/accounting/journals.rb +32 -13
  85. data/lib/xero-ruby/models/accounting/line_amount_types.rb +5 -6
  86. data/lib/xero-ruby/models/accounting/line_item.rb +71 -33
  87. data/lib/xero-ruby/models/accounting/line_item_item.rb +272 -0
  88. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +34 -16
  89. data/lib/xero-ruby/models/accounting/linked_transaction.rb +49 -23
  90. data/lib/xero-ruby/models/accounting/linked_transactions.rb +32 -13
  91. data/lib/xero-ruby/models/accounting/manual_journal.rb +49 -25
  92. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +50 -22
  93. data/lib/xero-ruby/models/accounting/manual_journals.rb +32 -13
  94. data/lib/xero-ruby/models/accounting/online_invoice.rb +31 -13
  95. data/lib/xero-ruby/models/accounting/online_invoices.rb +32 -13
  96. data/lib/xero-ruby/models/accounting/organisation.rb +155 -49
  97. data/lib/xero-ruby/models/accounting/organisations.rb +32 -13
  98. data/lib/xero-ruby/models/accounting/overpayment.rb +60 -33
  99. data/lib/xero-ruby/models/accounting/overpayments.rb +32 -13
  100. data/lib/xero-ruby/models/accounting/payment.rb +102 -35
  101. data/lib/xero-ruby/models/accounting/payment_delete.rb +31 -13
  102. data/lib/xero-ruby/models/accounting/payment_service.rb +36 -18
  103. data/lib/xero-ruby/models/accounting/payment_services.rb +32 -13
  104. data/lib/xero-ruby/models/accounting/payment_term.rb +33 -13
  105. data/lib/xero-ruby/models/accounting/payment_term_type.rb +6 -7
  106. data/lib/xero-ruby/models/accounting/payments.rb +32 -13
  107. data/lib/xero-ruby/models/accounting/phone.rb +40 -16
  108. data/lib/xero-ruby/models/accounting/prepayment.rb +74 -34
  109. data/lib/xero-ruby/models/accounting/prepayments.rb +32 -13
  110. data/lib/xero-ruby/models/accounting/purchase.rb +35 -17
  111. data/lib/xero-ruby/models/accounting/purchase_order.rb +69 -43
  112. data/lib/xero-ruby/models/accounting/purchase_orders.rb +32 -13
  113. data/lib/xero-ruby/models/accounting/quote.rb +82 -38
  114. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +5 -6
  115. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +8 -8
  116. data/lib/xero-ruby/models/accounting/quotes.rb +32 -13
  117. data/lib/xero-ruby/models/accounting/receipt.rb +56 -29
  118. data/lib/xero-ruby/models/accounting/receipts.rb +32 -13
  119. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +107 -32
  120. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +32 -13
  121. data/lib/xero-ruby/models/accounting/report.rb +39 -29
  122. data/lib/xero-ruby/models/accounting/report_attribute.rb +33 -13
  123. data/lib/xero-ruby/models/accounting/report_cell.rb +33 -13
  124. data/lib/xero-ruby/models/accounting/report_fields.rb +34 -13
  125. data/lib/xero-ruby/models/accounting/report_row.rb +34 -13
  126. data/lib/xero-ruby/models/accounting/report_rows.rb +35 -13
  127. data/lib/xero-ruby/models/accounting/report_with_row.rb +40 -20
  128. data/lib/xero-ruby/models/accounting/report_with_rows.rb +32 -13
  129. data/lib/xero-ruby/models/accounting/reports.rb +32 -13
  130. data/lib/xero-ruby/models/accounting/request_empty.rb +31 -13
  131. data/lib/xero-ruby/models/accounting/row_type.rb +6 -7
  132. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +32 -14
  133. data/lib/xero-ruby/models/accounting/schedule.rb +47 -21
  134. data/lib/xero-ruby/models/accounting/setup.rb +246 -0
  135. data/lib/xero-ruby/models/accounting/tax_component.rb +35 -17
  136. data/lib/xero-ruby/models/accounting/tax_rate.rb +148 -28
  137. data/lib/xero-ruby/models/accounting/tax_rates.rb +32 -13
  138. data/lib/xero-ruby/models/accounting/tax_type.rb +122 -62
  139. data/lib/xero-ruby/models/accounting/{ten_nintey_nine_contact.rb → ten_ninety_nine_contact.rb} +142 -53
  140. data/lib/xero-ruby/models/accounting/time_zone.rb +143 -110
  141. data/lib/xero-ruby/models/accounting/tracking_categories.rb +32 -13
  142. data/lib/xero-ruby/models/accounting/tracking_category.rb +39 -18
  143. data/lib/xero-ruby/models/accounting/tracking_option.rb +45 -24
  144. data/lib/xero-ruby/models/accounting/tracking_options.rb +32 -13
  145. data/lib/xero-ruby/models/accounting/user.rb +44 -19
  146. data/lib/xero-ruby/models/accounting/users.rb +32 -13
  147. data/lib/xero-ruby/models/accounting/validation_error.rb +31 -13
  148. data/lib/xero-ruby/models/app_store/create_usage_record.rb +243 -0
  149. data/lib/xero-ruby/models/app_store/plan.rb +311 -0
  150. data/lib/xero-ruby/models/app_store/price.rb +257 -0
  151. data/lib/xero-ruby/models/app_store/problem_details.rb +272 -0
  152. data/lib/xero-ruby/models/app_store/product.rb +299 -0
  153. data/lib/xero-ruby/models/app_store/subscription.rb +361 -0
  154. data/lib/xero-ruby/models/app_store/subscription_item.rb +354 -0
  155. data/lib/xero-ruby/models/app_store/update_usage_record.rb +228 -0
  156. data/lib/xero-ruby/models/app_store/usage_record.rb +332 -0
  157. data/lib/xero-ruby/models/app_store/usage_records_list.rb +230 -0
  158. data/lib/xero-ruby/models/assets/asset.rb +59 -28
  159. data/lib/xero-ruby/models/assets/asset_status.rb +5 -6
  160. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +5 -6
  161. data/lib/xero-ruby/models/assets/asset_type.rb +37 -23
  162. data/lib/xero-ruby/models/assets/assets.rb +33 -13
  163. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +43 -25
  164. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +50 -21
  165. data/lib/xero-ruby/models/assets/error.rb +35 -17
  166. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +37 -19
  167. data/lib/xero-ruby/models/assets/pagination.rb +35 -13
  168. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +36 -18
  169. data/lib/xero-ruby/models/assets/setting.rb +38 -20
  170. data/lib/xero-ruby/models/files/association.rb +252 -0
  171. data/lib/xero-ruby/models/files/file_object.rb +292 -0
  172. data/lib/xero-ruby/models/files/files.rb +254 -0
  173. data/lib/xero-ruby/models/files/folder.rb +262 -0
  174. data/lib/xero-ruby/models/files/folders.rb +224 -0
  175. data/lib/xero-ruby/models/files/object_group.rb +46 -0
  176. data/lib/xero-ruby/models/files/object_type.rb +90 -0
  177. data/lib/xero-ruby/models/files/upload_object.rb +267 -0
  178. data/lib/xero-ruby/models/files/user.rb +267 -0
  179. data/lib/xero-ruby/models/finance/account_usage.rb +342 -0
  180. data/lib/xero-ruby/models/finance/account_usage_response.rb +254 -0
  181. data/lib/xero-ruby/models/finance/balance_sheet_account_detail.rb +262 -0
  182. data/lib/xero-ruby/models/finance/balance_sheet_account_group.rb +234 -0
  183. data/lib/xero-ruby/models/finance/balance_sheet_account_type.rb +244 -0
  184. data/lib/xero-ruby/models/finance/balance_sheet_response.rb +252 -0
  185. data/lib/xero-ruby/models/finance/bank_statement_accounting_response.rb +254 -0
  186. data/lib/xero-ruby/models/finance/bank_statement_response.rb +232 -0
  187. data/lib/xero-ruby/models/finance/bank_transaction_response.rb +274 -0
  188. data/lib/xero-ruby/models/finance/cash_account_response.rb +262 -0
  189. data/lib/xero-ruby/models/finance/cash_balance.rb +242 -0
  190. data/lib/xero-ruby/models/finance/cash_validation_response.rb +262 -0
  191. data/lib/xero-ruby/models/finance/cashflow_account.rb +282 -0
  192. data/lib/xero-ruby/models/finance/cashflow_activity.rb +244 -0
  193. data/lib/xero-ruby/models/finance/cashflow_response.rb +254 -0
  194. data/lib/xero-ruby/models/finance/cashflow_type.rb +244 -0
  195. data/lib/xero-ruby/models/finance/contact_detail.rb +274 -0
  196. data/lib/xero-ruby/models/finance/contact_response.rb +232 -0
  197. data/lib/xero-ruby/models/finance/contact_total_detail.rb +242 -0
  198. data/lib/xero-ruby/models/finance/contact_total_other.rb +252 -0
  199. data/lib/xero-ruby/models/finance/credit_note_response.rb +254 -0
  200. data/lib/xero-ruby/models/finance/current_statement_response.rb +272 -0
  201. data/lib/xero-ruby/models/finance/data_source_response.rb +362 -0
  202. data/lib/xero-ruby/models/finance/history_record_response.rb +262 -0
  203. data/lib/xero-ruby/models/finance/income_by_contact_response.rb +284 -0
  204. data/lib/xero-ruby/models/finance/invoice_response.rb +254 -0
  205. data/lib/xero-ruby/models/finance/line_item_response.rb +252 -0
  206. data/lib/xero-ruby/models/finance/lock_history_model.rb +242 -0
  207. data/lib/xero-ruby/models/finance/lock_history_response.rb +244 -0
  208. data/lib/xero-ruby/models/finance/manual_journal_total.rb +222 -0
  209. data/lib/xero-ruby/models/finance/overpayment_response.rb +254 -0
  210. data/lib/xero-ruby/models/finance/payment_response.rb +312 -0
  211. data/lib/xero-ruby/models/finance/pnl_account.rb +272 -0
  212. data/lib/xero-ruby/models/finance/pnl_account_class.rb +234 -0
  213. data/lib/xero-ruby/models/finance/pnl_account_type.rb +244 -0
  214. data/lib/xero-ruby/models/finance/practice_response.rb +262 -0
  215. data/lib/xero-ruby/models/finance/prepayment_response.rb +254 -0
  216. data/lib/xero-ruby/models/finance/problem.rb +252 -0
  217. data/lib/xero-ruby/models/finance/problem_type.rb +45 -0
  218. data/lib/xero-ruby/models/finance/profit_and_loss_response.rb +262 -0
  219. data/lib/xero-ruby/models/finance/report_history_model.rb +242 -0
  220. data/lib/xero-ruby/models/finance/report_history_response.rb +244 -0
  221. data/lib/xero-ruby/models/finance/statement_balance_response.rb +232 -0
  222. data/lib/xero-ruby/models/finance/statement_line_response.rb +356 -0
  223. data/lib/xero-ruby/models/finance/statement_lines_response.rb +382 -0
  224. data/lib/xero-ruby/models/finance/statement_response.rb +314 -0
  225. data/lib/xero-ruby/models/finance/total_detail.rb +242 -0
  226. data/lib/xero-ruby/models/finance/total_other.rb +242 -0
  227. data/lib/xero-ruby/models/finance/trial_balance_account.rb +312 -0
  228. data/lib/xero-ruby/models/finance/trial_balance_entry.rb +232 -0
  229. data/lib/xero-ruby/models/finance/trial_balance_movement.rb +252 -0
  230. data/lib/xero-ruby/models/finance/trial_balance_response.rb +244 -0
  231. data/lib/xero-ruby/models/finance/user_activities_response.rb +244 -0
  232. data/lib/xero-ruby/models/finance/user_response.rb +336 -0
  233. data/lib/xero-ruby/models/payroll_au/account.rb +252 -0
  234. data/lib/xero-ruby/models/payroll_au/account_type.rb +57 -0
  235. data/lib/xero-ruby/models/payroll_au/allowance_category.rb +41 -0
  236. data/lib/xero-ruby/models/payroll_au/allowance_type.rb +44 -0
  237. data/lib/xero-ruby/models/payroll_au/api_exception.rb +243 -0
  238. data/lib/xero-ruby/models/payroll_au/bank_account.rb +272 -0
  239. data/lib/xero-ruby/models/payroll_au/calendar_type.rb +40 -0
  240. data/lib/xero-ruby/models/payroll_au/country_of_residence.rb +284 -0
  241. data/lib/xero-ruby/models/payroll_au/deduction_line.rb +267 -0
  242. data/lib/xero-ruby/models/payroll_au/deduction_type.rb +354 -0
  243. data/lib/xero-ruby/models/payroll_au/deduction_type_calculation_type.rb +37 -0
  244. data/lib/xero-ruby/models/payroll_au/earnings_line.rb +307 -0
  245. data/lib/xero-ruby/models/payroll_au/earnings_rate.rb +442 -0
  246. data/lib/xero-ruby/models/payroll_au/earnings_rate_calculation_type.rb +37 -0
  247. data/lib/xero-ruby/models/payroll_au/earnings_type.rb +48 -0
  248. data/lib/xero-ruby/models/payroll_au/employee.rb +654 -0
  249. data/lib/xero-ruby/models/payroll_au/employee_status.rb +36 -0
  250. data/lib/xero-ruby/models/payroll_au/employees.rb +224 -0
  251. data/lib/xero-ruby/models/payroll_au/employment_basis.rb +40 -0
  252. data/lib/xero-ruby/models/payroll_au/employment_termination_payment_type.rb +36 -0
  253. data/lib/xero-ruby/models/payroll_au/employment_type.rb +36 -0
  254. data/lib/xero-ruby/models/payroll_au/entitlement_final_pay_payout_type.rb +36 -0
  255. data/lib/xero-ruby/models/payroll_au/home_address.rb +277 -0
  256. data/lib/xero-ruby/models/payroll_au/income_type.rb +39 -0
  257. data/lib/xero-ruby/models/payroll_au/leave_accrual_line.rb +242 -0
  258. data/lib/xero-ruby/models/payroll_au/leave_application.rb +326 -0
  259. data/lib/xero-ruby/models/payroll_au/leave_applications.rb +224 -0
  260. data/lib/xero-ruby/models/payroll_au/leave_balance.rb +252 -0
  261. data/lib/xero-ruby/models/payroll_au/leave_category_code.rb +46 -0
  262. data/lib/xero-ruby/models/payroll_au/leave_earnings_line.rb +252 -0
  263. data/lib/xero-ruby/models/payroll_au/leave_line.rb +292 -0
  264. data/lib/xero-ruby/models/payroll_au/leave_line_calculation_type.rb +38 -0
  265. data/lib/xero-ruby/models/payroll_au/leave_lines.rb +225 -0
  266. data/lib/xero-ruby/models/payroll_au/leave_period.rb +252 -0
  267. data/lib/xero-ruby/models/payroll_au/leave_period_status.rb +38 -0
  268. data/lib/xero-ruby/models/payroll_au/leave_type.rb +337 -0
  269. data/lib/xero-ruby/models/payroll_au/leave_type_contribution_type.rb +38 -0
  270. data/lib/xero-ruby/models/payroll_au/manual_tax_type.rb +40 -0
  271. data/lib/xero-ruby/models/payroll_au/opening_balances.rb +304 -0
  272. data/lib/xero-ruby/models/payroll_au/paid_leave_earnings_line.rb +272 -0
  273. data/lib/xero-ruby/models/payroll_au/pay_item.rb +260 -0
  274. data/lib/xero-ruby/models/payroll_au/pay_items.rb +222 -0
  275. data/lib/xero-ruby/models/payroll_au/pay_out_type.rb +36 -0
  276. data/lib/xero-ruby/models/payroll_au/pay_run.rb +381 -0
  277. data/lib/xero-ruby/models/payroll_au/pay_run_status.rb +36 -0
  278. data/lib/xero-ruby/models/payroll_au/pay_runs.rb +224 -0
  279. data/lib/xero-ruby/models/payroll_au/pay_template.rb +272 -0
  280. data/lib/xero-ruby/models/payroll_au/payment_frequency_type.rb +41 -0
  281. data/lib/xero-ruby/models/payroll_au/payroll_calendar.rb +294 -0
  282. data/lib/xero-ruby/models/payroll_au/payroll_calendars.rb +224 -0
  283. data/lib/xero-ruby/models/payroll_au/payslip.rb +418 -0
  284. data/lib/xero-ruby/models/payroll_au/payslip_lines.rb +308 -0
  285. data/lib/xero-ruby/models/payroll_au/payslip_object.rb +222 -0
  286. data/lib/xero-ruby/models/payroll_au/payslip_summary.rb +332 -0
  287. data/lib/xero-ruby/models/payroll_au/payslips.rb +224 -0
  288. data/lib/xero-ruby/models/payroll_au/rate_type.rb +37 -0
  289. data/lib/xero-ruby/models/payroll_au/reimbursement_line.rb +267 -0
  290. data/lib/xero-ruby/models/payroll_au/reimbursement_lines.rb +225 -0
  291. data/lib/xero-ruby/models/payroll_au/reimbursement_type.rb +277 -0
  292. data/lib/xero-ruby/models/payroll_au/residency_status.rb +37 -0
  293. data/lib/xero-ruby/models/payroll_au/senior_marital_status.rb +37 -0
  294. data/lib/xero-ruby/models/payroll_au/settings.rb +254 -0
  295. data/lib/xero-ruby/models/payroll_au/settings_object.rb +222 -0
  296. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories.rb +233 -0
  297. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_employee_groups.rb +233 -0
  298. data/lib/xero-ruby/models/payroll_au/settings_tracking_categories_timesheet_categories.rb +233 -0
  299. data/lib/xero-ruby/models/payroll_au/state.rb +42 -0
  300. data/lib/xero-ruby/models/payroll_au/super_fund.rb +349 -0
  301. data/lib/xero-ruby/models/payroll_au/super_fund_product.rb +252 -0
  302. data/lib/xero-ruby/models/payroll_au/super_fund_products.rb +224 -0
  303. data/lib/xero-ruby/models/payroll_au/super_fund_type.rb +36 -0
  304. data/lib/xero-ruby/models/payroll_au/super_funds.rb +224 -0
  305. data/lib/xero-ruby/models/payroll_au/super_line.rb +292 -0
  306. data/lib/xero-ruby/models/payroll_au/super_membership.rb +252 -0
  307. data/lib/xero-ruby/models/payroll_au/superannuation_calculation_type.rb +37 -0
  308. data/lib/xero-ruby/models/payroll_au/superannuation_contribution_type.rb +38 -0
  309. data/lib/xero-ruby/models/payroll_au/superannuation_line.rb +302 -0
  310. data/lib/xero-ruby/models/payroll_au/tax_declaration.rb +422 -0
  311. data/lib/xero-ruby/models/payroll_au/tax_line.rb +272 -0
  312. data/lib/xero-ruby/models/payroll_au/tax_scale_type.rb +40 -0
  313. data/lib/xero-ruby/models/payroll_au/tfn_exemption_type.rb +38 -0
  314. data/lib/xero-ruby/models/payroll_au/timesheet.rb +321 -0
  315. data/lib/xero-ruby/models/payroll_au/timesheet_line.rb +254 -0
  316. data/lib/xero-ruby/models/payroll_au/timesheet_object.rb +222 -0
  317. data/lib/xero-ruby/models/payroll_au/timesheet_status.rb +39 -0
  318. data/lib/xero-ruby/models/payroll_au/timesheets.rb +224 -0
  319. data/lib/xero-ruby/models/payroll_au/validation_error.rb +222 -0
  320. data/lib/xero-ruby/models/payroll_au/work_condition.rb +37 -0
  321. data/lib/xero-ruby/models/payroll_nz/account.rb +290 -0
  322. data/lib/xero-ruby/models/payroll_nz/accounts.rb +224 -0
  323. data/lib/xero-ruby/models/payroll_nz/address.rb +287 -0
  324. data/lib/xero-ruby/models/payroll_nz/bank_account.rb +343 -0
  325. data/lib/xero-ruby/models/payroll_nz/benefit.rb +383 -0
  326. data/lib/xero-ruby/models/payroll_nz/calendar_type.rb +41 -0
  327. data/lib/xero-ruby/models/payroll_nz/deduction.rb +325 -0
  328. data/lib/xero-ruby/models/payroll_nz/deduction_line.rb +262 -0
  329. data/lib/xero-ruby/models/payroll_nz/deduction_object.rb +242 -0
  330. data/lib/xero-ruby/models/payroll_nz/deductions.rb +244 -0
  331. data/lib/xero-ruby/models/payroll_nz/earnings_line.rb +312 -0
  332. data/lib/xero-ruby/models/payroll_nz/earnings_order.rb +269 -0
  333. data/lib/xero-ruby/models/payroll_nz/earnings_order_object.rb +242 -0
  334. data/lib/xero-ruby/models/payroll_nz/earnings_orders.rb +244 -0
  335. data/lib/xero-ruby/models/payroll_nz/earnings_rate.rb +401 -0
  336. data/lib/xero-ruby/models/payroll_nz/earnings_rate_object.rb +242 -0
  337. data/lib/xero-ruby/models/payroll_nz/earnings_rates.rb +244 -0
  338. data/lib/xero-ruby/models/payroll_nz/earnings_template.rb +272 -0
  339. data/lib/xero-ruby/models/payroll_nz/earnings_template_object.rb +242 -0
  340. data/lib/xero-ruby/models/payroll_nz/employee.rb +398 -0
  341. data/lib/xero-ruby/models/payroll_nz/employee_earnings_templates.rb +244 -0
  342. data/lib/xero-ruby/models/payroll_nz/employee_leave.rb +304 -0
  343. data/lib/xero-ruby/models/payroll_nz/employee_leave_balance.rb +252 -0
  344. data/lib/xero-ruby/models/payroll_nz/employee_leave_balances.rb +244 -0
  345. data/lib/xero-ruby/models/payroll_nz/employee_leave_object.rb +242 -0
  346. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup.rb +282 -0
  347. data/lib/xero-ruby/models/payroll_nz/employee_leave_setup_object.rb +242 -0
  348. data/lib/xero-ruby/models/payroll_nz/employee_leave_type.rb +350 -0
  349. data/lib/xero-ruby/models/payroll_nz/employee_leave_type_object.rb +242 -0
  350. data/lib/xero-ruby/models/payroll_nz/employee_leave_types.rb +244 -0
  351. data/lib/xero-ruby/models/payroll_nz/employee_leaves.rb +244 -0
  352. data/lib/xero-ruby/models/payroll_nz/employee_object.rb +242 -0
  353. data/lib/xero-ruby/models/payroll_nz/employee_opening_balance.rb +252 -0
  354. data/lib/xero-ruby/models/payroll_nz/employee_opening_balances_object.rb +244 -0
  355. data/lib/xero-ruby/models/payroll_nz/employee_pay_template.rb +234 -0
  356. data/lib/xero-ruby/models/payroll_nz/employee_pay_template_object.rb +242 -0
  357. data/lib/xero-ruby/models/payroll_nz/employee_pay_templates.rb +242 -0
  358. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance.rb +294 -0
  359. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_balance_object.rb +242 -0
  360. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leave_summary.rb +336 -0
  361. data/lib/xero-ruby/models/payroll_nz/employee_statutory_leaves_summaries.rb +244 -0
  362. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave.rb +433 -0
  363. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leave_object.rb +242 -0
  364. data/lib/xero-ruby/models/payroll_nz/employee_statutory_sick_leaves.rb +244 -0
  365. data/lib/xero-ruby/models/payroll_nz/employee_tax.rb +411 -0
  366. data/lib/xero-ruby/models/payroll_nz/employee_tax_object.rb +242 -0
  367. data/lib/xero-ruby/models/payroll_nz/employees.rb +244 -0
  368. data/lib/xero-ruby/models/payroll_nz/employment.rb +242 -0
  369. data/lib/xero-ruby/models/payroll_nz/employment_object.rb +242 -0
  370. data/lib/xero-ruby/models/payroll_nz/gross_earnings_history.rb +232 -0
  371. data/lib/xero-ruby/models/payroll_nz/invalid_field.rb +232 -0
  372. data/lib/xero-ruby/models/payroll_nz/leave_accrual_line.rb +232 -0
  373. data/lib/xero-ruby/models/payroll_nz/leave_earnings_line.rb +312 -0
  374. data/lib/xero-ruby/models/payroll_nz/leave_period.rb +288 -0
  375. data/lib/xero-ruby/models/payroll_nz/leave_periods.rb +244 -0
  376. data/lib/xero-ruby/models/payroll_nz/leave_type.rb +287 -0
  377. data/lib/xero-ruby/models/payroll_nz/leave_type_object.rb +242 -0
  378. data/lib/xero-ruby/models/payroll_nz/leave_types.rb +244 -0
  379. data/lib/xero-ruby/models/payroll_nz/pagination.rb +252 -0
  380. data/lib/xero-ruby/models/payroll_nz/pay_run.rb +385 -0
  381. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar.rb +302 -0
  382. data/lib/xero-ruby/models/payroll_nz/pay_run_calendar_object.rb +242 -0
  383. data/lib/xero-ruby/models/payroll_nz/pay_run_calendars.rb +244 -0
  384. data/lib/xero-ruby/models/payroll_nz/pay_run_object.rb +242 -0
  385. data/lib/xero-ruby/models/payroll_nz/pay_runs.rb +244 -0
  386. data/lib/xero-ruby/models/payroll_nz/pay_slip.rb +571 -0
  387. data/lib/xero-ruby/models/payroll_nz/pay_slip_object.rb +242 -0
  388. data/lib/xero-ruby/models/payroll_nz/pay_slips.rb +244 -0
  389. data/lib/xero-ruby/models/payroll_nz/payment_line.rb +262 -0
  390. data/lib/xero-ruby/models/payroll_nz/payment_method.rb +271 -0
  391. data/lib/xero-ruby/models/payroll_nz/payment_method_object.rb +242 -0
  392. data/lib/xero-ruby/models/payroll_nz/problem.rb +275 -0
  393. data/lib/xero-ruby/models/payroll_nz/reimbursement.rb +378 -0
  394. data/lib/xero-ruby/models/payroll_nz/reimbursement_line.rb +262 -0
  395. data/lib/xero-ruby/models/payroll_nz/reimbursement_object.rb +242 -0
  396. data/lib/xero-ruby/models/payroll_nz/reimbursements.rb +244 -0
  397. data/lib/xero-ruby/models/payroll_nz/salary_and_wage.rb +398 -0
  398. data/lib/xero-ruby/models/payroll_nz/salary_and_wage_object.rb +242 -0
  399. data/lib/xero-ruby/models/payroll_nz/salary_and_wages.rb +244 -0
  400. data/lib/xero-ruby/models/payroll_nz/settings.rb +242 -0
  401. data/lib/xero-ruby/models/payroll_nz/statutory_deduction.rb +262 -0
  402. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_category.rb +45 -0
  403. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_line.rb +252 -0
  404. data/lib/xero-ruby/models/payroll_nz/statutory_deduction_object.rb +242 -0
  405. data/lib/xero-ruby/models/payroll_nz/statutory_deductions.rb +244 -0
  406. data/lib/xero-ruby/models/payroll_nz/superannuation_line.rb +272 -0
  407. data/lib/xero-ruby/models/payroll_nz/superannuation_object.rb +242 -0
  408. data/lib/xero-ruby/models/payroll_nz/superannuations.rb +244 -0
  409. data/lib/xero-ruby/models/payroll_nz/tax_code.rb +53 -0
  410. data/lib/xero-ruby/models/payroll_nz/tax_line.rb +262 -0
  411. data/lib/xero-ruby/models/payroll_nz/tax_settings.rb +308 -0
  412. data/lib/xero-ruby/models/payroll_nz/timesheet.rb +362 -0
  413. data/lib/xero-ruby/models/payroll_nz/timesheet_earnings_line.rb +312 -0
  414. data/lib/xero-ruby/models/payroll_nz/timesheet_line.rb +277 -0
  415. data/lib/xero-ruby/models/payroll_nz/timesheet_line_object.rb +242 -0
  416. data/lib/xero-ruby/models/payroll_nz/timesheet_object.rb +242 -0
  417. data/lib/xero-ruby/models/payroll_nz/timesheets.rb +244 -0
  418. data/lib/xero-ruby/models/payroll_nz/tracking_categories.rb +242 -0
  419. data/lib/xero-ruby/models/payroll_nz/tracking_category.rb +232 -0
  420. data/lib/xero-ruby/models/payroll_uk/account.rb +293 -0
  421. data/lib/xero-ruby/models/payroll_uk/accounts.rb +224 -0
  422. data/lib/xero-ruby/models/payroll_uk/address.rb +277 -0
  423. data/lib/xero-ruby/models/payroll_uk/bank_account.rb +257 -0
  424. data/lib/xero-ruby/models/payroll_uk/benefit.rb +432 -0
  425. data/lib/xero-ruby/models/payroll_uk/benefit_line.rb +262 -0
  426. data/lib/xero-ruby/models/payroll_uk/benefit_object.rb +242 -0
  427. data/lib/xero-ruby/models/payroll_uk/benefits.rb +244 -0
  428. data/lib/xero-ruby/models/payroll_uk/court_order_line.rb +232 -0
  429. data/lib/xero-ruby/models/payroll_uk/deduction.rb +440 -0
  430. data/lib/xero-ruby/models/payroll_uk/deduction_line.rb +252 -0
  431. data/lib/xero-ruby/models/payroll_uk/deduction_object.rb +242 -0
  432. data/lib/xero-ruby/models/payroll_uk/deductions.rb +244 -0
  433. data/lib/xero-ruby/models/payroll_uk/earnings_line.rb +302 -0
  434. data/lib/xero-ruby/models/payroll_uk/earnings_order.rb +269 -0
  435. data/lib/xero-ruby/models/payroll_uk/earnings_order_object.rb +242 -0
  436. data/lib/xero-ruby/models/payroll_uk/earnings_orders.rb +244 -0
  437. data/lib/xero-ruby/models/payroll_uk/earnings_rate.rb +409 -0
  438. data/lib/xero-ruby/models/payroll_uk/earnings_rate_object.rb +242 -0
  439. data/lib/xero-ruby/models/payroll_uk/earnings_rates.rb +244 -0
  440. data/lib/xero-ruby/models/payroll_uk/earnings_template.rb +272 -0
  441. data/lib/xero-ruby/models/payroll_uk/earnings_template_object.rb +242 -0
  442. data/lib/xero-ruby/models/payroll_uk/employee.rb +408 -0
  443. data/lib/xero-ruby/models/payroll_uk/employee_leave.rb +304 -0
  444. data/lib/xero-ruby/models/payroll_uk/employee_leave_balance.rb +252 -0
  445. data/lib/xero-ruby/models/payroll_uk/employee_leave_balances.rb +244 -0
  446. data/lib/xero-ruby/models/payroll_uk/employee_leave_object.rb +242 -0
  447. data/lib/xero-ruby/models/payroll_uk/employee_leave_type.rb +320 -0
  448. data/lib/xero-ruby/models/payroll_uk/employee_leave_type_object.rb +242 -0
  449. data/lib/xero-ruby/models/payroll_uk/employee_leave_types.rb +244 -0
  450. data/lib/xero-ruby/models/payroll_uk/employee_leaves.rb +244 -0
  451. data/lib/xero-ruby/models/payroll_uk/employee_object.rb +242 -0
  452. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances.rb +272 -0
  453. data/lib/xero-ruby/models/payroll_uk/employee_opening_balances_object.rb +242 -0
  454. data/lib/xero-ruby/models/payroll_uk/employee_pay_template.rb +234 -0
  455. data/lib/xero-ruby/models/payroll_uk/employee_pay_template_object.rb +242 -0
  456. data/lib/xero-ruby/models/payroll_uk/employee_pay_templates.rb +244 -0
  457. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance.rb +294 -0
  458. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_balance_object.rb +242 -0
  459. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leave_summary.rb +336 -0
  460. data/lib/xero-ruby/models/payroll_uk/employee_statutory_leaves_summaries.rb +244 -0
  461. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave.rb +433 -0
  462. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leave_object.rb +242 -0
  463. data/lib/xero-ruby/models/payroll_uk/employee_statutory_sick_leaves.rb +244 -0
  464. data/lib/xero-ruby/models/payroll_uk/employee_tax.rb +322 -0
  465. data/lib/xero-ruby/models/payroll_uk/employee_tax_object.rb +242 -0
  466. data/lib/xero-ruby/models/payroll_uk/employees.rb +244 -0
  467. data/lib/xero-ruby/models/payroll_uk/employment.rb +299 -0
  468. data/lib/xero-ruby/models/payroll_uk/employment_object.rb +242 -0
  469. data/lib/xero-ruby/models/payroll_uk/invalid_field.rb +232 -0
  470. data/lib/xero-ruby/models/payroll_uk/leave_accrual_line.rb +232 -0
  471. data/lib/xero-ruby/models/payroll_uk/leave_earnings_line.rb +272 -0
  472. data/lib/xero-ruby/models/payroll_uk/leave_period.rb +288 -0
  473. data/lib/xero-ruby/models/payroll_uk/leave_periods.rb +244 -0
  474. data/lib/xero-ruby/models/payroll_uk/leave_type.rb +307 -0
  475. data/lib/xero-ruby/models/payroll_uk/leave_type_object.rb +242 -0
  476. data/lib/xero-ruby/models/payroll_uk/leave_types.rb +244 -0
  477. data/lib/xero-ruby/models/payroll_uk/pagination.rb +252 -0
  478. data/lib/xero-ruby/models/payroll_uk/pay_run.rb +403 -0
  479. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar.rb +342 -0
  480. data/lib/xero-ruby/models/payroll_uk/pay_run_calendar_object.rb +242 -0
  481. data/lib/xero-ruby/models/payroll_uk/pay_run_calendars.rb +244 -0
  482. data/lib/xero-ruby/models/payroll_uk/pay_run_object.rb +242 -0
  483. data/lib/xero-ruby/models/payroll_uk/pay_runs.rb +244 -0
  484. data/lib/xero-ruby/models/payroll_uk/payment_line.rb +262 -0
  485. data/lib/xero-ruby/models/payroll_uk/payment_method.rb +276 -0
  486. data/lib/xero-ruby/models/payroll_uk/payment_method_object.rb +242 -0
  487. data/lib/xero-ruby/models/payroll_uk/payslip.rb +551 -0
  488. data/lib/xero-ruby/models/payroll_uk/payslip_object.rb +242 -0
  489. data/lib/xero-ruby/models/payroll_uk/payslips.rb +244 -0
  490. data/lib/xero-ruby/models/payroll_uk/problem.rb +275 -0
  491. data/lib/xero-ruby/models/payroll_uk/reimbursement.rb +262 -0
  492. data/lib/xero-ruby/models/payroll_uk/reimbursement_line.rb +242 -0
  493. data/lib/xero-ruby/models/payroll_uk/reimbursement_object.rb +242 -0
  494. data/lib/xero-ruby/models/payroll_uk/reimbursements.rb +244 -0
  495. data/lib/xero-ruby/models/payroll_uk/salary_and_wage.rb +383 -0
  496. data/lib/xero-ruby/models/payroll_uk/salary_and_wage_object.rb +242 -0
  497. data/lib/xero-ruby/models/payroll_uk/salary_and_wages.rb +244 -0
  498. data/lib/xero-ruby/models/payroll_uk/settings.rb +242 -0
  499. data/lib/xero-ruby/models/payroll_uk/statutory_deduction.rb +262 -0
  500. data/lib/xero-ruby/models/payroll_uk/statutory_deduction_category.rb +48 -0
  501. data/lib/xero-ruby/models/payroll_uk/tax_line.rb +272 -0
  502. data/lib/xero-ruby/models/payroll_uk/timesheet.rb +361 -0
  503. data/lib/xero-ruby/models/payroll_uk/timesheet_earnings_line.rb +272 -0
  504. data/lib/xero-ruby/models/payroll_uk/timesheet_line.rb +277 -0
  505. data/lib/xero-ruby/models/payroll_uk/timesheet_line_object.rb +242 -0
  506. data/lib/xero-ruby/models/payroll_uk/timesheet_object.rb +242 -0
  507. data/lib/xero-ruby/models/payroll_uk/timesheets.rb +244 -0
  508. data/lib/xero-ruby/models/payroll_uk/tracking_categories.rb +242 -0
  509. data/lib/xero-ruby/models/payroll_uk/tracking_category.rb +232 -0
  510. data/lib/xero-ruby/models/projects/amount.rb +232 -0
  511. data/lib/xero-ruby/models/projects/charge_type.rb +37 -0
  512. data/lib/xero-ruby/models/projects/currency_code.rb +197 -0
  513. data/lib/xero-ruby/models/projects/error.rb +232 -0
  514. data/lib/xero-ruby/models/projects/pagination.rb +252 -0
  515. data/lib/xero-ruby/models/projects/project.rb +437 -0
  516. data/lib/xero-ruby/models/projects/project_create_or_update.rb +257 -0
  517. data/lib/xero-ruby/models/projects/project_patch.rb +227 -0
  518. data/lib/xero-ruby/models/projects/project_status.rb +36 -0
  519. data/lib/xero-ruby/models/projects/project_user.rb +242 -0
  520. data/lib/xero-ruby/models/projects/project_users.rb +234 -0
  521. data/lib/xero-ruby/models/projects/projects.rb +234 -0
  522. data/lib/xero-ruby/models/projects/task.rb +399 -0
  523. data/lib/xero-ruby/models/projects/task_create_or_update.rb +267 -0
  524. data/lib/xero-ruby/models/projects/tasks.rb +234 -0
  525. data/lib/xero-ruby/models/projects/time_entries.rb +234 -0
  526. data/lib/xero-ruby/models/projects/time_entry.rb +339 -0
  527. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +282 -0
  528. data/lib/xero-ruby/string_serialization.rb +52 -0
  529. data/lib/xero-ruby/version.rb +4 -4
  530. data/lib/xero-ruby/where.rb +67 -0
  531. data/lib/xero-ruby.rb +399 -4
  532. data/spec/accounting/api/accounting_api_spec.rb +3 -3
  533. data/spec/accounting/models/ten_nintey_nine_contact_spec.rb +6 -6
  534. data/spec/api_client_spec.rb +421 -53
  535. data/spec/api_error_spec.rb +45 -0
  536. data/spec/app_store/api/app_store_api_spec.rb +45 -0
  537. data/spec/app_store/models/plan_spec.rb +62 -0
  538. data/spec/app_store/models/price_spec.rb +52 -0
  539. data/spec/app_store/models/problem_details_spec.rb +70 -0
  540. data/spec/app_store/models/product_spec.rb +56 -0
  541. data/spec/app_store/models/subscription_item_spec.rb +70 -0
  542. data/spec/app_store/models/subscription_spec.rb +82 -0
  543. data/spec/assets/api/asset_api_spec.rb +3 -3
  544. data/spec/configuration_spec.rb +27 -32
  545. data/spec/files/api/files_api_spec.rb +249 -0
  546. data/spec/files/models/association_spec.rb +59 -0
  547. data/spec/files/models/file_object_spec.rb +83 -0
  548. data/spec/files/models/files_spec.rb +59 -0
  549. data/spec/files/models/folder_spec.rb +65 -0
  550. data/spec/files/models/folders_spec.rb +41 -0
  551. data/spec/files/models/inline_object_spec.rb +59 -0
  552. data/spec/files/models/object_group_spec.rb +35 -0
  553. data/spec/files/models/object_type_spec.rb +35 -0
  554. data/spec/files/models/user_spec.rb +81 -0
  555. data/spec/finance/api/finance_api_spec.rb +156 -0
  556. data/spec/finance/models/account_usage_response_spec.rb +58 -0
  557. data/spec/finance/models/account_usage_spec.rb +112 -0
  558. data/spec/finance/models/balance_sheet_account_detail_spec.rb +64 -0
  559. data/spec/finance/models/balance_sheet_account_group_spec.rb +46 -0
  560. data/spec/finance/models/balance_sheet_account_type_spec.rb +52 -0
  561. data/spec/finance/models/balance_sheet_response_spec.rb +58 -0
  562. data/spec/finance/models/bank_statement_response_spec.rb +46 -0
  563. data/spec/finance/models/cash_account_response_spec.rb +64 -0
  564. data/spec/finance/models/cash_balance_spec.rb +52 -0
  565. data/spec/finance/models/cash_validation_response_spec.rb +64 -0
  566. data/spec/finance/models/cashflow_account_spec.rb +76 -0
  567. data/spec/finance/models/cashflow_activity_spec.rb +52 -0
  568. data/spec/finance/models/cashflow_response_spec.rb +58 -0
  569. data/spec/finance/models/cashflow_type_spec.rb +52 -0
  570. data/spec/finance/models/current_statement_response_spec.rb +70 -0
  571. data/spec/finance/models/data_source_response_spec.rb +124 -0
  572. data/spec/finance/models/history_record_response_spec.rb +64 -0
  573. data/spec/finance/models/lock_history_model_spec.rb +52 -0
  574. data/spec/finance/models/lock_history_response_spec.rb +52 -0
  575. data/spec/finance/models/pnl_account_class_spec.rb +46 -0
  576. data/spec/finance/models/pnl_account_spec.rb +70 -0
  577. data/spec/finance/models/pnl_account_type_spec.rb +52 -0
  578. data/spec/finance/models/practice_response_spec.rb +64 -0
  579. data/spec/finance/models/problem_spec.rb +58 -0
  580. data/spec/finance/models/problem_type_spec.rb +34 -0
  581. data/spec/finance/models/profit_and_loss_response_spec.rb +64 -0
  582. data/spec/finance/models/report_history_model_spec.rb +52 -0
  583. data/spec/finance/models/report_history_response_spec.rb +52 -0
  584. data/spec/finance/models/statement_balance_response_spec.rb +46 -0
  585. data/spec/finance/models/statement_lines_response_spec.rb +136 -0
  586. data/spec/finance/models/trial_balance_account_spec.rb +94 -0
  587. data/spec/finance/models/trial_balance_entry_spec.rb +46 -0
  588. data/spec/finance/models/trial_balance_movement_spec.rb +58 -0
  589. data/spec/finance/models/trial_balance_response_spec.rb +52 -0
  590. data/spec/finance/models/user_activities_response_spec.rb +52 -0
  591. data/spec/finance/models/user_response_spec.rb +106 -0
  592. data/spec/helper_methods_spec.rb +110 -0
  593. data/spec/payroll_au/api/payroll_au_api_spec.rb +415 -0
  594. data/spec/payroll_au/models/account_spec.rb +59 -0
  595. data/spec/payroll_au/models/account_type_spec.rb +35 -0
  596. data/spec/payroll_au/models/allowance_type_spec.rb +35 -0
  597. data/spec/payroll_au/models/api_exception_spec.rb +53 -0
  598. data/spec/payroll_au/models/bank_account_spec.rb +71 -0
  599. data/spec/payroll_au/models/calendar_type_spec.rb +35 -0
  600. data/spec/payroll_au/models/deduction_line_spec.rb +65 -0
  601. data/spec/payroll_au/models/deduction_type_calculation_type_spec.rb +35 -0
  602. data/spec/payroll_au/models/deduction_type_spec.rb +93 -0
  603. data/spec/payroll_au/models/earnings_line_spec.rb +89 -0
  604. data/spec/payroll_au/models/earnings_rate_calculation_type_spec.rb +35 -0
  605. data/spec/payroll_au/models/earnings_rate_spec.rb +137 -0
  606. data/spec/payroll_au/models/earnings_type_spec.rb +35 -0
  607. data/spec/payroll_au/models/employee_spec.rb +225 -0
  608. data/spec/payroll_au/models/employee_status_spec.rb +35 -0
  609. data/spec/payroll_au/models/employees_spec.rb +41 -0
  610. data/spec/payroll_au/models/employment_basis_spec.rb +35 -0
  611. data/spec/payroll_au/models/employment_termination_payment_type_spec.rb +35 -0
  612. data/spec/payroll_au/models/entitlement_final_pay_payout_type_spec.rb +35 -0
  613. data/spec/payroll_au/models/home_address_spec.rb +71 -0
  614. data/spec/payroll_au/models/leave_accrual_line_spec.rb +53 -0
  615. data/spec/payroll_au/models/leave_application_spec.rb +95 -0
  616. data/spec/payroll_au/models/leave_applications_spec.rb +41 -0
  617. data/spec/payroll_au/models/leave_balance_spec.rb +59 -0
  618. data/spec/payroll_au/models/leave_earnings_line_spec.rb +53 -0
  619. data/spec/payroll_au/models/leave_line_calculation_type_spec.rb +35 -0
  620. data/spec/payroll_au/models/leave_line_spec.rb +83 -0
  621. data/spec/payroll_au/models/leave_lines_spec.rb +41 -0
  622. data/spec/payroll_au/models/leave_period_spec.rb +59 -0
  623. data/spec/payroll_au/models/leave_period_status_spec.rb +35 -0
  624. data/spec/payroll_au/models/leave_type_contribution_type_spec.rb +35 -0
  625. data/spec/payroll_au/models/leave_type_spec.rb +89 -0
  626. data/spec/payroll_au/models/manual_tax_type_spec.rb +35 -0
  627. data/spec/payroll_au/models/opening_balances_spec.rb +77 -0
  628. data/spec/payroll_au/models/pay_item_spec.rb +59 -0
  629. data/spec/payroll_au/models/pay_items_spec.rb +41 -0
  630. data/spec/payroll_au/models/pay_run_spec.rb +131 -0
  631. data/spec/payroll_au/models/pay_run_status_spec.rb +35 -0
  632. data/spec/payroll_au/models/pay_runs_spec.rb +41 -0
  633. data/spec/payroll_au/models/pay_template_spec.rb +65 -0
  634. data/spec/payroll_au/models/payment_frequency_type_spec.rb +35 -0
  635. data/spec/payroll_au/models/payroll_calendar_spec.rb +77 -0
  636. data/spec/payroll_au/models/payroll_calendars_spec.rb +41 -0
  637. data/spec/payroll_au/models/payslip_lines_spec.rb +83 -0
  638. data/spec/payroll_au/models/payslip_object_spec.rb +41 -0
  639. data/spec/payroll_au/models/payslip_spec.rb +149 -0
  640. data/spec/payroll_au/models/payslip_summary_spec.rb +107 -0
  641. data/spec/payroll_au/models/payslips_spec.rb +41 -0
  642. data/spec/payroll_au/models/rate_type_spec.rb +35 -0
  643. data/spec/payroll_au/models/reimbursement_line_spec.rb +59 -0
  644. data/spec/payroll_au/models/reimbursement_lines_spec.rb +41 -0
  645. data/spec/payroll_au/models/reimbursement_type_spec.rb +65 -0
  646. data/spec/payroll_au/models/residency_status_spec.rb +35 -0
  647. data/spec/payroll_au/models/settings_object_spec.rb +41 -0
  648. data/spec/payroll_au/models/settings_spec.rb +53 -0
  649. data/spec/payroll_au/models/settings_tracking_categories_employee_groups_spec.rb +47 -0
  650. data/spec/payroll_au/models/settings_tracking_categories_spec.rb +47 -0
  651. data/spec/payroll_au/models/settings_tracking_categories_timesheet_categories_spec.rb +47 -0
  652. data/spec/payroll_au/models/state_spec.rb +35 -0
  653. data/spec/payroll_au/models/super_fund_product_spec.rb +59 -0
  654. data/spec/payroll_au/models/super_fund_products_spec.rb +41 -0
  655. data/spec/payroll_au/models/super_fund_spec.rb +113 -0
  656. data/spec/payroll_au/models/super_fund_type_spec.rb +35 -0
  657. data/spec/payroll_au/models/super_funds_spec.rb +41 -0
  658. data/spec/payroll_au/models/super_line_spec.rb +83 -0
  659. data/spec/payroll_au/models/super_membership_spec.rb +53 -0
  660. data/spec/payroll_au/models/superannuation_calculation_type_spec.rb +35 -0
  661. data/spec/payroll_au/models/superannuation_contribution_type_spec.rb +35 -0
  662. data/spec/payroll_au/models/superannuation_line_spec.rb +89 -0
  663. data/spec/payroll_au/models/tax_declaration_spec.rb +131 -0
  664. data/spec/payroll_au/models/tax_line_spec.rb +71 -0
  665. data/spec/payroll_au/models/tfn_exemption_type_spec.rb +35 -0
  666. data/spec/payroll_au/models/timesheet_line_spec.rb +59 -0
  667. data/spec/payroll_au/models/timesheet_object_spec.rb +41 -0
  668. data/spec/payroll_au/models/timesheet_spec.rb +89 -0
  669. data/spec/payroll_au/models/timesheet_status_spec.rb +35 -0
  670. data/spec/payroll_au/models/timesheets_spec.rb +41 -0
  671. data/spec/payroll_au/models/validation_error_spec.rb +41 -0
  672. data/spec/payroll_nz/api/payroll_nz_api_spec.rb +886 -0
  673. data/spec/payroll_nz/models/account_spec.rb +63 -0
  674. data/spec/payroll_nz/models/accounts_spec.rb +41 -0
  675. data/spec/payroll_nz/models/address_spec.rb +71 -0
  676. data/spec/payroll_nz/models/bank_account_spec.rb +87 -0
  677. data/spec/payroll_nz/models/benefit_spec.rb +103 -0
  678. data/spec/payroll_nz/models/deduction_line_spec.rb +65 -0
  679. data/spec/payroll_nz/models/deduction_object_spec.rb +53 -0
  680. data/spec/payroll_nz/models/deduction_spec.rb +75 -0
  681. data/spec/payroll_nz/models/deductions_spec.rb +53 -0
  682. data/spec/payroll_nz/models/earnings_line_spec.rb +95 -0
  683. data/spec/payroll_nz/models/earnings_order_object_spec.rb +53 -0
  684. data/spec/payroll_nz/models/earnings_order_spec.rb +65 -0
  685. data/spec/payroll_nz/models/earnings_orders_spec.rb +53 -0
  686. data/spec/payroll_nz/models/earnings_rate_object_spec.rb +53 -0
  687. data/spec/payroll_nz/models/earnings_rate_spec.rb +103 -0
  688. data/spec/payroll_nz/models/earnings_rates_spec.rb +53 -0
  689. data/spec/payroll_nz/models/earnings_template_object_spec.rb +53 -0
  690. data/spec/payroll_nz/models/earnings_template_spec.rb +71 -0
  691. data/spec/payroll_nz/models/employee_earnings_templates_spec.rb +53 -0
  692. data/spec/payroll_nz/models/employee_leave_balance_spec.rb +59 -0
  693. data/spec/payroll_nz/models/employee_leave_balances_spec.rb +53 -0
  694. data/spec/payroll_nz/models/employee_leave_object_spec.rb +53 -0
  695. data/spec/payroll_nz/models/employee_leave_setup_object_spec.rb +53 -0
  696. data/spec/payroll_nz/models/employee_leave_setup_spec.rb +77 -0
  697. data/spec/payroll_nz/models/employee_leave_spec.rb +77 -0
  698. data/spec/payroll_nz/models/employee_leave_type_object_spec.rb +53 -0
  699. data/spec/payroll_nz/models/employee_leave_type_spec.rb +99 -0
  700. data/spec/payroll_nz/models/employee_leave_types_spec.rb +53 -0
  701. data/spec/payroll_nz/models/employee_leaves_spec.rb +53 -0
  702. data/spec/payroll_nz/models/employee_object_spec.rb +53 -0
  703. data/spec/payroll_nz/models/employee_opening_balance_spec.rb +59 -0
  704. data/spec/payroll_nz/models/employee_opening_balances_object_spec.rb +53 -0
  705. data/spec/payroll_nz/models/employee_pay_template_object_spec.rb +53 -0
  706. data/spec/payroll_nz/models/employee_pay_template_spec.rb +47 -0
  707. data/spec/payroll_nz/models/employee_pay_templates_spec.rb +53 -0
  708. data/spec/payroll_nz/models/employee_spec.rb +123 -0
  709. data/spec/payroll_nz/models/employee_statutory_leave_balance_object_spec.rb +53 -0
  710. data/spec/payroll_nz/models/employee_statutory_leave_balance_spec.rb +61 -0
  711. data/spec/payroll_nz/models/employee_statutory_leave_summary_spec.rb +85 -0
  712. data/spec/payroll_nz/models/employee_statutory_leaves_summaries_spec.rb +53 -0
  713. data/spec/payroll_nz/models/employee_statutory_sick_leave_object_spec.rb +53 -0
  714. data/spec/payroll_nz/models/employee_statutory_sick_leave_spec.rb +135 -0
  715. data/spec/payroll_nz/models/employee_statutory_sick_leaves_spec.rb +53 -0
  716. data/spec/payroll_nz/models/employee_tax_object_spec.rb +53 -0
  717. data/spec/payroll_nz/models/employee_tax_spec.rb +135 -0
  718. data/spec/payroll_nz/models/employees_spec.rb +53 -0
  719. data/spec/payroll_nz/models/employment_object_spec.rb +53 -0
  720. data/spec/payroll_nz/models/employment_spec.rb +53 -0
  721. data/spec/payroll_nz/models/gross_earnings_history_spec.rb +47 -0
  722. data/spec/payroll_nz/models/invalid_field_spec.rb +47 -0
  723. data/spec/payroll_nz/models/leave_accrual_line_spec.rb +47 -0
  724. data/spec/payroll_nz/models/leave_earnings_line_spec.rb +95 -0
  725. data/spec/payroll_nz/models/leave_period_spec.rb +63 -0
  726. data/spec/payroll_nz/models/leave_periods_spec.rb +53 -0
  727. data/spec/payroll_nz/models/leave_type_object_spec.rb +53 -0
  728. data/spec/payroll_nz/models/leave_type_spec.rb +71 -0
  729. data/spec/payroll_nz/models/leave_types_spec.rb +53 -0
  730. data/spec/payroll_nz/models/pagination_spec.rb +59 -0
  731. data/spec/payroll_nz/models/pay_run_calendar_object_spec.rb +53 -0
  732. data/spec/payroll_nz/models/pay_run_calendar_spec.rb +81 -0
  733. data/spec/payroll_nz/models/pay_run_calendars_spec.rb +53 -0
  734. data/spec/payroll_nz/models/pay_run_object_spec.rb +53 -0
  735. data/spec/payroll_nz/models/pay_run_spec.rb +119 -0
  736. data/spec/payroll_nz/models/pay_runs_spec.rb +53 -0
  737. data/spec/payroll_nz/models/pay_slip_object_spec.rb +53 -0
  738. data/spec/payroll_nz/models/pay_slip_spec.rb +219 -0
  739. data/spec/payroll_nz/models/pay_slips_spec.rb +53 -0
  740. data/spec/payroll_nz/models/payment_line_spec.rb +65 -0
  741. data/spec/payroll_nz/models/payment_method_object_spec.rb +53 -0
  742. data/spec/payroll_nz/models/payment_method_spec.rb +51 -0
  743. data/spec/payroll_nz/models/problem_spec.rb +71 -0
  744. data/spec/payroll_nz/models/reimbursement_line_spec.rb +65 -0
  745. data/spec/payroll_nz/models/reimbursement_object_spec.rb +53 -0
  746. data/spec/payroll_nz/models/reimbursement_spec.rb +101 -0
  747. data/spec/payroll_nz/models/reimbursements_spec.rb +53 -0
  748. data/spec/payroll_nz/models/salary_and_wage_object_spec.rb +53 -0
  749. data/spec/payroll_nz/models/salary_and_wage_spec.rb +103 -0
  750. data/spec/payroll_nz/models/salary_and_wages_spec.rb +53 -0
  751. data/spec/payroll_nz/models/settings_spec.rb +53 -0
  752. data/spec/payroll_nz/models/statutory_deduction_category_spec.rb +35 -0
  753. data/spec/payroll_nz/models/statutory_deduction_line_spec.rb +59 -0
  754. data/spec/payroll_nz/models/statutory_deduction_object_spec.rb +53 -0
  755. data/spec/payroll_nz/models/statutory_deduction_spec.rb +65 -0
  756. data/spec/payroll_nz/models/statutory_deductions_spec.rb +53 -0
  757. data/spec/payroll_nz/models/superannuation_line_spec.rb +71 -0
  758. data/spec/payroll_nz/models/superannuation_object_spec.rb +53 -0
  759. data/spec/payroll_nz/models/superannuations_spec.rb +53 -0
  760. data/spec/payroll_nz/models/tax_code_spec.rb +35 -0
  761. data/spec/payroll_nz/models/tax_line_spec.rb +65 -0
  762. data/spec/payroll_nz/models/tax_settings_spec.rb +75 -0
  763. data/spec/payroll_nz/models/timesheet_earnings_line_spec.rb +95 -0
  764. data/spec/payroll_nz/models/timesheet_line_object_spec.rb +53 -0
  765. data/spec/payroll_nz/models/timesheet_line_spec.rb +65 -0
  766. data/spec/payroll_nz/models/timesheet_object_spec.rb +53 -0
  767. data/spec/payroll_nz/models/timesheet_spec.rb +93 -0
  768. data/spec/payroll_nz/models/timesheets_spec.rb +53 -0
  769. data/spec/payroll_nz/models/tracking_categories_spec.rb +53 -0
  770. data/spec/payroll_nz/models/tracking_category_spec.rb +47 -0
  771. data/spec/payroll_uk/api/payroll_uk_api_spec.rb +912 -0
  772. data/spec/payroll_uk/models/account_spec.rb +63 -0
  773. data/spec/payroll_uk/models/accounts_spec.rb +41 -0
  774. data/spec/payroll_uk/models/address_spec.rb +65 -0
  775. data/spec/payroll_uk/models/bank_account_spec.rb +53 -0
  776. data/spec/payroll_uk/models/benefit_line_spec.rb +65 -0
  777. data/spec/payroll_uk/models/benefit_object_spec.rb +53 -0
  778. data/spec/payroll_uk/models/benefit_spec.rb +127 -0
  779. data/spec/payroll_uk/models/benefits_spec.rb +53 -0
  780. data/spec/payroll_uk/models/court_order_line_spec.rb +47 -0
  781. data/spec/payroll_uk/models/deduction_line_spec.rb +59 -0
  782. data/spec/payroll_uk/models/deduction_object_spec.rb +53 -0
  783. data/spec/payroll_uk/models/deduction_spec.rb +139 -0
  784. data/spec/payroll_uk/models/deductions_spec.rb +53 -0
  785. data/spec/payroll_uk/models/earnings_line_spec.rb +89 -0
  786. data/spec/payroll_uk/models/earnings_order_object_spec.rb +53 -0
  787. data/spec/payroll_uk/models/earnings_order_spec.rb +65 -0
  788. data/spec/payroll_uk/models/earnings_orders_spec.rb +53 -0
  789. data/spec/payroll_uk/models/earnings_rate_object_spec.rb +53 -0
  790. data/spec/payroll_uk/models/earnings_rate_spec.rb +103 -0
  791. data/spec/payroll_uk/models/earnings_rates_spec.rb +53 -0
  792. data/spec/payroll_uk/models/earnings_template_object_spec.rb +53 -0
  793. data/spec/payroll_uk/models/earnings_template_spec.rb +71 -0
  794. data/spec/payroll_uk/models/employee_leave_balance_spec.rb +59 -0
  795. data/spec/payroll_uk/models/employee_leave_balances_spec.rb +53 -0
  796. data/spec/payroll_uk/models/employee_leave_object_spec.rb +53 -0
  797. data/spec/payroll_uk/models/employee_leave_spec.rb +77 -0
  798. data/spec/payroll_uk/models/employee_leave_type_object_spec.rb +53 -0
  799. data/spec/payroll_uk/models/employee_leave_type_spec.rb +75 -0
  800. data/spec/payroll_uk/models/employee_leave_types_spec.rb +53 -0
  801. data/spec/payroll_uk/models/employee_leaves_spec.rb +53 -0
  802. data/spec/payroll_uk/models/employee_object_spec.rb +53 -0
  803. data/spec/payroll_uk/models/employee_opening_balances_object_spec.rb +53 -0
  804. data/spec/payroll_uk/models/employee_opening_balances_spec.rb +71 -0
  805. data/spec/payroll_uk/models/employee_pay_template_object_spec.rb +53 -0
  806. data/spec/payroll_uk/models/employee_pay_template_spec.rb +47 -0
  807. data/spec/payroll_uk/models/employee_pay_templates_spec.rb +53 -0
  808. data/spec/payroll_uk/models/employee_spec.rb +129 -0
  809. data/spec/payroll_uk/models/employee_statutory_leave_balance_object_spec.rb +53 -0
  810. data/spec/payroll_uk/models/employee_statutory_leave_balance_spec.rb +61 -0
  811. data/spec/payroll_uk/models/employee_statutory_leave_summary_spec.rb +85 -0
  812. data/spec/payroll_uk/models/employee_statutory_leaves_summaries_spec.rb +53 -0
  813. data/spec/payroll_uk/models/employee_statutory_sick_leave_object_spec.rb +53 -0
  814. data/spec/payroll_uk/models/employee_statutory_sick_leave_spec.rb +135 -0
  815. data/spec/payroll_uk/models/employee_statutory_sick_leaves_spec.rb +53 -0
  816. data/spec/payroll_uk/models/employee_tax_object_spec.rb +53 -0
  817. data/spec/payroll_uk/models/employee_tax_spec.rb +101 -0
  818. data/spec/payroll_uk/models/employees_spec.rb +53 -0
  819. data/spec/payroll_uk/models/employment_object_spec.rb +53 -0
  820. data/spec/payroll_uk/models/employment_spec.rb +63 -0
  821. data/spec/payroll_uk/models/invalid_field_spec.rb +47 -0
  822. data/spec/payroll_uk/models/leave_accrual_line_spec.rb +47 -0
  823. data/spec/payroll_uk/models/leave_earnings_line_spec.rb +71 -0
  824. data/spec/payroll_uk/models/leave_period_spec.rb +63 -0
  825. data/spec/payroll_uk/models/leave_periods_spec.rb +53 -0
  826. data/spec/payroll_uk/models/leave_type_object_spec.rb +53 -0
  827. data/spec/payroll_uk/models/leave_type_spec.rb +83 -0
  828. data/spec/payroll_uk/models/leave_types_spec.rb +53 -0
  829. data/spec/payroll_uk/models/pagination_spec.rb +59 -0
  830. data/spec/payroll_uk/models/pay_run_calendar_object_spec.rb +53 -0
  831. data/spec/payroll_uk/models/pay_run_calendar_spec.rb +81 -0
  832. data/spec/payroll_uk/models/pay_run_calendars_spec.rb +53 -0
  833. data/spec/payroll_uk/models/pay_run_object_spec.rb +53 -0
  834. data/spec/payroll_uk/models/pay_run_spec.rb +119 -0
  835. data/spec/payroll_uk/models/pay_runs_spec.rb +53 -0
  836. data/spec/payroll_uk/models/payment_line_spec.rb +65 -0
  837. data/spec/payroll_uk/models/payment_method_object_spec.rb +53 -0
  838. data/spec/payroll_uk/models/payment_method_spec.rb +51 -0
  839. data/spec/payroll_uk/models/payslip_object_spec.rb +53 -0
  840. data/spec/payroll_uk/models/payslip_spec.rb +201 -0
  841. data/spec/payroll_uk/models/payslips_spec.rb +53 -0
  842. data/spec/payroll_uk/models/problem_spec.rb +71 -0
  843. data/spec/payroll_uk/models/reimbursement_line_spec.rb +53 -0
  844. data/spec/payroll_uk/models/reimbursement_object_spec.rb +53 -0
  845. data/spec/payroll_uk/models/reimbursement_spec.rb +59 -0
  846. data/spec/payroll_uk/models/reimbursements_spec.rb +53 -0
  847. data/spec/payroll_uk/models/salary_and_wage_object_spec.rb +53 -0
  848. data/spec/payroll_uk/models/salary_and_wage_spec.rb +97 -0
  849. data/spec/payroll_uk/models/salary_and_wages_spec.rb +53 -0
  850. data/spec/payroll_uk/models/settings_spec.rb +53 -0
  851. data/spec/payroll_uk/models/statutory_deduction_category_spec.rb +35 -0
  852. data/spec/payroll_uk/models/statutory_deduction_spec.rb +65 -0
  853. data/spec/payroll_uk/models/tax_line_spec.rb +71 -0
  854. data/spec/payroll_uk/models/timesheet_earnings_line_spec.rb +71 -0
  855. data/spec/payroll_uk/models/timesheet_line_object_spec.rb +53 -0
  856. data/spec/payroll_uk/models/timesheet_line_spec.rb +65 -0
  857. data/spec/payroll_uk/models/timesheet_object_spec.rb +53 -0
  858. data/spec/payroll_uk/models/timesheet_spec.rb +93 -0
  859. data/spec/payroll_uk/models/timesheets_spec.rb +53 -0
  860. data/spec/payroll_uk/models/tracking_categories_spec.rb +53 -0
  861. data/spec/payroll_uk/models/tracking_category_spec.rb +47 -0
  862. data/spec/projects/api/project_api_spec.rb +229 -0
  863. data/spec/projects/models/amount_spec.rb +47 -0
  864. data/spec/projects/models/charge_type_spec.rb +35 -0
  865. data/spec/projects/models/currency_code_spec.rb +35 -0
  866. data/spec/projects/models/error_spec.rb +47 -0
  867. data/spec/projects/models/pagination_spec.rb +59 -0
  868. data/spec/projects/models/project_create_or_update_spec.rb +59 -0
  869. data/spec/projects/models/project_patch_spec.rb +41 -0
  870. data/spec/projects/models/project_spec.rb +167 -0
  871. data/spec/projects/models/project_status_spec.rb +35 -0
  872. data/spec/projects/models/project_user_spec.rb +53 -0
  873. data/spec/projects/models/project_users_spec.rb +47 -0
  874. data/spec/projects/models/projects_spec.rb +47 -0
  875. data/spec/projects/models/task_create_or_update_spec.rb +59 -0
  876. data/spec/projects/models/task_spec.rb +129 -0
  877. data/spec/projects/models/tasks_spec.rb +47 -0
  878. data/spec/projects/models/time_entries_spec.rb +47 -0
  879. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -0
  880. data/spec/projects/models/time_entry_spec.rb +93 -0
  881. data/spec/where_spec.rb +82 -0
  882. metadata +1123 -154
  883. data/CODE_OF_CONDUCT.md +0 -76
  884. data/CONTRIBUTING.md +0 -82
  885. data/Gemfile +0 -9
  886. data/LICENSE +0 -21
  887. data/Rakefile +0 -10
  888. data/docs/accounting/Account.md +0 -55
  889. data/docs/accounting/AccountType.md +0 -16
  890. data/docs/accounting/AccountingApi.md +0 -14424
  891. data/docs/accounting/Accounts.md +0 -17
  892. data/docs/accounting/AccountsPayable.md +0 -19
  893. data/docs/accounting/AccountsReceivable.md +0 -19
  894. data/docs/accounting/Address.md +0 -35
  895. data/docs/accounting/Allocation.md +0 -21
  896. data/docs/accounting/Allocations.md +0 -17
  897. data/docs/accounting/Attachment.md +0 -27
  898. data/docs/accounting/Attachments.md +0 -17
  899. data/docs/accounting/Balances.md +0 -19
  900. data/docs/accounting/BankTransaction.md +0 -59
  901. data/docs/accounting/BankTransactions.md +0 -17
  902. data/docs/accounting/BankTransfer.md +0 -37
  903. data/docs/accounting/BankTransfers.md +0 -17
  904. data/docs/accounting/BatchPayment.md +0 -47
  905. data/docs/accounting/BatchPaymentDetails.md +0 -25
  906. data/docs/accounting/BatchPayments.md +0 -17
  907. data/docs/accounting/Bill.md +0 -19
  908. data/docs/accounting/BrandingTheme.md +0 -27
  909. data/docs/accounting/BrandingThemes.md +0 -17
  910. data/docs/accounting/CISOrgSetting.md +0 -21
  911. data/docs/accounting/CISSetting.md +0 -19
  912. data/docs/accounting/CISSettings.md +0 -17
  913. data/docs/accounting/Contact.md +0 -93
  914. data/docs/accounting/ContactGroup.md +0 -23
  915. data/docs/accounting/ContactGroups.md +0 -17
  916. data/docs/accounting/ContactPerson.md +0 -23
  917. data/docs/accounting/Contacts.md +0 -17
  918. data/docs/accounting/CountryCode.md +0 -16
  919. data/docs/accounting/CreditNote.md +0 -67
  920. data/docs/accounting/CreditNotes.md +0 -17
  921. data/docs/accounting/Currencies.md +0 -17
  922. data/docs/accounting/Currency.md +0 -19
  923. data/docs/accounting/CurrencyCode.md +0 -16
  924. data/docs/accounting/Element.md +0 -31
  925. data/docs/accounting/Employee.md +0 -31
  926. data/docs/accounting/Employees.md +0 -17
  927. data/docs/accounting/Error.md +0 -23
  928. data/docs/accounting/ExpenseClaim.md +0 -39
  929. data/docs/accounting/ExpenseClaims.md +0 -17
  930. data/docs/accounting/ExternalLink.md +0 -21
  931. data/docs/accounting/HistoryRecord.md +0 -23
  932. data/docs/accounting/HistoryRecords.md +0 -17
  933. data/docs/accounting/Invoice.md +0 -91
  934. data/docs/accounting/InvoiceReminder.md +0 -17
  935. data/docs/accounting/InvoiceReminders.md +0 -17
  936. data/docs/accounting/Invoices.md +0 -17
  937. data/docs/accounting/Item.md +0 -47
  938. data/docs/accounting/Items.md +0 -17
  939. data/docs/accounting/Journal.md +0 -31
  940. data/docs/accounting/JournalLine.md +0 -39
  941. data/docs/accounting/Journals.md +0 -17
  942. data/docs/accounting/LineAmountTypes.md +0 -16
  943. data/docs/accounting/LineItem.md +0 -41
  944. data/docs/accounting/LineItemTracking.md +0 -23
  945. data/docs/accounting/LinkedTransaction.md +0 -37
  946. data/docs/accounting/LinkedTransactions.md +0 -17
  947. data/docs/accounting/ManualJournal.md +0 -43
  948. data/docs/accounting/ManualJournalLine.md +0 -29
  949. data/docs/accounting/ManualJournals.md +0 -17
  950. data/docs/accounting/OnlineInvoice.md +0 -17
  951. data/docs/accounting/OnlineInvoices.md +0 -17
  952. data/docs/accounting/Organisation.md +0 -79
  953. data/docs/accounting/Organisations.md +0 -17
  954. data/docs/accounting/Overpayment.md +0 -53
  955. data/docs/accounting/Overpayments.md +0 -17
  956. data/docs/accounting/Payment.md +0 -63
  957. data/docs/accounting/PaymentDelete.md +0 -17
  958. data/docs/accounting/PaymentService.md +0 -27
  959. data/docs/accounting/PaymentServices.md +0 -17
  960. data/docs/accounting/PaymentTerm.md +0 -19
  961. data/docs/accounting/PaymentTermType.md +0 -16
  962. data/docs/accounting/Payments.md +0 -17
  963. data/docs/accounting/Phone.md +0 -23
  964. data/docs/accounting/Prepayment.md +0 -53
  965. data/docs/accounting/Prepayments.md +0 -17
  966. data/docs/accounting/Purchase.md +0 -23
  967. data/docs/accounting/PurchaseOrder.md +0 -71
  968. data/docs/accounting/PurchaseOrders.md +0 -17
  969. data/docs/accounting/Quote.md +0 -59
  970. data/docs/accounting/QuoteLineAmountTypes.md +0 -16
  971. data/docs/accounting/QuoteStatusCodes.md +0 -16
  972. data/docs/accounting/Quotes.md +0 -17
  973. data/docs/accounting/Receipt.md +0 -51
  974. data/docs/accounting/Receipts.md +0 -17
  975. data/docs/accounting/RepeatingInvoice.md +0 -47
  976. data/docs/accounting/RepeatingInvoices.md +0 -17
  977. data/docs/accounting/Report.md +0 -29
  978. data/docs/accounting/ReportAttribute.md +0 -19
  979. data/docs/accounting/ReportCell.md +0 -19
  980. data/docs/accounting/ReportFields.md +0 -21
  981. data/docs/accounting/ReportRow.md +0 -21
  982. data/docs/accounting/ReportRows.md +0 -23
  983. data/docs/accounting/ReportWithRow.md +0 -33
  984. data/docs/accounting/ReportWithRows.md +0 -17
  985. data/docs/accounting/Reports.md +0 -17
  986. data/docs/accounting/RequestEmpty.md +0 -17
  987. data/docs/accounting/RowType.md +0 -16
  988. data/docs/accounting/SalesTrackingCategory.md +0 -19
  989. data/docs/accounting/Schedule.md +0 -29
  990. data/docs/accounting/TaxComponent.md +0 -23
  991. data/docs/accounting/TaxRate.md +0 -39
  992. data/docs/accounting/TaxRates.md +0 -17
  993. data/docs/accounting/TaxType.md +0 -16
  994. data/docs/accounting/TenNinteyNineContact.md +0 -59
  995. data/docs/accounting/TimeZone.md +0 -16
  996. data/docs/accounting/TrackingCategories.md +0 -17
  997. data/docs/accounting/TrackingCategory.md +0 -27
  998. data/docs/accounting/TrackingOption.md +0 -23
  999. data/docs/accounting/TrackingOptions.md +0 -17
  1000. data/docs/accounting/User.md +0 -29
  1001. data/docs/accounting/Users.md +0 -17
  1002. data/docs/accounting/ValidationError.md +0 -17
  1003. data/docs/assets/Asset.md +0 -45
  1004. data/docs/assets/AssetApi.md +0 -414
  1005. data/docs/assets/AssetStatus.md +0 -16
  1006. data/docs/assets/AssetStatusQueryParam.md +0 -16
  1007. data/docs/assets/AssetType.md +0 -29
  1008. data/docs/assets/Assets.md +0 -19
  1009. data/docs/assets/BookDepreciationDetail.md +0 -29
  1010. data/docs/assets/BookDepreciationSetting.md +0 -31
  1011. data/docs/assets/Error.md +0 -25
  1012. data/docs/assets/FieldValidationErrorsElement.md +0 -27
  1013. data/docs/assets/Pagination.md +0 -23
  1014. data/docs/assets/ResourceValidationErrorsElement.md +0 -25
  1015. data/docs/assets/Setting.md +0 -31
  1016. data/git_push.sh +0 -55
  1017. data/xero-ruby-1.0.gem +0 -0
  1018. data/xero-ruby.gem +0 -0
  1019. data/xero-ruby.gemspec +0 -39
@@ -0,0 +1,1526 @@
1
+ =begin
2
+ #Xero Files API
3
+
4
+ #These endpoints are specific to Xero Files API
5
+
6
+ Contact: api@xero.com
7
+ Generated by: https://openapi-generator.tech
8
+ OpenAPI Generator version: 4.3.1
9
+
10
+ =end
11
+
12
+ module XeroRuby
13
+ class FilesApi
14
+ attr_accessor :api_client
15
+
16
+ def initialize(api_client = ApiClient.new)
17
+ @api_client = api_client
18
+ end
19
+ # Creates a new file association
20
+ # By passing in the appropriate options, you can create a new folder
21
+ # @param xero_tenant_id [String] Xero identifier for Tenant
22
+ # @param file_id [String] File id for single object
23
+ # @param association [Association]
24
+ # @param [Hash] opts the optional parameters
25
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
26
+ # @return [Association]
27
+ def create_file_association(xero_tenant_id, file_id, association, opts = {})
28
+ data, _status_code, _headers = create_file_association_with_http_info(xero_tenant_id, file_id, association, opts)
29
+ data
30
+ end
31
+
32
+ # Creates a new file association
33
+ # By passing in the appropriate options, you can create a new folder
34
+ # @param xero_tenant_id [String] Xero identifier for Tenant
35
+ # @param file_id [String] File id for single object
36
+ # @param association [Association]
37
+ # @param [Hash] opts the optional parameters
38
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
39
+ # @return [Array<(Association, Integer, Hash)>] Association data, response status code and response headers
40
+ def create_file_association_with_http_info(xero_tenant_id, file_id, association, options = {})
41
+ opts = options.dup
42
+ if @api_client.config.debugging
43
+ @api_client.config.logger.debug 'Calling API: FilesApi.create_file_association ...'
44
+ end
45
+ # verify the required parameter 'xero_tenant_id' is set
46
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
47
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.create_file_association"
48
+ end
49
+ # verify the required parameter 'file_id' is set
50
+ if @api_client.config.client_side_validation && file_id.nil?
51
+ fail ArgumentError, "Missing the required parameter 'file_id' when calling FilesApi.create_file_association"
52
+ end
53
+ # verify the required parameter 'association' is set
54
+ if @api_client.config.client_side_validation && association.nil?
55
+ fail ArgumentError, "Missing the required parameter 'association' when calling FilesApi.create_file_association"
56
+ end
57
+ # resource path
58
+ local_var_path = '/Files/{FileId}/Associations'.sub('{' + 'FileId' + '}', file_id.to_s)
59
+
60
+ # camelize keys of incoming `where` opts
61
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
62
+
63
+ # query parameters
64
+ query_params = opts[:query_params] || {}
65
+
66
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
67
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
68
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
69
+
70
+ # header parameters
71
+ header_params = opts[:header_params] || {}
72
+ # HTTP header 'Accept' (if needed)
73
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
74
+ # HTTP header 'Content-Type'
75
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
76
+ header_params[:'xero-tenant-id'] = xero_tenant_id
77
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
78
+
79
+ # form parameters
80
+ form_params = opts[:form_params] || {}
81
+
82
+ # http body (model)
83
+ post_body = opts[:body] || @api_client.object_to_http_body(association)
84
+
85
+ # return_type
86
+ return_type = opts[:return_type] || 'Association'
87
+
88
+ # auth_names
89
+ auth_names = opts[:auth_names] || ['OAuth2']
90
+
91
+ new_options = opts.merge(
92
+ :header_params => header_params,
93
+ :query_params => query_params,
94
+ :form_params => form_params,
95
+ :body => post_body,
96
+ :auth_names => auth_names,
97
+ :return_type => return_type
98
+ )
99
+
100
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "FilesApi", new_options)
101
+ if @api_client.config.debugging
102
+ @api_client.config.logger.debug "API called: FilesApi#create_file_association\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
103
+ end
104
+ return data, status_code, headers
105
+ end
106
+
107
+ # Creates a new folder
108
+ # By passing in the appropriate properties, you can create a new folder
109
+ # @param xero_tenant_id [String] Xero identifier for Tenant
110
+ # @param folder [Folder]
111
+ # @param [Hash] opts the optional parameters
112
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
113
+ # @return [Folder]
114
+ def create_folder(xero_tenant_id, folder, opts = {})
115
+ data, _status_code, _headers = create_folder_with_http_info(xero_tenant_id, folder, opts)
116
+ data
117
+ end
118
+
119
+ # Creates a new folder
120
+ # By passing in the appropriate properties, you can create a new folder
121
+ # @param xero_tenant_id [String] Xero identifier for Tenant
122
+ # @param folder [Folder]
123
+ # @param [Hash] opts the optional parameters
124
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
125
+ # @return [Array<(Folder, Integer, Hash)>] Folder data, response status code and response headers
126
+ def create_folder_with_http_info(xero_tenant_id, folder, options = {})
127
+ opts = options.dup
128
+ if @api_client.config.debugging
129
+ @api_client.config.logger.debug 'Calling API: FilesApi.create_folder ...'
130
+ end
131
+ # verify the required parameter 'xero_tenant_id' is set
132
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
133
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.create_folder"
134
+ end
135
+ # verify the required parameter 'folder' is set
136
+ if @api_client.config.client_side_validation && folder.nil?
137
+ fail ArgumentError, "Missing the required parameter 'folder' when calling FilesApi.create_folder"
138
+ end
139
+ # resource path
140
+ local_var_path = '/Folders'
141
+
142
+ # camelize keys of incoming `where` opts
143
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
144
+
145
+ # query parameters
146
+ query_params = opts[:query_params] || {}
147
+
148
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
149
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
150
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
151
+
152
+ # header parameters
153
+ header_params = opts[:header_params] || {}
154
+ # HTTP header 'Accept' (if needed)
155
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
156
+ # HTTP header 'Content-Type'
157
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
158
+ header_params[:'xero-tenant-id'] = xero_tenant_id
159
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
160
+
161
+ # form parameters
162
+ form_params = opts[:form_params] || {}
163
+
164
+ # http body (model)
165
+ post_body = opts[:body] || @api_client.object_to_http_body(folder)
166
+
167
+ # return_type
168
+ return_type = opts[:return_type] || 'Folder'
169
+
170
+ # auth_names
171
+ auth_names = opts[:auth_names] || ['OAuth2']
172
+
173
+ new_options = opts.merge(
174
+ :header_params => header_params,
175
+ :query_params => query_params,
176
+ :form_params => form_params,
177
+ :body => post_body,
178
+ :auth_names => auth_names,
179
+ :return_type => return_type
180
+ )
181
+
182
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "FilesApi", new_options)
183
+ if @api_client.config.debugging
184
+ @api_client.config.logger.debug "API called: FilesApi#create_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
185
+ end
186
+ return data, status_code, headers
187
+ end
188
+
189
+ # Deletes a specific file
190
+ # Delete a specific file
191
+ # @param xero_tenant_id [String] Xero identifier for Tenant
192
+ # @param file_id [String] File id for single object
193
+ # @param [Hash] opts the optional parameters
194
+ # @return [nil]
195
+ def delete_file(xero_tenant_id, file_id, opts = {})
196
+ delete_file_with_http_info(xero_tenant_id, file_id, opts)
197
+ nil
198
+ end
199
+
200
+ # Deletes a specific file
201
+ # Delete a specific file
202
+ # @param xero_tenant_id [String] Xero identifier for Tenant
203
+ # @param file_id [String] File id for single object
204
+ # @param [Hash] opts the optional parameters
205
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
206
+ def delete_file_with_http_info(xero_tenant_id, file_id, options = {})
207
+ opts = options.dup
208
+ if @api_client.config.debugging
209
+ @api_client.config.logger.debug 'Calling API: FilesApi.delete_file ...'
210
+ end
211
+ # verify the required parameter 'xero_tenant_id' is set
212
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
213
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.delete_file"
214
+ end
215
+ # verify the required parameter 'file_id' is set
216
+ if @api_client.config.client_side_validation && file_id.nil?
217
+ fail ArgumentError, "Missing the required parameter 'file_id' when calling FilesApi.delete_file"
218
+ end
219
+ # resource path
220
+ local_var_path = '/Files/{FileId}'.sub('{' + 'FileId' + '}', file_id.to_s)
221
+
222
+ # camelize keys of incoming `where` opts
223
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
224
+
225
+ # query parameters
226
+ query_params = opts[:query_params] || {}
227
+
228
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
229
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
230
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
231
+
232
+ # header parameters
233
+ header_params = opts[:header_params] || {}
234
+ header_params[:'xero-tenant-id'] = xero_tenant_id
235
+
236
+ # form parameters
237
+ form_params = opts[:form_params] || {}
238
+
239
+ # http body (model)
240
+ post_body = opts[:body]
241
+
242
+ # return_type
243
+ return_type = opts[:return_type]
244
+
245
+ # auth_names
246
+ auth_names = opts[:auth_names] || ['OAuth2']
247
+
248
+ new_options = opts.merge(
249
+ :header_params => header_params,
250
+ :query_params => query_params,
251
+ :form_params => form_params,
252
+ :body => post_body,
253
+ :auth_names => auth_names,
254
+ :return_type => return_type
255
+ )
256
+
257
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, "FilesApi", new_options)
258
+ if @api_client.config.debugging
259
+ @api_client.config.logger.debug "API called: FilesApi#delete_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
260
+ end
261
+ return data, status_code, headers
262
+ end
263
+
264
+ # Deletes an existing file association
265
+ # By passing in the appropriate options, you can create a new folder
266
+ # @param xero_tenant_id [String] Xero identifier for Tenant
267
+ # @param file_id [String] File id for single object
268
+ # @param object_id [String] Object id for single object
269
+ # @param [Hash] opts the optional parameters
270
+ # @return [nil]
271
+ def delete_file_association(xero_tenant_id, file_id, object_id, opts = {})
272
+ delete_file_association_with_http_info(xero_tenant_id, file_id, object_id, opts)
273
+ nil
274
+ end
275
+
276
+ # Deletes an existing file association
277
+ # By passing in the appropriate options, you can create a new folder
278
+ # @param xero_tenant_id [String] Xero identifier for Tenant
279
+ # @param file_id [String] File id for single object
280
+ # @param object_id [String] Object id for single object
281
+ # @param [Hash] opts the optional parameters
282
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
283
+ def delete_file_association_with_http_info(xero_tenant_id, file_id, object_id, options = {})
284
+ opts = options.dup
285
+ if @api_client.config.debugging
286
+ @api_client.config.logger.debug 'Calling API: FilesApi.delete_file_association ...'
287
+ end
288
+ # verify the required parameter 'xero_tenant_id' is set
289
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
290
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.delete_file_association"
291
+ end
292
+ # verify the required parameter 'file_id' is set
293
+ if @api_client.config.client_side_validation && file_id.nil?
294
+ fail ArgumentError, "Missing the required parameter 'file_id' when calling FilesApi.delete_file_association"
295
+ end
296
+ # verify the required parameter 'object_id' is set
297
+ if @api_client.config.client_side_validation && object_id.nil?
298
+ fail ArgumentError, "Missing the required parameter 'object_id' when calling FilesApi.delete_file_association"
299
+ end
300
+ # resource path
301
+ local_var_path = '/Files/{FileId}/Associations/{ObjectId}'.sub('{' + 'FileId' + '}', file_id.to_s).sub('{' + 'ObjectId' + '}', object_id.to_s)
302
+
303
+ # camelize keys of incoming `where` opts
304
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
305
+
306
+ # query parameters
307
+ query_params = opts[:query_params] || {}
308
+
309
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
310
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
311
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
312
+
313
+ # header parameters
314
+ header_params = opts[:header_params] || {}
315
+ header_params[:'xero-tenant-id'] = xero_tenant_id
316
+
317
+ # form parameters
318
+ form_params = opts[:form_params] || {}
319
+
320
+ # http body (model)
321
+ post_body = opts[:body]
322
+
323
+ # return_type
324
+ return_type = opts[:return_type]
325
+
326
+ # auth_names
327
+ auth_names = opts[:auth_names] || ['OAuth2']
328
+
329
+ new_options = opts.merge(
330
+ :header_params => header_params,
331
+ :query_params => query_params,
332
+ :form_params => form_params,
333
+ :body => post_body,
334
+ :auth_names => auth_names,
335
+ :return_type => return_type
336
+ )
337
+
338
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, "FilesApi", new_options)
339
+ if @api_client.config.debugging
340
+ @api_client.config.logger.debug "API called: FilesApi#delete_file_association\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
341
+ end
342
+ return data, status_code, headers
343
+ end
344
+
345
+ # Deletes a folder
346
+ # By passing in the appropriate ID, you can delete a folder
347
+ # @param xero_tenant_id [String] Xero identifier for Tenant
348
+ # @param folder_id [String] Folder id for single object
349
+ # @param [Hash] opts the optional parameters
350
+ # @return [nil]
351
+ def delete_folder(xero_tenant_id, folder_id, opts = {})
352
+ delete_folder_with_http_info(xero_tenant_id, folder_id, opts)
353
+ nil
354
+ end
355
+
356
+ # Deletes a folder
357
+ # By passing in the appropriate ID, you can delete a folder
358
+ # @param xero_tenant_id [String] Xero identifier for Tenant
359
+ # @param folder_id [String] Folder id for single object
360
+ # @param [Hash] opts the optional parameters
361
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
362
+ def delete_folder_with_http_info(xero_tenant_id, folder_id, options = {})
363
+ opts = options.dup
364
+ if @api_client.config.debugging
365
+ @api_client.config.logger.debug 'Calling API: FilesApi.delete_folder ...'
366
+ end
367
+ # verify the required parameter 'xero_tenant_id' is set
368
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
369
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.delete_folder"
370
+ end
371
+ # verify the required parameter 'folder_id' is set
372
+ if @api_client.config.client_side_validation && folder_id.nil?
373
+ fail ArgumentError, "Missing the required parameter 'folder_id' when calling FilesApi.delete_folder"
374
+ end
375
+ # resource path
376
+ local_var_path = '/Folders/{FolderId}'.sub('{' + 'FolderId' + '}', folder_id.to_s)
377
+
378
+ # camelize keys of incoming `where` opts
379
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
380
+
381
+ # query parameters
382
+ query_params = opts[:query_params] || {}
383
+
384
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
385
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
386
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
387
+
388
+ # header parameters
389
+ header_params = opts[:header_params] || {}
390
+ header_params[:'xero-tenant-id'] = xero_tenant_id
391
+
392
+ # form parameters
393
+ form_params = opts[:form_params] || {}
394
+
395
+ # http body (model)
396
+ post_body = opts[:body]
397
+
398
+ # return_type
399
+ return_type = opts[:return_type]
400
+
401
+ # auth_names
402
+ auth_names = opts[:auth_names] || ['OAuth2']
403
+
404
+ new_options = opts.merge(
405
+ :header_params => header_params,
406
+ :query_params => query_params,
407
+ :form_params => form_params,
408
+ :body => post_body,
409
+ :auth_names => auth_names,
410
+ :return_type => return_type
411
+ )
412
+
413
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, "FilesApi", new_options)
414
+ if @api_client.config.debugging
415
+ @api_client.config.logger.debug "API called: FilesApi#delete_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
416
+ end
417
+ return data, status_code, headers
418
+ end
419
+
420
+ # Retrieves an association object using a unique object ID
421
+ # By passing in the appropriate options, you can retrieve an association
422
+ # @param xero_tenant_id [String] Xero identifier for Tenant
423
+ # @param object_id [String] Object id for single object
424
+ # @param [Hash] opts the optional parameters
425
+ # @option opts [Integer] :pagesize pass an optional page size value
426
+ # @option opts [Integer] :page number of records to skip for pagination
427
+ # @option opts [String] :sort values to sort by
428
+ # @option opts [String] :direction direction to sort by
429
+ # @return [Array<Association>]
430
+ def get_associations_by_object(xero_tenant_id, object_id, opts = {})
431
+ data, _status_code, _headers = get_associations_by_object_with_http_info(xero_tenant_id, object_id, opts)
432
+ data
433
+ end
434
+
435
+ # Retrieves an association object using a unique object ID
436
+ # By passing in the appropriate options, you can retrieve an association
437
+ # @param xero_tenant_id [String] Xero identifier for Tenant
438
+ # @param object_id [String] Object id for single object
439
+ # @param [Hash] opts the optional parameters
440
+ # @option opts [Integer] :pagesize pass an optional page size value
441
+ # @option opts [Integer] :page number of records to skip for pagination
442
+ # @option opts [String] :sort values to sort by
443
+ # @option opts [String] :direction direction to sort by
444
+ # @return [Array<(Array<Association>, Integer, Hash)>] Array<Association> data, response status code and response headers
445
+ def get_associations_by_object_with_http_info(xero_tenant_id, object_id, options = {})
446
+ opts = options.dup
447
+ if @api_client.config.debugging
448
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_associations_by_object ...'
449
+ end
450
+ # verify the required parameter 'xero_tenant_id' is set
451
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
452
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_associations_by_object"
453
+ end
454
+ # verify the required parameter 'object_id' is set
455
+ if @api_client.config.client_side_validation && object_id.nil?
456
+ fail ArgumentError, "Missing the required parameter 'object_id' when calling FilesApi.get_associations_by_object"
457
+ end
458
+ if @api_client.config.client_side_validation && !opts[:'pagesize'].nil? && opts[:'pagesize'] > 100
459
+ fail ArgumentError, 'invalid value for "opts[:"pagesize"]" when calling FilesApi.get_associations_by_object, must be smaller than or equal to 100.'
460
+ end
461
+
462
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
463
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling FilesApi.get_associations_by_object, must be greater than or equal to 1.'
464
+ end
465
+
466
+ allowable_values = ["Name", "CreatedDateUTC"]
467
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
468
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
469
+ end
470
+ allowable_values = ["ASC", "DESC"]
471
+ if @api_client.config.client_side_validation && opts[:'direction'] && !allowable_values.include?(opts[:'direction'])
472
+ fail ArgumentError, "invalid value for \"direction\", must be one of #{allowable_values}"
473
+ end
474
+ # resource path
475
+ local_var_path = '/Associations/{ObjectId}'.sub('{' + 'ObjectId' + '}', object_id.to_s)
476
+
477
+ # camelize keys of incoming `where` opts
478
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
479
+
480
+ # query parameters
481
+ query_params = opts[:query_params] || {}
482
+ query_params[:'pagesize'] = opts[:'pagesize'] if !opts[:'pagesize'].nil?
483
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
484
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
485
+ query_params[:'direction'] = opts[:'direction'] if !opts[:'direction'].nil?
486
+
487
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
488
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
489
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
490
+
491
+ # header parameters
492
+ header_params = opts[:header_params] || {}
493
+ # HTTP header 'Accept' (if needed)
494
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
495
+ header_params[:'xero-tenant-id'] = xero_tenant_id
496
+
497
+ # form parameters
498
+ form_params = opts[:form_params] || {}
499
+
500
+ # http body (model)
501
+ post_body = opts[:body]
502
+
503
+ # return_type
504
+ return_type = opts[:return_type] || 'Array<Association>'
505
+
506
+ # auth_names
507
+ auth_names = opts[:auth_names] || ['OAuth2']
508
+
509
+ new_options = opts.merge(
510
+ :header_params => header_params,
511
+ :query_params => query_params,
512
+ :form_params => form_params,
513
+ :body => post_body,
514
+ :auth_names => auth_names,
515
+ :return_type => return_type
516
+ )
517
+
518
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
519
+ if @api_client.config.debugging
520
+ @api_client.config.logger.debug "API called: FilesApi#get_associations_by_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
521
+ end
522
+ return data, status_code, headers
523
+ end
524
+
525
+ # Retrieves a count of associations for a list of objects.
526
+ # By passing in the appropriate options, you can retrieve the association count for objects
527
+ # @param xero_tenant_id [String] Xero identifier for Tenant
528
+ # @param object_ids [Array<String>] A comma-separated list of object ids
529
+ # @param [Hash] opts the optional parameters
530
+ # @return [Object]
531
+ def get_associations_count(xero_tenant_id, object_ids, opts = {})
532
+ data, _status_code, _headers = get_associations_count_with_http_info(xero_tenant_id, object_ids, opts)
533
+ data
534
+ end
535
+
536
+ # Retrieves a count of associations for a list of objects.
537
+ # By passing in the appropriate options, you can retrieve the association count for objects
538
+ # @param xero_tenant_id [String] Xero identifier for Tenant
539
+ # @param object_ids [Array<String>] A comma-separated list of object ids
540
+ # @param [Hash] opts the optional parameters
541
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
542
+ def get_associations_count_with_http_info(xero_tenant_id, object_ids, options = {})
543
+ opts = options.dup
544
+ if @api_client.config.debugging
545
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_associations_count ...'
546
+ end
547
+ # verify the required parameter 'xero_tenant_id' is set
548
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
549
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_associations_count"
550
+ end
551
+ # verify the required parameter 'object_ids' is set
552
+ if @api_client.config.client_side_validation && object_ids.nil?
553
+ fail ArgumentError, "Missing the required parameter 'object_ids' when calling FilesApi.get_associations_count"
554
+ end
555
+ # resource path
556
+ local_var_path = '/Associations/Count'
557
+
558
+ # camelize keys of incoming `where` opts
559
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
560
+
561
+ # query parameters
562
+ query_params = opts[:query_params] || {}
563
+ query_params[:'ObjectIds'] = @api_client.build_collection_param(object_ids, :multi)
564
+
565
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
566
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
567
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
568
+
569
+ # header parameters
570
+ header_params = opts[:header_params] || {}
571
+ # HTTP header 'Accept' (if needed)
572
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
573
+ header_params[:'xero-tenant-id'] = xero_tenant_id
574
+
575
+ # form parameters
576
+ form_params = opts[:form_params] || {}
577
+
578
+ # http body (model)
579
+ post_body = opts[:body]
580
+
581
+ # return_type
582
+ return_type = opts[:return_type] || 'Object'
583
+
584
+ # auth_names
585
+ auth_names = opts[:auth_names] || ['OAuth2']
586
+
587
+ new_options = opts.merge(
588
+ :header_params => header_params,
589
+ :query_params => query_params,
590
+ :form_params => form_params,
591
+ :body => post_body,
592
+ :auth_names => auth_names,
593
+ :return_type => return_type
594
+ )
595
+
596
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
597
+ if @api_client.config.debugging
598
+ @api_client.config.logger.debug "API called: FilesApi#get_associations_count\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
599
+ end
600
+ return data, status_code, headers
601
+ end
602
+
603
+ # Retrieves a file by a unique file ID
604
+ # @param xero_tenant_id [String] Xero identifier for Tenant
605
+ # @param file_id [String] File id for single object
606
+ # @param [Hash] opts the optional parameters
607
+ # @return [FileObject]
608
+ def get_file(xero_tenant_id, file_id, opts = {})
609
+ data, _status_code, _headers = get_file_with_http_info(xero_tenant_id, file_id, opts)
610
+ data
611
+ end
612
+
613
+ # Retrieves a file by a unique file ID
614
+ # @param xero_tenant_id [String] Xero identifier for Tenant
615
+ # @param file_id [String] File id for single object
616
+ # @param [Hash] opts the optional parameters
617
+ # @return [Array<(FileObject, Integer, Hash)>] FileObject data, response status code and response headers
618
+ def get_file_with_http_info(xero_tenant_id, file_id, options = {})
619
+ opts = options.dup
620
+ if @api_client.config.debugging
621
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_file ...'
622
+ end
623
+ # verify the required parameter 'xero_tenant_id' is set
624
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
625
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_file"
626
+ end
627
+ # verify the required parameter 'file_id' is set
628
+ if @api_client.config.client_side_validation && file_id.nil?
629
+ fail ArgumentError, "Missing the required parameter 'file_id' when calling FilesApi.get_file"
630
+ end
631
+ # resource path
632
+ local_var_path = '/Files/{FileId}'.sub('{' + 'FileId' + '}', file_id.to_s)
633
+
634
+ # camelize keys of incoming `where` opts
635
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
636
+
637
+ # query parameters
638
+ query_params = opts[:query_params] || {}
639
+
640
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
641
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
642
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
643
+
644
+ # header parameters
645
+ header_params = opts[:header_params] || {}
646
+ # HTTP header 'Accept' (if needed)
647
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
648
+ header_params[:'xero-tenant-id'] = xero_tenant_id
649
+
650
+ # form parameters
651
+ form_params = opts[:form_params] || {}
652
+
653
+ # http body (model)
654
+ post_body = opts[:body]
655
+
656
+ # return_type
657
+ return_type = opts[:return_type] || 'FileObject'
658
+
659
+ # auth_names
660
+ auth_names = opts[:auth_names] || ['OAuth2']
661
+
662
+ new_options = opts.merge(
663
+ :header_params => header_params,
664
+ :query_params => query_params,
665
+ :form_params => form_params,
666
+ :body => post_body,
667
+ :auth_names => auth_names,
668
+ :return_type => return_type
669
+ )
670
+
671
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
672
+ if @api_client.config.debugging
673
+ @api_client.config.logger.debug "API called: FilesApi#get_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
674
+ end
675
+ return data, status_code, headers
676
+ end
677
+
678
+ # Retrieves a specific file associations
679
+ # By passing in the appropriate options,
680
+ # @param xero_tenant_id [String] Xero identifier for Tenant
681
+ # @param file_id [String] File id for single object
682
+ # @param [Hash] opts the optional parameters
683
+ # @return [Array<Association>]
684
+ def get_file_associations(xero_tenant_id, file_id, opts = {})
685
+ data, _status_code, _headers = get_file_associations_with_http_info(xero_tenant_id, file_id, opts)
686
+ data
687
+ end
688
+
689
+ # Retrieves a specific file associations
690
+ # By passing in the appropriate options,
691
+ # @param xero_tenant_id [String] Xero identifier for Tenant
692
+ # @param file_id [String] File id for single object
693
+ # @param [Hash] opts the optional parameters
694
+ # @return [Array<(Array<Association>, Integer, Hash)>] Array<Association> data, response status code and response headers
695
+ def get_file_associations_with_http_info(xero_tenant_id, file_id, options = {})
696
+ opts = options.dup
697
+ if @api_client.config.debugging
698
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_file_associations ...'
699
+ end
700
+ # verify the required parameter 'xero_tenant_id' is set
701
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
702
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_file_associations"
703
+ end
704
+ # verify the required parameter 'file_id' is set
705
+ if @api_client.config.client_side_validation && file_id.nil?
706
+ fail ArgumentError, "Missing the required parameter 'file_id' when calling FilesApi.get_file_associations"
707
+ end
708
+ # resource path
709
+ local_var_path = '/Files/{FileId}/Associations'.sub('{' + 'FileId' + '}', file_id.to_s)
710
+
711
+ # camelize keys of incoming `where` opts
712
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
713
+
714
+ # query parameters
715
+ query_params = opts[:query_params] || {}
716
+
717
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
718
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
719
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
720
+
721
+ # header parameters
722
+ header_params = opts[:header_params] || {}
723
+ # HTTP header 'Accept' (if needed)
724
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
725
+ header_params[:'xero-tenant-id'] = xero_tenant_id
726
+
727
+ # form parameters
728
+ form_params = opts[:form_params] || {}
729
+
730
+ # http body (model)
731
+ post_body = opts[:body]
732
+
733
+ # return_type
734
+ return_type = opts[:return_type] || 'Array<Association>'
735
+
736
+ # auth_names
737
+ auth_names = opts[:auth_names] || ['OAuth2']
738
+
739
+ new_options = opts.merge(
740
+ :header_params => header_params,
741
+ :query_params => query_params,
742
+ :form_params => form_params,
743
+ :body => post_body,
744
+ :auth_names => auth_names,
745
+ :return_type => return_type
746
+ )
747
+
748
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
749
+ if @api_client.config.debugging
750
+ @api_client.config.logger.debug "API called: FilesApi#get_file_associations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
751
+ end
752
+ return data, status_code, headers
753
+ end
754
+
755
+ # Retrieves the content of a specific file
756
+ # By passing in the appropriate options, retrieve data for specific file
757
+ # @param xero_tenant_id [String] Xero identifier for Tenant
758
+ # @param file_id [String] File id for single object
759
+ # @param [Hash] opts the optional parameters
760
+ # @return [File]
761
+ def get_file_content(xero_tenant_id, file_id, opts = {})
762
+ data, _status_code, _headers = get_file_content_with_http_info(xero_tenant_id, file_id, opts)
763
+ data
764
+ end
765
+
766
+ # Retrieves the content of a specific file
767
+ # By passing in the appropriate options, retrieve data for specific file
768
+ # @param xero_tenant_id [String] Xero identifier for Tenant
769
+ # @param file_id [String] File id for single object
770
+ # @param [Hash] opts the optional parameters
771
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
772
+ def get_file_content_with_http_info(xero_tenant_id, file_id, options = {})
773
+ opts = options.dup
774
+ if @api_client.config.debugging
775
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_file_content ...'
776
+ end
777
+ # verify the required parameter 'xero_tenant_id' is set
778
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
779
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_file_content"
780
+ end
781
+ # verify the required parameter 'file_id' is set
782
+ if @api_client.config.client_side_validation && file_id.nil?
783
+ fail ArgumentError, "Missing the required parameter 'file_id' when calling FilesApi.get_file_content"
784
+ end
785
+ # resource path
786
+ local_var_path = '/Files/{FileId}/Content'.sub('{' + 'FileId' + '}', file_id.to_s)
787
+
788
+ # camelize keys of incoming `where` opts
789
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
790
+
791
+ # query parameters
792
+ query_params = opts[:query_params] || {}
793
+
794
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
795
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
796
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
797
+
798
+ # header parameters
799
+ header_params = opts[:header_params] || {}
800
+ # HTTP header 'Accept' (if needed)
801
+ header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream'])
802
+ header_params[:'xero-tenant-id'] = xero_tenant_id
803
+
804
+ # form parameters
805
+ form_params = opts[:form_params] || {}
806
+
807
+ # http body (model)
808
+ post_body = opts[:body]
809
+
810
+ # return_type
811
+ return_type = opts[:return_type] || 'File'
812
+
813
+ # auth_names
814
+ auth_names = opts[:auth_names] || ['OAuth2']
815
+
816
+ new_options = opts.merge(
817
+ :header_params => header_params,
818
+ :query_params => query_params,
819
+ :form_params => form_params,
820
+ :body => post_body,
821
+ :auth_names => auth_names,
822
+ :return_type => return_type
823
+ )
824
+
825
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
826
+ if @api_client.config.debugging
827
+ @api_client.config.logger.debug "API called: FilesApi#get_file_content\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
828
+ end
829
+ return data, status_code, headers
830
+ end
831
+
832
+ # Retrieves files
833
+ # @param xero_tenant_id [String] Xero identifier for Tenant
834
+ # @param [Hash] opts the optional parameters
835
+ # @option opts [Integer] :pagesize pass an optional page size value
836
+ # @option opts [Integer] :page number of records to skip for pagination
837
+ # @option opts [String] :sort values to sort by
838
+ # @return [Files]
839
+ def get_files(xero_tenant_id, opts = {})
840
+ data, _status_code, _headers = get_files_with_http_info(xero_tenant_id, opts)
841
+ data
842
+ end
843
+
844
+ # Retrieves files
845
+ # @param xero_tenant_id [String] Xero identifier for Tenant
846
+ # @param [Hash] opts the optional parameters
847
+ # @option opts [Integer] :pagesize pass an optional page size value
848
+ # @option opts [Integer] :page number of records to skip for pagination
849
+ # @option opts [String] :sort values to sort by
850
+ # @return [Array<(Files, Integer, Hash)>] Files data, response status code and response headers
851
+ def get_files_with_http_info(xero_tenant_id, options = {})
852
+ opts = options.dup
853
+ if @api_client.config.debugging
854
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_files ...'
855
+ end
856
+ # verify the required parameter 'xero_tenant_id' is set
857
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
858
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_files"
859
+ end
860
+ if @api_client.config.client_side_validation && !opts[:'pagesize'].nil? && opts[:'pagesize'] > 100
861
+ fail ArgumentError, 'invalid value for "opts[:"pagesize"]" when calling FilesApi.get_files, must be smaller than or equal to 100.'
862
+ end
863
+
864
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
865
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling FilesApi.get_files, must be greater than or equal to 1.'
866
+ end
867
+
868
+ allowable_values = ["Name", "Size", "CreatedDateUTC"]
869
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
870
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
871
+ end
872
+ # resource path
873
+ local_var_path = '/Files'
874
+
875
+ # camelize keys of incoming `where` opts
876
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
877
+
878
+ # query parameters
879
+ query_params = opts[:query_params] || {}
880
+ query_params[:'pagesize'] = opts[:'pagesize'] if !opts[:'pagesize'].nil?
881
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
882
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
883
+
884
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
885
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
886
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
887
+
888
+ # header parameters
889
+ header_params = opts[:header_params] || {}
890
+ # HTTP header 'Accept' (if needed)
891
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
892
+ header_params[:'xero-tenant-id'] = xero_tenant_id
893
+
894
+ # form parameters
895
+ form_params = opts[:form_params] || {}
896
+
897
+ # http body (model)
898
+ post_body = opts[:body]
899
+
900
+ # return_type
901
+ return_type = opts[:return_type] || 'Files'
902
+
903
+ # auth_names
904
+ auth_names = opts[:auth_names] || ['OAuth2']
905
+
906
+ new_options = opts.merge(
907
+ :header_params => header_params,
908
+ :query_params => query_params,
909
+ :form_params => form_params,
910
+ :body => post_body,
911
+ :auth_names => auth_names,
912
+ :return_type => return_type
913
+ )
914
+
915
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
916
+ if @api_client.config.debugging
917
+ @api_client.config.logger.debug "API called: FilesApi#get_files\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
918
+ end
919
+ return data, status_code, headers
920
+ end
921
+
922
+ # Retrieves specific folder by using a unique folder ID
923
+ # By passing in the appropriate ID, you can search for specific folder
924
+ # @param xero_tenant_id [String] Xero identifier for Tenant
925
+ # @param folder_id [String] Folder id for single object
926
+ # @param [Hash] opts the optional parameters
927
+ # @return [Folder]
928
+ def get_folder(xero_tenant_id, folder_id, opts = {})
929
+ data, _status_code, _headers = get_folder_with_http_info(xero_tenant_id, folder_id, opts)
930
+ data
931
+ end
932
+
933
+ # Retrieves specific folder by using a unique folder ID
934
+ # By passing in the appropriate ID, you can search for specific folder
935
+ # @param xero_tenant_id [String] Xero identifier for Tenant
936
+ # @param folder_id [String] Folder id for single object
937
+ # @param [Hash] opts the optional parameters
938
+ # @return [Array<(Folder, Integer, Hash)>] Folder data, response status code and response headers
939
+ def get_folder_with_http_info(xero_tenant_id, folder_id, options = {})
940
+ opts = options.dup
941
+ if @api_client.config.debugging
942
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_folder ...'
943
+ end
944
+ # verify the required parameter 'xero_tenant_id' is set
945
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
946
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_folder"
947
+ end
948
+ # verify the required parameter 'folder_id' is set
949
+ if @api_client.config.client_side_validation && folder_id.nil?
950
+ fail ArgumentError, "Missing the required parameter 'folder_id' when calling FilesApi.get_folder"
951
+ end
952
+ # resource path
953
+ local_var_path = '/Folders/{FolderId}'.sub('{' + 'FolderId' + '}', folder_id.to_s)
954
+
955
+ # camelize keys of incoming `where` opts
956
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
957
+
958
+ # query parameters
959
+ query_params = opts[:query_params] || {}
960
+
961
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
962
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
963
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
964
+
965
+ # header parameters
966
+ header_params = opts[:header_params] || {}
967
+ # HTTP header 'Accept' (if needed)
968
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
969
+ header_params[:'xero-tenant-id'] = xero_tenant_id
970
+
971
+ # form parameters
972
+ form_params = opts[:form_params] || {}
973
+
974
+ # http body (model)
975
+ post_body = opts[:body]
976
+
977
+ # return_type
978
+ return_type = opts[:return_type] || 'Folder'
979
+
980
+ # auth_names
981
+ auth_names = opts[:auth_names] || ['OAuth2']
982
+
983
+ new_options = opts.merge(
984
+ :header_params => header_params,
985
+ :query_params => query_params,
986
+ :form_params => form_params,
987
+ :body => post_body,
988
+ :auth_names => auth_names,
989
+ :return_type => return_type
990
+ )
991
+
992
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
993
+ if @api_client.config.debugging
994
+ @api_client.config.logger.debug "API called: FilesApi#get_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
995
+ end
996
+ return data, status_code, headers
997
+ end
998
+
999
+ # Retrieves folders
1000
+ # By passing in the appropriate options, you can search for available folders
1001
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1002
+ # @param [Hash] opts the optional parameters
1003
+ # @option opts [String] :sort values to sort by
1004
+ # @return [Array<Folder>]
1005
+ def get_folders(xero_tenant_id, opts = {})
1006
+ data, _status_code, _headers = get_folders_with_http_info(xero_tenant_id, opts)
1007
+ data
1008
+ end
1009
+
1010
+ # Retrieves folders
1011
+ # By passing in the appropriate options, you can search for available folders
1012
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1013
+ # @param [Hash] opts the optional parameters
1014
+ # @option opts [String] :sort values to sort by
1015
+ # @return [Array<(Array<Folder>, Integer, Hash)>] Array<Folder> data, response status code and response headers
1016
+ def get_folders_with_http_info(xero_tenant_id, options = {})
1017
+ opts = options.dup
1018
+ if @api_client.config.debugging
1019
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_folders ...'
1020
+ end
1021
+ # verify the required parameter 'xero_tenant_id' is set
1022
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1023
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_folders"
1024
+ end
1025
+ allowable_values = ["Name", "Size", "CreatedDateUTC"]
1026
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
1027
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1028
+ end
1029
+ # resource path
1030
+ local_var_path = '/Folders'
1031
+
1032
+ # camelize keys of incoming `where` opts
1033
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1034
+
1035
+ # query parameters
1036
+ query_params = opts[:query_params] || {}
1037
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1038
+
1039
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1040
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1041
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1042
+
1043
+ # header parameters
1044
+ header_params = opts[:header_params] || {}
1045
+ # HTTP header 'Accept' (if needed)
1046
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1047
+ header_params[:'xero-tenant-id'] = xero_tenant_id
1048
+
1049
+ # form parameters
1050
+ form_params = opts[:form_params] || {}
1051
+
1052
+ # http body (model)
1053
+ post_body = opts[:body]
1054
+
1055
+ # return_type
1056
+ return_type = opts[:return_type] || 'Array<Folder>'
1057
+
1058
+ # auth_names
1059
+ auth_names = opts[:auth_names] || ['OAuth2']
1060
+
1061
+ new_options = opts.merge(
1062
+ :header_params => header_params,
1063
+ :query_params => query_params,
1064
+ :form_params => form_params,
1065
+ :body => post_body,
1066
+ :auth_names => auth_names,
1067
+ :return_type => return_type
1068
+ )
1069
+
1070
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
1071
+ if @api_client.config.debugging
1072
+ @api_client.config.logger.debug "API called: FilesApi#get_folders\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1073
+ end
1074
+ return data, status_code, headers
1075
+ end
1076
+
1077
+ # Retrieves inbox folder
1078
+ # Search for the user inbox
1079
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1080
+ # @param [Hash] opts the optional parameters
1081
+ # @return [Folder]
1082
+ def get_inbox(xero_tenant_id, opts = {})
1083
+ data, _status_code, _headers = get_inbox_with_http_info(xero_tenant_id, opts)
1084
+ data
1085
+ end
1086
+
1087
+ # Retrieves inbox folder
1088
+ # Search for the user inbox
1089
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1090
+ # @param [Hash] opts the optional parameters
1091
+ # @return [Array<(Folder, Integer, Hash)>] Folder data, response status code and response headers
1092
+ def get_inbox_with_http_info(xero_tenant_id, options = {})
1093
+ opts = options.dup
1094
+ if @api_client.config.debugging
1095
+ @api_client.config.logger.debug 'Calling API: FilesApi.get_inbox ...'
1096
+ end
1097
+ # verify the required parameter 'xero_tenant_id' is set
1098
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1099
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.get_inbox"
1100
+ end
1101
+ # resource path
1102
+ local_var_path = '/Inbox'
1103
+
1104
+ # camelize keys of incoming `where` opts
1105
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1106
+
1107
+ # query parameters
1108
+ query_params = opts[:query_params] || {}
1109
+
1110
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1111
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1112
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1113
+
1114
+ # header parameters
1115
+ header_params = opts[:header_params] || {}
1116
+ # HTTP header 'Accept' (if needed)
1117
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1118
+ header_params[:'xero-tenant-id'] = xero_tenant_id
1119
+
1120
+ # form parameters
1121
+ form_params = opts[:form_params] || {}
1122
+
1123
+ # http body (model)
1124
+ post_body = opts[:body]
1125
+
1126
+ # return_type
1127
+ return_type = opts[:return_type] || 'Folder'
1128
+
1129
+ # auth_names
1130
+ auth_names = opts[:auth_names] || ['OAuth2']
1131
+
1132
+ new_options = opts.merge(
1133
+ :header_params => header_params,
1134
+ :query_params => query_params,
1135
+ :form_params => form_params,
1136
+ :body => post_body,
1137
+ :auth_names => auth_names,
1138
+ :return_type => return_type
1139
+ )
1140
+
1141
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "FilesApi", new_options)
1142
+ if @api_client.config.debugging
1143
+ @api_client.config.logger.debug "API called: FilesApi#get_inbox\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1144
+ end
1145
+ return data, status_code, headers
1146
+ end
1147
+
1148
+ # Update a file
1149
+ # Updates file properties of a single file
1150
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1151
+ # @param file_id [String] File id for single object
1152
+ # @param file_object [FileObject]
1153
+ # @param [Hash] opts the optional parameters
1154
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1155
+ # @return [FileObject]
1156
+ def update_file(xero_tenant_id, file_id, file_object, opts = {})
1157
+ data, _status_code, _headers = update_file_with_http_info(xero_tenant_id, file_id, file_object, opts)
1158
+ data
1159
+ end
1160
+
1161
+ # Update a file
1162
+ # Updates file properties of a single file
1163
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1164
+ # @param file_id [String] File id for single object
1165
+ # @param file_object [FileObject]
1166
+ # @param [Hash] opts the optional parameters
1167
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1168
+ # @return [Array<(FileObject, Integer, Hash)>] FileObject data, response status code and response headers
1169
+ def update_file_with_http_info(xero_tenant_id, file_id, file_object, options = {})
1170
+ opts = options.dup
1171
+ if @api_client.config.debugging
1172
+ @api_client.config.logger.debug 'Calling API: FilesApi.update_file ...'
1173
+ end
1174
+ # verify the required parameter 'xero_tenant_id' is set
1175
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1176
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.update_file"
1177
+ end
1178
+ # verify the required parameter 'file_id' is set
1179
+ if @api_client.config.client_side_validation && file_id.nil?
1180
+ fail ArgumentError, "Missing the required parameter 'file_id' when calling FilesApi.update_file"
1181
+ end
1182
+ # verify the required parameter 'file_object' is set
1183
+ if @api_client.config.client_side_validation && file_object.nil?
1184
+ fail ArgumentError, "Missing the required parameter 'file_object' when calling FilesApi.update_file"
1185
+ end
1186
+ # resource path
1187
+ local_var_path = '/Files/{FileId}'.sub('{' + 'FileId' + '}', file_id.to_s)
1188
+
1189
+ # camelize keys of incoming `where` opts
1190
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1191
+
1192
+ # query parameters
1193
+ query_params = opts[:query_params] || {}
1194
+
1195
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1196
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1197
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1198
+
1199
+ # header parameters
1200
+ header_params = opts[:header_params] || {}
1201
+ # HTTP header 'Accept' (if needed)
1202
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1203
+ # HTTP header 'Content-Type'
1204
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1205
+ header_params[:'xero-tenant-id'] = xero_tenant_id
1206
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1207
+
1208
+ # form parameters
1209
+ form_params = opts[:form_params] || {}
1210
+
1211
+ # http body (model)
1212
+ post_body = opts[:body] || @api_client.object_to_http_body(file_object)
1213
+
1214
+ # return_type
1215
+ return_type = opts[:return_type] || 'FileObject'
1216
+
1217
+ # auth_names
1218
+ auth_names = opts[:auth_names] || ['OAuth2']
1219
+
1220
+ new_options = opts.merge(
1221
+ :header_params => header_params,
1222
+ :query_params => query_params,
1223
+ :form_params => form_params,
1224
+ :body => post_body,
1225
+ :auth_names => auth_names,
1226
+ :return_type => return_type
1227
+ )
1228
+
1229
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, "FilesApi", new_options)
1230
+ if @api_client.config.debugging
1231
+ @api_client.config.logger.debug "API called: FilesApi#update_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1232
+ end
1233
+ return data, status_code, headers
1234
+ end
1235
+
1236
+ # Updates an existing folder
1237
+ # By passing in the appropriate ID and properties, you can update a folder
1238
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1239
+ # @param folder_id [String] Folder id for single object
1240
+ # @param folder [Folder]
1241
+ # @param [Hash] opts the optional parameters
1242
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1243
+ # @return [Folder]
1244
+ def update_folder(xero_tenant_id, folder_id, folder, opts = {})
1245
+ data, _status_code, _headers = update_folder_with_http_info(xero_tenant_id, folder_id, folder, opts)
1246
+ data
1247
+ end
1248
+
1249
+ # Updates an existing folder
1250
+ # By passing in the appropriate ID and properties, you can update a folder
1251
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1252
+ # @param folder_id [String] Folder id for single object
1253
+ # @param folder [Folder]
1254
+ # @param [Hash] opts the optional parameters
1255
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1256
+ # @return [Array<(Folder, Integer, Hash)>] Folder data, response status code and response headers
1257
+ def update_folder_with_http_info(xero_tenant_id, folder_id, folder, options = {})
1258
+ opts = options.dup
1259
+ if @api_client.config.debugging
1260
+ @api_client.config.logger.debug 'Calling API: FilesApi.update_folder ...'
1261
+ end
1262
+ # verify the required parameter 'xero_tenant_id' is set
1263
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1264
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.update_folder"
1265
+ end
1266
+ # verify the required parameter 'folder_id' is set
1267
+ if @api_client.config.client_side_validation && folder_id.nil?
1268
+ fail ArgumentError, "Missing the required parameter 'folder_id' when calling FilesApi.update_folder"
1269
+ end
1270
+ # verify the required parameter 'folder' is set
1271
+ if @api_client.config.client_side_validation && folder.nil?
1272
+ fail ArgumentError, "Missing the required parameter 'folder' when calling FilesApi.update_folder"
1273
+ end
1274
+ # resource path
1275
+ local_var_path = '/Folders/{FolderId}'.sub('{' + 'FolderId' + '}', folder_id.to_s)
1276
+
1277
+ # camelize keys of incoming `where` opts
1278
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1279
+
1280
+ # query parameters
1281
+ query_params = opts[:query_params] || {}
1282
+
1283
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1284
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1285
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1286
+
1287
+ # header parameters
1288
+ header_params = opts[:header_params] || {}
1289
+ # HTTP header 'Accept' (if needed)
1290
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1291
+ # HTTP header 'Content-Type'
1292
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1293
+ header_params[:'xero-tenant-id'] = xero_tenant_id
1294
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1295
+
1296
+ # form parameters
1297
+ form_params = opts[:form_params] || {}
1298
+
1299
+ # http body (model)
1300
+ post_body = opts[:body] || @api_client.object_to_http_body(folder)
1301
+
1302
+ # return_type
1303
+ return_type = opts[:return_type] || 'Folder'
1304
+
1305
+ # auth_names
1306
+ auth_names = opts[:auth_names] || ['OAuth2']
1307
+
1308
+ new_options = opts.merge(
1309
+ :header_params => header_params,
1310
+ :query_params => query_params,
1311
+ :form_params => form_params,
1312
+ :body => post_body,
1313
+ :auth_names => auth_names,
1314
+ :return_type => return_type
1315
+ )
1316
+
1317
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, "FilesApi", new_options)
1318
+ if @api_client.config.debugging
1319
+ @api_client.config.logger.debug "API called: FilesApi#update_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1320
+ end
1321
+ return data, status_code, headers
1322
+ end
1323
+
1324
+ # Uploads a File to the inbox
1325
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1326
+ # @param body [String]
1327
+ # @param name [String] exact name of the file you are uploading
1328
+ # @param filename [String]
1329
+ # @param [Hash] opts the optional parameters
1330
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1331
+ # @option opts [String] :mime_type
1332
+ # @return [FileObject]
1333
+ def upload_file(xero_tenant_id, body, name, filename, opts = {})
1334
+ data, _status_code, _headers = upload_file_with_http_info(xero_tenant_id, body, name, filename, opts)
1335
+ data
1336
+ end
1337
+
1338
+ # Uploads a File to the inbox
1339
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1340
+ # @param body [String]
1341
+ # @param name [String] exact name of the file you are uploading
1342
+ # @param filename [String]
1343
+ # @param [Hash] opts the optional parameters
1344
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1345
+ # @option opts [String] :mime_type
1346
+ # @return [Array<(FileObject, Integer, Hash)>] FileObject data, response status code and response headers
1347
+ def upload_file_with_http_info(xero_tenant_id, body, name, filename, options = {})
1348
+ opts = options.dup
1349
+ if @api_client.config.debugging
1350
+ @api_client.config.logger.debug 'Calling API: FilesApi.upload_file ...'
1351
+ end
1352
+ # verify the required parameter 'xero_tenant_id' is set
1353
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1354
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.upload_file"
1355
+ end
1356
+ # verify the required parameter 'body' is set
1357
+ if @api_client.config.client_side_validation && body.nil?
1358
+ fail ArgumentError, "Missing the required parameter 'body' when calling FilesApi.upload_file"
1359
+ end
1360
+ # verify the required parameter 'name' is set
1361
+ if @api_client.config.client_side_validation && name.nil?
1362
+ fail ArgumentError, "Missing the required parameter 'name' when calling FilesApi.upload_file"
1363
+ end
1364
+ # verify the required parameter 'filename' is set
1365
+ if @api_client.config.client_side_validation && filename.nil?
1366
+ fail ArgumentError, "Missing the required parameter 'filename' when calling FilesApi.upload_file"
1367
+ end
1368
+ # resource path
1369
+ local_var_path = '/Files'
1370
+
1371
+ # camelize keys of incoming `where` opts
1372
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1373
+
1374
+ # query parameters
1375
+ query_params = opts[:query_params] || {}
1376
+
1377
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1378
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1379
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1380
+
1381
+ # header parameters
1382
+ header_params = opts[:header_params] || {}
1383
+ # HTTP header 'Accept' (if needed)
1384
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1385
+ # HTTP header 'Content-Type'
1386
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
1387
+ header_params[:'xero-tenant-id'] = xero_tenant_id
1388
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1389
+
1390
+ # form parameters
1391
+ form_params = opts[:form_params] || {}
1392
+ form_params['body'] = body
1393
+ form_params['name'] = name
1394
+ form_params['filename'] = filename
1395
+ form_params['mimeType'] = opts[:'mime_type'] if !opts[:'mime_type'].nil?
1396
+
1397
+ # http body (model)
1398
+ post_body = opts[:body]
1399
+
1400
+ # return_type
1401
+ return_type = opts[:return_type] || 'FileObject'
1402
+
1403
+ # auth_names
1404
+ auth_names = opts[:auth_names] || ['OAuth2']
1405
+
1406
+ new_options = opts.merge(
1407
+ :header_params => header_params,
1408
+ :query_params => query_params,
1409
+ :form_params => form_params,
1410
+ :body => post_body,
1411
+ :auth_names => auth_names,
1412
+ :return_type => return_type
1413
+ )
1414
+
1415
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "FilesApi", new_options)
1416
+ if @api_client.config.debugging
1417
+ @api_client.config.logger.debug "API called: FilesApi#upload_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1418
+ end
1419
+ return data, status_code, headers
1420
+ end
1421
+
1422
+ # Uploads a File to a specific folder
1423
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1424
+ # @param folder_id [String] pass required folder id to save file to specific folder
1425
+ # @param body [String]
1426
+ # @param name [String] exact name of the file you are uploading
1427
+ # @param filename [String]
1428
+ # @param [Hash] opts the optional parameters
1429
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1430
+ # @option opts [String] :mime_type
1431
+ # @return [FileObject]
1432
+ def upload_file_to_folder(xero_tenant_id, folder_id, body, name, filename, opts = {})
1433
+ data, _status_code, _headers = upload_file_to_folder_with_http_info(xero_tenant_id, folder_id, body, name, filename, opts)
1434
+ data
1435
+ end
1436
+
1437
+ # Uploads a File to a specific folder
1438
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1439
+ # @param folder_id [String] pass required folder id to save file to specific folder
1440
+ # @param body [String]
1441
+ # @param name [String] exact name of the file you are uploading
1442
+ # @param filename [String]
1443
+ # @param [Hash] opts the optional parameters
1444
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1445
+ # @option opts [String] :mime_type
1446
+ # @return [Array<(FileObject, Integer, Hash)>] FileObject data, response status code and response headers
1447
+ def upload_file_to_folder_with_http_info(xero_tenant_id, folder_id, body, name, filename, options = {})
1448
+ opts = options.dup
1449
+ if @api_client.config.debugging
1450
+ @api_client.config.logger.debug 'Calling API: FilesApi.upload_file_to_folder ...'
1451
+ end
1452
+ # verify the required parameter 'xero_tenant_id' is set
1453
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1454
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling FilesApi.upload_file_to_folder"
1455
+ end
1456
+ # verify the required parameter 'folder_id' is set
1457
+ if @api_client.config.client_side_validation && folder_id.nil?
1458
+ fail ArgumentError, "Missing the required parameter 'folder_id' when calling FilesApi.upload_file_to_folder"
1459
+ end
1460
+ # verify the required parameter 'body' is set
1461
+ if @api_client.config.client_side_validation && body.nil?
1462
+ fail ArgumentError, "Missing the required parameter 'body' when calling FilesApi.upload_file_to_folder"
1463
+ end
1464
+ # verify the required parameter 'name' is set
1465
+ if @api_client.config.client_side_validation && name.nil?
1466
+ fail ArgumentError, "Missing the required parameter 'name' when calling FilesApi.upload_file_to_folder"
1467
+ end
1468
+ # verify the required parameter 'filename' is set
1469
+ if @api_client.config.client_side_validation && filename.nil?
1470
+ fail ArgumentError, "Missing the required parameter 'filename' when calling FilesApi.upload_file_to_folder"
1471
+ end
1472
+ # resource path
1473
+ local_var_path = '/Files/{FolderId}'.sub('{' + 'FolderId' + '}', folder_id.to_s)
1474
+
1475
+ # camelize keys of incoming `where` opts
1476
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1477
+
1478
+ # query parameters
1479
+ query_params = opts[:query_params] || {}
1480
+
1481
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1482
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1483
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1484
+
1485
+ # header parameters
1486
+ header_params = opts[:header_params] || {}
1487
+ # HTTP header 'Accept' (if needed)
1488
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1489
+ # HTTP header 'Content-Type'
1490
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
1491
+ header_params[:'xero-tenant-id'] = xero_tenant_id
1492
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1493
+
1494
+ # form parameters
1495
+ form_params = opts[:form_params] || {}
1496
+ form_params['body'] = body
1497
+ form_params['name'] = name
1498
+ form_params['filename'] = filename
1499
+ form_params['mimeType'] = opts[:'mime_type'] if !opts[:'mime_type'].nil?
1500
+
1501
+ # http body (model)
1502
+ post_body = opts[:body]
1503
+
1504
+ # return_type
1505
+ return_type = opts[:return_type] || 'FileObject'
1506
+
1507
+ # auth_names
1508
+ auth_names = opts[:auth_names] || ['OAuth2']
1509
+
1510
+ new_options = opts.merge(
1511
+ :header_params => header_params,
1512
+ :query_params => query_params,
1513
+ :form_params => form_params,
1514
+ :body => post_body,
1515
+ :auth_names => auth_names,
1516
+ :return_type => return_type
1517
+ )
1518
+
1519
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "FilesApi", new_options)
1520
+ if @api_client.config.debugging
1521
+ @api_client.config.logger.debug "API called: FilesApi#upload_file_to_folder\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1522
+ end
1523
+ return data, status_code, headers
1524
+ end
1525
+ end
1526
+ end