xero-ruby 1.1.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
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,1423 @@
1
+ =begin
2
+ #Xero Projects API
3
+
4
+ #This is the Xero Projects 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 ProjectApi
14
+ attr_accessor :api_client
15
+
16
+ def initialize(api_client = ApiClient.new)
17
+ @api_client = api_client
18
+ end
19
+ # Create one or more new projects
20
+ # @param xero_tenant_id [String] Xero identifier for Tenant
21
+ # @param project_create_or_update [ProjectCreateOrUpdate] Create a new project with ProjectCreateOrUpdate object
22
+ # @param [Hash] opts the optional parameters
23
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
24
+ # @return [Project]
25
+ def create_project(xero_tenant_id, project_create_or_update, opts = {})
26
+ data, _status_code, _headers = create_project_with_http_info(xero_tenant_id, project_create_or_update, opts)
27
+ data
28
+ end
29
+
30
+ # Create one or more new projects
31
+ # @param xero_tenant_id [String] Xero identifier for Tenant
32
+ # @param project_create_or_update [ProjectCreateOrUpdate] Create a new project with ProjectCreateOrUpdate object
33
+ # @param [Hash] opts the optional parameters
34
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
35
+ # @return [Array<(Project, Integer, Hash)>] Project data, response status code and response headers
36
+ def create_project_with_http_info(xero_tenant_id, project_create_or_update, options = {})
37
+ opts = options.dup
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: ProjectApi.create_project ...'
40
+ end
41
+ # verify the required parameter 'xero_tenant_id' is set
42
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.create_project"
44
+ end
45
+ # verify the required parameter 'project_create_or_update' is set
46
+ if @api_client.config.client_side_validation && project_create_or_update.nil?
47
+ fail ArgumentError, "Missing the required parameter 'project_create_or_update' when calling ProjectApi.create_project"
48
+ end
49
+ # resource path
50
+ local_var_path = '/Projects'
51
+
52
+ # camelize keys of incoming `where` opts
53
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
54
+
55
+ # query parameters
56
+ query_params = opts[:query_params] || {}
57
+
58
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
59
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
60
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
61
+
62
+ # header parameters
63
+ header_params = opts[:header_params] || {}
64
+ # HTTP header 'Accept' (if needed)
65
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
66
+ # HTTP header 'Content-Type'
67
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
68
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
69
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
70
+
71
+ # form parameters
72
+ form_params = opts[:form_params] || {}
73
+
74
+ # http body (model)
75
+ post_body = opts[:body] || @api_client.object_to_http_body(project_create_or_update)
76
+
77
+ # return_type
78
+ return_type = opts[:return_type] || 'Project'
79
+
80
+ # auth_names
81
+ auth_names = opts[:auth_names] || ['OAuth2']
82
+
83
+ new_options = opts.merge(
84
+ :header_params => header_params,
85
+ :query_params => query_params,
86
+ :form_params => form_params,
87
+ :body => post_body,
88
+ :auth_names => auth_names,
89
+ :return_type => return_type
90
+ )
91
+
92
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "ProjectApi", new_options)
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug "API called: ProjectApi#create_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
95
+ end
96
+ return data, status_code, headers
97
+ end
98
+
99
+ # Allows you to create a task
100
+ # Allows you to create a specific task
101
+ # @param xero_tenant_id [String] Xero identifier for Tenant
102
+ # @param project_id [String] You can create a task on a specified projectId
103
+ # @param task_create_or_update [TaskCreateOrUpdate] The task object you are creating
104
+ # @param [Hash] opts the optional parameters
105
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
106
+ # @return [Task]
107
+ def create_task(xero_tenant_id, project_id, task_create_or_update, opts = {})
108
+ data, _status_code, _headers = create_task_with_http_info(xero_tenant_id, project_id, task_create_or_update, opts)
109
+ data
110
+ end
111
+
112
+ # Allows you to create a task
113
+ # Allows you to create a specific task
114
+ # @param xero_tenant_id [String] Xero identifier for Tenant
115
+ # @param project_id [String] You can create a task on a specified projectId
116
+ # @param task_create_or_update [TaskCreateOrUpdate] The task object you are creating
117
+ # @param [Hash] opts the optional parameters
118
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
119
+ # @return [Array<(Task, Integer, Hash)>] Task data, response status code and response headers
120
+ def create_task_with_http_info(xero_tenant_id, project_id, task_create_or_update, options = {})
121
+ opts = options.dup
122
+ if @api_client.config.debugging
123
+ @api_client.config.logger.debug 'Calling API: ProjectApi.create_task ...'
124
+ end
125
+ # verify the required parameter 'xero_tenant_id' is set
126
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
127
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.create_task"
128
+ end
129
+ # verify the required parameter 'project_id' is set
130
+ if @api_client.config.client_side_validation && project_id.nil?
131
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.create_task"
132
+ end
133
+ # verify the required parameter 'task_create_or_update' is set
134
+ if @api_client.config.client_side_validation && task_create_or_update.nil?
135
+ fail ArgumentError, "Missing the required parameter 'task_create_or_update' when calling ProjectApi.create_task"
136
+ end
137
+ # resource path
138
+ local_var_path = '/Projects/{projectId}/Tasks'.sub('{' + 'projectId' + '}', project_id.to_s)
139
+
140
+ # camelize keys of incoming `where` opts
141
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
142
+
143
+ # query parameters
144
+ query_params = opts[:query_params] || {}
145
+
146
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
147
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
148
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
149
+
150
+ # header parameters
151
+ header_params = opts[:header_params] || {}
152
+ # HTTP header 'Accept' (if needed)
153
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
154
+ # HTTP header 'Content-Type'
155
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
156
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
157
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
158
+
159
+ # form parameters
160
+ form_params = opts[:form_params] || {}
161
+
162
+ # http body (model)
163
+ post_body = opts[:body] || @api_client.object_to_http_body(task_create_or_update)
164
+
165
+ # return_type
166
+ return_type = opts[:return_type] || 'Task'
167
+
168
+ # auth_names
169
+ auth_names = opts[:auth_names] || ['OAuth2']
170
+
171
+ new_options = opts.merge(
172
+ :header_params => header_params,
173
+ :query_params => query_params,
174
+ :form_params => form_params,
175
+ :body => post_body,
176
+ :auth_names => auth_names,
177
+ :return_type => return_type
178
+ )
179
+
180
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "ProjectApi", new_options)
181
+ if @api_client.config.debugging
182
+ @api_client.config.logger.debug "API called: ProjectApi#create_task\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
183
+ end
184
+ return data, status_code, headers
185
+ end
186
+
187
+ # Creates a time entry for a specific project
188
+ # Allows you to create a specific task
189
+ # @param xero_tenant_id [String] Xero identifier for Tenant
190
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
191
+ # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are creating
192
+ # @param [Hash] opts the optional parameters
193
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
194
+ # @return [TimeEntry]
195
+ def create_time_entry(xero_tenant_id, project_id, time_entry_create_or_update, opts = {})
196
+ data, _status_code, _headers = create_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_create_or_update, opts)
197
+ data
198
+ end
199
+
200
+ # Creates a time entry for a specific project
201
+ # Allows you to create a specific task
202
+ # @param xero_tenant_id [String] Xero identifier for Tenant
203
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
204
+ # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are creating
205
+ # @param [Hash] opts the optional parameters
206
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
207
+ # @return [Array<(TimeEntry, Integer, Hash)>] TimeEntry data, response status code and response headers
208
+ def create_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_create_or_update, options = {})
209
+ opts = options.dup
210
+ if @api_client.config.debugging
211
+ @api_client.config.logger.debug 'Calling API: ProjectApi.create_time_entry ...'
212
+ end
213
+ # verify the required parameter 'xero_tenant_id' is set
214
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
215
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.create_time_entry"
216
+ end
217
+ # verify the required parameter 'project_id' is set
218
+ if @api_client.config.client_side_validation && project_id.nil?
219
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.create_time_entry"
220
+ end
221
+ # verify the required parameter 'time_entry_create_or_update' is set
222
+ if @api_client.config.client_side_validation && time_entry_create_or_update.nil?
223
+ fail ArgumentError, "Missing the required parameter 'time_entry_create_or_update' when calling ProjectApi.create_time_entry"
224
+ end
225
+ # resource path
226
+ local_var_path = '/Projects/{projectId}/Time'.sub('{' + 'projectId' + '}', project_id.to_s)
227
+
228
+ # camelize keys of incoming `where` opts
229
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
230
+
231
+ # query parameters
232
+ query_params = opts[:query_params] || {}
233
+
234
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
235
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
236
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
237
+
238
+ # header parameters
239
+ header_params = opts[:header_params] || {}
240
+ # HTTP header 'Accept' (if needed)
241
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
242
+ # HTTP header 'Content-Type'
243
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
244
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
245
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
246
+
247
+ # form parameters
248
+ form_params = opts[:form_params] || {}
249
+
250
+ # http body (model)
251
+ post_body = opts[:body] || @api_client.object_to_http_body(time_entry_create_or_update)
252
+
253
+ # return_type
254
+ return_type = opts[:return_type] || 'TimeEntry'
255
+
256
+ # auth_names
257
+ auth_names = opts[:auth_names] || ['OAuth2']
258
+
259
+ new_options = opts.merge(
260
+ :header_params => header_params,
261
+ :query_params => query_params,
262
+ :form_params => form_params,
263
+ :body => post_body,
264
+ :auth_names => auth_names,
265
+ :return_type => return_type
266
+ )
267
+
268
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, "ProjectApi", new_options)
269
+ if @api_client.config.debugging
270
+ @api_client.config.logger.debug "API called: ProjectApi#create_time_entry\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
271
+ end
272
+ return data, status_code, headers
273
+ end
274
+
275
+ # Allows you to delete a task
276
+ # Allows you to delete a specific task
277
+ # @param xero_tenant_id [String] Xero identifier for Tenant
278
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
279
+ # @param task_id [String] You can specify an individual task by appending the id to the endpoint
280
+ # @param [Hash] opts the optional parameters
281
+ # @return [nil]
282
+ def delete_task(xero_tenant_id, project_id, task_id, opts = {})
283
+ delete_task_with_http_info(xero_tenant_id, project_id, task_id, opts)
284
+ nil
285
+ end
286
+
287
+ # Allows you to delete a task
288
+ # Allows you to delete a specific task
289
+ # @param xero_tenant_id [String] Xero identifier for Tenant
290
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
291
+ # @param task_id [String] You can specify an individual task by appending the id to the endpoint
292
+ # @param [Hash] opts the optional parameters
293
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
294
+ def delete_task_with_http_info(xero_tenant_id, project_id, task_id, options = {})
295
+ opts = options.dup
296
+ if @api_client.config.debugging
297
+ @api_client.config.logger.debug 'Calling API: ProjectApi.delete_task ...'
298
+ end
299
+ # verify the required parameter 'xero_tenant_id' is set
300
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
301
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.delete_task"
302
+ end
303
+ # verify the required parameter 'project_id' is set
304
+ if @api_client.config.client_side_validation && project_id.nil?
305
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.delete_task"
306
+ end
307
+ # verify the required parameter 'task_id' is set
308
+ if @api_client.config.client_side_validation && task_id.nil?
309
+ fail ArgumentError, "Missing the required parameter 'task_id' when calling ProjectApi.delete_task"
310
+ end
311
+ # resource path
312
+ local_var_path = '/Projects/{projectId}/Tasks/{taskId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'taskId' + '}', task_id.to_s)
313
+
314
+ # camelize keys of incoming `where` opts
315
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
316
+
317
+ # query parameters
318
+ query_params = opts[:query_params] || {}
319
+
320
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
321
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
322
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
323
+
324
+ # header parameters
325
+ header_params = opts[:header_params] || {}
326
+ # HTTP header 'Accept' (if needed)
327
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
328
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
329
+
330
+ # form parameters
331
+ form_params = opts[:form_params] || {}
332
+
333
+ # http body (model)
334
+ post_body = opts[:body]
335
+
336
+ # return_type
337
+ return_type = opts[:return_type]
338
+
339
+ # auth_names
340
+ auth_names = opts[:auth_names] || ['OAuth2']
341
+
342
+ new_options = opts.merge(
343
+ :header_params => header_params,
344
+ :query_params => query_params,
345
+ :form_params => form_params,
346
+ :body => post_body,
347
+ :auth_names => auth_names,
348
+ :return_type => return_type
349
+ )
350
+
351
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, "ProjectApi", new_options)
352
+ if @api_client.config.debugging
353
+ @api_client.config.logger.debug "API called: ProjectApi#delete_task\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
354
+ end
355
+ return data, status_code, headers
356
+ end
357
+
358
+ # Deletes a time entry for a specific project
359
+ # Allows you to delete a specific time entry
360
+ # @param xero_tenant_id [String] Xero identifier for Tenant
361
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
362
+ # @param time_entry_id [String] You can specify an individual task by appending the id to the endpoint
363
+ # @param [Hash] opts the optional parameters
364
+ # @return [nil]
365
+ def delete_time_entry(xero_tenant_id, project_id, time_entry_id, opts = {})
366
+ delete_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, opts)
367
+ nil
368
+ end
369
+
370
+ # Deletes a time entry for a specific project
371
+ # Allows you to delete a specific time entry
372
+ # @param xero_tenant_id [String] Xero identifier for Tenant
373
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
374
+ # @param time_entry_id [String] You can specify an individual task by appending the id to the endpoint
375
+ # @param [Hash] opts the optional parameters
376
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
377
+ def delete_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, options = {})
378
+ opts = options.dup
379
+ if @api_client.config.debugging
380
+ @api_client.config.logger.debug 'Calling API: ProjectApi.delete_time_entry ...'
381
+ end
382
+ # verify the required parameter 'xero_tenant_id' is set
383
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
384
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.delete_time_entry"
385
+ end
386
+ # verify the required parameter 'project_id' is set
387
+ if @api_client.config.client_side_validation && project_id.nil?
388
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.delete_time_entry"
389
+ end
390
+ # verify the required parameter 'time_entry_id' is set
391
+ if @api_client.config.client_side_validation && time_entry_id.nil?
392
+ fail ArgumentError, "Missing the required parameter 'time_entry_id' when calling ProjectApi.delete_time_entry"
393
+ end
394
+ # resource path
395
+ local_var_path = '/Projects/{projectId}/Time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
396
+
397
+ # camelize keys of incoming `where` opts
398
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
399
+
400
+ # query parameters
401
+ query_params = opts[:query_params] || {}
402
+
403
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
404
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
405
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
406
+
407
+ # header parameters
408
+ header_params = opts[:header_params] || {}
409
+ # HTTP header 'Accept' (if needed)
410
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
411
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
412
+
413
+ # form parameters
414
+ form_params = opts[:form_params] || {}
415
+
416
+ # http body (model)
417
+ post_body = opts[:body]
418
+
419
+ # return_type
420
+ return_type = opts[:return_type]
421
+
422
+ # auth_names
423
+ auth_names = opts[:auth_names] || ['OAuth2']
424
+
425
+ new_options = opts.merge(
426
+ :header_params => header_params,
427
+ :query_params => query_params,
428
+ :form_params => form_params,
429
+ :body => post_body,
430
+ :auth_names => auth_names,
431
+ :return_type => return_type
432
+ )
433
+
434
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, "ProjectApi", new_options)
435
+ if @api_client.config.debugging
436
+ @api_client.config.logger.debug "API called: ProjectApi#delete_time_entry\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
437
+ end
438
+ return data, status_code, headers
439
+ end
440
+
441
+ # Retrieves a single project
442
+ # Allows you to retrieve a specific project using the projectId
443
+ # @param xero_tenant_id [String] Xero identifier for Tenant
444
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
445
+ # @param [Hash] opts the optional parameters
446
+ # @return [Project]
447
+ def get_project(xero_tenant_id, project_id, opts = {})
448
+ data, _status_code, _headers = get_project_with_http_info(xero_tenant_id, project_id, opts)
449
+ data
450
+ end
451
+
452
+ # Retrieves a single project
453
+ # Allows you to retrieve a specific project using the projectId
454
+ # @param xero_tenant_id [String] Xero identifier for Tenant
455
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
456
+ # @param [Hash] opts the optional parameters
457
+ # @return [Array<(Project, Integer, Hash)>] Project data, response status code and response headers
458
+ def get_project_with_http_info(xero_tenant_id, project_id, options = {})
459
+ opts = options.dup
460
+ if @api_client.config.debugging
461
+ @api_client.config.logger.debug 'Calling API: ProjectApi.get_project ...'
462
+ end
463
+ # verify the required parameter 'xero_tenant_id' is set
464
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
465
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.get_project"
466
+ end
467
+ # verify the required parameter 'project_id' is set
468
+ if @api_client.config.client_side_validation && project_id.nil?
469
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_project"
470
+ end
471
+ # resource path
472
+ local_var_path = '/Projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
473
+
474
+ # camelize keys of incoming `where` opts
475
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
476
+
477
+ # query parameters
478
+ query_params = opts[:query_params] || {}
479
+
480
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
481
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
482
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
483
+
484
+ # header parameters
485
+ header_params = opts[:header_params] || {}
486
+ # HTTP header 'Accept' (if needed)
487
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
488
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
489
+
490
+ # form parameters
491
+ form_params = opts[:form_params] || {}
492
+
493
+ # http body (model)
494
+ post_body = opts[:body]
495
+
496
+ # return_type
497
+ return_type = opts[:return_type] || 'Project'
498
+
499
+ # auth_names
500
+ auth_names = opts[:auth_names] || ['OAuth2']
501
+
502
+ new_options = opts.merge(
503
+ :header_params => header_params,
504
+ :query_params => query_params,
505
+ :form_params => form_params,
506
+ :body => post_body,
507
+ :auth_names => auth_names,
508
+ :return_type => return_type
509
+ )
510
+
511
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "ProjectApi", new_options)
512
+ if @api_client.config.debugging
513
+ @api_client.config.logger.debug "API called: ProjectApi#get_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
514
+ end
515
+ return data, status_code, headers
516
+ end
517
+
518
+ # Retrieves a list of all project users
519
+ # Allows you to retrieve the users on a projects.
520
+ # @param xero_tenant_id [String] Xero identifier for Tenant
521
+ # @param [Hash] opts the optional parameters
522
+ # @option opts [Integer] :page set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0. (default to 1)
523
+ # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500. (default to 50)
524
+ # @return [ProjectUsers]
525
+ def get_project_users(xero_tenant_id, opts = {})
526
+ data, _status_code, _headers = get_project_users_with_http_info(xero_tenant_id, opts)
527
+ data
528
+ end
529
+
530
+ # Retrieves a list of all project users
531
+ # Allows you to retrieve the users on a projects.
532
+ # @param xero_tenant_id [String] Xero identifier for Tenant
533
+ # @param [Hash] opts the optional parameters
534
+ # @option opts [Integer] :page set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
535
+ # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
536
+ # @return [Array<(ProjectUsers, Integer, Hash)>] ProjectUsers data, response status code and response headers
537
+ def get_project_users_with_http_info(xero_tenant_id, options = {})
538
+ opts = options.dup
539
+ if @api_client.config.debugging
540
+ @api_client.config.logger.debug 'Calling API: ProjectApi.get_project_users ...'
541
+ end
542
+ # verify the required parameter 'xero_tenant_id' is set
543
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
544
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.get_project_users"
545
+ end
546
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 500
547
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProjectApi.get_project_users, must be smaller than or equal to 500.'
548
+ end
549
+
550
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
551
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProjectApi.get_project_users, must be greater than or equal to 1.'
552
+ end
553
+
554
+ # resource path
555
+ local_var_path = '/ProjectsUsers'
556
+
557
+ # camelize keys of incoming `where` opts
558
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
559
+
560
+ # query parameters
561
+ query_params = opts[:query_params] || {}
562
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
563
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
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] || 'ProjectUsers'
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, "ProjectApi", new_options)
597
+ if @api_client.config.debugging
598
+ @api_client.config.logger.debug "API called: ProjectApi#get_project_users\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
599
+ end
600
+ return data, status_code, headers
601
+ end
602
+
603
+ # Retrieves all projects
604
+ # Allows you to retrieve, create and update projects.
605
+ # @param xero_tenant_id [String] Xero identifier for Tenant
606
+ # @param [Hash] opts the optional parameters
607
+ # @option opts [Array<String>] :project_ids Search for all projects that match a comma separated list of projectIds
608
+ # @option opts [String] :contact_id Filter for projects for a specific contact
609
+ # @option opts [String] :states Filter for projects in a particular state (INPROGRESS or CLOSED)
610
+ # @option opts [Integer] :page set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0. (default to 1)
611
+ # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500. (default to 50)
612
+ # @return [Projects]
613
+ def get_projects(xero_tenant_id, opts = {})
614
+ data, _status_code, _headers = get_projects_with_http_info(xero_tenant_id, opts)
615
+ data
616
+ end
617
+
618
+ # Retrieves all projects
619
+ # Allows you to retrieve, create and update projects.
620
+ # @param xero_tenant_id [String] Xero identifier for Tenant
621
+ # @param [Hash] opts the optional parameters
622
+ # @option opts [Array<String>] :project_ids Search for all projects that match a comma separated list of projectIds
623
+ # @option opts [String] :contact_id Filter for projects for a specific contact
624
+ # @option opts [String] :states Filter for projects in a particular state (INPROGRESS or CLOSED)
625
+ # @option opts [Integer] :page set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
626
+ # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
627
+ # @return [Array<(Projects, Integer, Hash)>] Projects data, response status code and response headers
628
+ def get_projects_with_http_info(xero_tenant_id, options = {})
629
+ opts = options.dup
630
+ if @api_client.config.debugging
631
+ @api_client.config.logger.debug 'Calling API: ProjectApi.get_projects ...'
632
+ end
633
+ # verify the required parameter 'xero_tenant_id' is set
634
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
635
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.get_projects"
636
+ end
637
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 500
638
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProjectApi.get_projects, must be smaller than or equal to 500.'
639
+ end
640
+
641
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
642
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling ProjectApi.get_projects, must be greater than or equal to 1.'
643
+ end
644
+
645
+ # resource path
646
+ local_var_path = '/Projects'
647
+
648
+ # camelize keys of incoming `where` opts
649
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
650
+
651
+ # query parameters
652
+ query_params = opts[:query_params] || {}
653
+ query_params[:'projectIds'] = @api_client.build_collection_param(opts[:'project_ids'], :multi) if !opts[:'project_ids'].nil?
654
+ query_params[:'contactID'] = opts[:'contact_id'] if !opts[:'contact_id'].nil?
655
+ query_params[:'states'] = opts[:'states'] if !opts[:'states'].nil?
656
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
657
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
658
+
659
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
660
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
661
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
662
+
663
+ # header parameters
664
+ header_params = opts[:header_params] || {}
665
+ # HTTP header 'Accept' (if needed)
666
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
667
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
668
+
669
+ # form parameters
670
+ form_params = opts[:form_params] || {}
671
+
672
+ # http body (model)
673
+ post_body = opts[:body]
674
+
675
+ # return_type
676
+ return_type = opts[:return_type] || 'Projects'
677
+
678
+ # auth_names
679
+ auth_names = opts[:auth_names] || ['OAuth2']
680
+
681
+ new_options = opts.merge(
682
+ :header_params => header_params,
683
+ :query_params => query_params,
684
+ :form_params => form_params,
685
+ :body => post_body,
686
+ :auth_names => auth_names,
687
+ :return_type => return_type
688
+ )
689
+
690
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "ProjectApi", new_options)
691
+ if @api_client.config.debugging
692
+ @api_client.config.logger.debug "API called: ProjectApi#get_projects\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
693
+ end
694
+ return data, status_code, headers
695
+ end
696
+
697
+ # Retrieves a single project task
698
+ # Allows you to retrieve a specific project
699
+ # @param xero_tenant_id [String] Xero identifier for Tenant
700
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
701
+ # @param task_id [String] You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskID}
702
+ # @param [Hash] opts the optional parameters
703
+ # @return [Task]
704
+ def get_task(xero_tenant_id, project_id, task_id, opts = {})
705
+ data, _status_code, _headers = get_task_with_http_info(xero_tenant_id, project_id, task_id, opts)
706
+ data
707
+ end
708
+
709
+ # Retrieves a single project task
710
+ # Allows you to retrieve a specific project
711
+ # @param xero_tenant_id [String] Xero identifier for Tenant
712
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
713
+ # @param task_id [String] You can specify an individual task by appending the taskId to the endpoint, i.e. GET https://.../tasks/{taskID}
714
+ # @param [Hash] opts the optional parameters
715
+ # @return [Array<(Task, Integer, Hash)>] Task data, response status code and response headers
716
+ def get_task_with_http_info(xero_tenant_id, project_id, task_id, options = {})
717
+ opts = options.dup
718
+ if @api_client.config.debugging
719
+ @api_client.config.logger.debug 'Calling API: ProjectApi.get_task ...'
720
+ end
721
+ # verify the required parameter 'xero_tenant_id' is set
722
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
723
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.get_task"
724
+ end
725
+ # verify the required parameter 'project_id' is set
726
+ if @api_client.config.client_side_validation && project_id.nil?
727
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_task"
728
+ end
729
+ # verify the required parameter 'task_id' is set
730
+ if @api_client.config.client_side_validation && task_id.nil?
731
+ fail ArgumentError, "Missing the required parameter 'task_id' when calling ProjectApi.get_task"
732
+ end
733
+ # resource path
734
+ local_var_path = '/Projects/{projectId}/Tasks/{taskId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'taskId' + '}', task_id.to_s)
735
+
736
+ # camelize keys of incoming `where` opts
737
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
738
+
739
+ # query parameters
740
+ query_params = opts[:query_params] || {}
741
+
742
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
743
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
744
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
745
+
746
+ # header parameters
747
+ header_params = opts[:header_params] || {}
748
+ # HTTP header 'Accept' (if needed)
749
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
750
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
751
+
752
+ # form parameters
753
+ form_params = opts[:form_params] || {}
754
+
755
+ # http body (model)
756
+ post_body = opts[:body]
757
+
758
+ # return_type
759
+ return_type = opts[:return_type] || 'Task'
760
+
761
+ # auth_names
762
+ auth_names = opts[:auth_names] || ['OAuth2']
763
+
764
+ new_options = opts.merge(
765
+ :header_params => header_params,
766
+ :query_params => query_params,
767
+ :form_params => form_params,
768
+ :body => post_body,
769
+ :auth_names => auth_names,
770
+ :return_type => return_type
771
+ )
772
+
773
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "ProjectApi", new_options)
774
+ if @api_client.config.debugging
775
+ @api_client.config.logger.debug "API called: ProjectApi#get_task\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
776
+ end
777
+ return data, status_code, headers
778
+ end
779
+
780
+ # Retrieves all project tasks
781
+ # Allows you to retrieve a specific project
782
+ # @param xero_tenant_id [String] Xero identifier for Tenant
783
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
784
+ # @param [Hash] opts the optional parameters
785
+ # @option opts [Integer] :page Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
786
+ # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
787
+ # @option opts [String] :task_ids Search for all tasks that match a comma separated list of taskIds, i.e. GET https://.../tasks?taskIds&#x3D;{taskID},{taskID}
788
+ # @option opts [ChargeType] :charge_type
789
+ # @return [Tasks]
790
+ def get_tasks(xero_tenant_id, project_id, opts = {})
791
+ data, _status_code, _headers = get_tasks_with_http_info(xero_tenant_id, project_id, opts)
792
+ data
793
+ end
794
+
795
+ # Retrieves all project tasks
796
+ # Allows you to retrieve a specific project
797
+ # @param xero_tenant_id [String] Xero identifier for Tenant
798
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
799
+ # @param [Hash] opts the optional parameters
800
+ # @option opts [Integer] :page Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
801
+ # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
802
+ # @option opts [String] :task_ids Search for all tasks that match a comma separated list of taskIds, i.e. GET https://.../tasks?taskIds&#x3D;{taskID},{taskID}
803
+ # @option opts [ChargeType] :charge_type
804
+ # @return [Array<(Tasks, Integer, Hash)>] Tasks data, response status code and response headers
805
+ def get_tasks_with_http_info(xero_tenant_id, project_id, options = {})
806
+ opts = options.dup
807
+ if @api_client.config.debugging
808
+ @api_client.config.logger.debug 'Calling API: ProjectApi.get_tasks ...'
809
+ end
810
+ # verify the required parameter 'xero_tenant_id' is set
811
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
812
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.get_tasks"
813
+ end
814
+ # verify the required parameter 'project_id' is set
815
+ if @api_client.config.client_side_validation && project_id.nil?
816
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_tasks"
817
+ end
818
+ # resource path
819
+ local_var_path = '/Projects/{projectId}/Tasks'.sub('{' + 'projectId' + '}', project_id.to_s)
820
+
821
+ # camelize keys of incoming `where` opts
822
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
823
+
824
+ # query parameters
825
+ query_params = opts[:query_params] || {}
826
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
827
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
828
+ query_params[:'taskIds'] = opts[:'task_ids'] if !opts[:'task_ids'].nil?
829
+ query_params[:'chargeType'] = opts[:'charge_type'] if !opts[:'charge_type'].nil?
830
+
831
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
832
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
833
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
834
+
835
+ # header parameters
836
+ header_params = opts[:header_params] || {}
837
+ # HTTP header 'Accept' (if needed)
838
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
839
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
840
+
841
+ # form parameters
842
+ form_params = opts[:form_params] || {}
843
+
844
+ # http body (model)
845
+ post_body = opts[:body]
846
+
847
+ # return_type
848
+ return_type = opts[:return_type] || 'Tasks'
849
+
850
+ # auth_names
851
+ auth_names = opts[:auth_names] || ['OAuth2']
852
+
853
+ new_options = opts.merge(
854
+ :header_params => header_params,
855
+ :query_params => query_params,
856
+ :form_params => form_params,
857
+ :body => post_body,
858
+ :auth_names => auth_names,
859
+ :return_type => return_type
860
+ )
861
+
862
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "ProjectApi", new_options)
863
+ if @api_client.config.debugging
864
+ @api_client.config.logger.debug "API called: ProjectApi#get_tasks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
865
+ end
866
+ return data, status_code, headers
867
+ end
868
+
869
+ # Retrieves all time entries associated with a specific project
870
+ # Allows you to retrieve the time entries associated with a specific project
871
+ # @param xero_tenant_id [String] Xero identifier for Tenant
872
+ # @param project_id [String] Identifier of the project, that the task (which the time entry is logged against) belongs to.
873
+ # @param [Hash] opts the optional parameters
874
+ # @option opts [String] :user_id The xero user identifier of the person who logged time.
875
+ # @option opts [String] :task_id Identifier of the task that time entry is logged against.
876
+ # @option opts [String] :invoice_id Finds all time entries for this invoice.
877
+ # @option opts [String] :contact_id Finds all time entries for this contact identifier.
878
+ # @option opts [Integer] :page Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
879
+ # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
880
+ # @option opts [Array<String>] :states Comma-separated list of states to find. Will find all time entries that are in the status of whatever is specified.
881
+ # @option opts [Boolean] :is_chargeable Finds all time entries which relate to tasks with the charge type &#x60;TIME&#x60; or &#x60;FIXED&#x60;.
882
+ # @option opts [DateTime] :date_after_utc ISO 8601 UTC date. Finds all time entries on or after this date filtered on the &#x60;dateUtc&#x60; field.
883
+ # @option opts [DateTime] :date_before_utc ISO 8601 UTC date. Finds all time entries on or before this date filtered on the &#x60;dateUtc&#x60; field.
884
+ # @return [TimeEntries]
885
+ def get_time_entries(xero_tenant_id, project_id, opts = {})
886
+ data, _status_code, _headers = get_time_entries_with_http_info(xero_tenant_id, project_id, opts)
887
+ data
888
+ end
889
+
890
+ # Retrieves all time entries associated with a specific project
891
+ # Allows you to retrieve the time entries associated with a specific project
892
+ # @param xero_tenant_id [String] Xero identifier for Tenant
893
+ # @param project_id [String] Identifier of the project, that the task (which the time entry is logged against) belongs to.
894
+ # @param [Hash] opts the optional parameters
895
+ # @option opts [String] :user_id The xero user identifier of the person who logged time.
896
+ # @option opts [String] :task_id Identifier of the task that time entry is logged against.
897
+ # @option opts [String] :invoice_id Finds all time entries for this invoice.
898
+ # @option opts [String] :contact_id Finds all time entries for this contact identifier.
899
+ # @option opts [Integer] :page Set to 1 by default. The requested number of the page in paged response - Must be a number greater than 0.
900
+ # @option opts [Integer] :page_size Optional, it is set to 50 by default. The number of items to return per page in a paged response - Must be a number between 1 and 500.
901
+ # @option opts [Array<String>] :states Comma-separated list of states to find. Will find all time entries that are in the status of whatever is specified.
902
+ # @option opts [Boolean] :is_chargeable Finds all time entries which relate to tasks with the charge type &#x60;TIME&#x60; or &#x60;FIXED&#x60;.
903
+ # @option opts [DateTime] :date_after_utc ISO 8601 UTC date. Finds all time entries on or after this date filtered on the &#x60;dateUtc&#x60; field.
904
+ # @option opts [DateTime] :date_before_utc ISO 8601 UTC date. Finds all time entries on or before this date filtered on the &#x60;dateUtc&#x60; field.
905
+ # @return [Array<(TimeEntries, Integer, Hash)>] TimeEntries data, response status code and response headers
906
+ def get_time_entries_with_http_info(xero_tenant_id, project_id, options = {})
907
+ opts = options.dup
908
+ if @api_client.config.debugging
909
+ @api_client.config.logger.debug 'Calling API: ProjectApi.get_time_entries ...'
910
+ end
911
+ # verify the required parameter 'xero_tenant_id' is set
912
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
913
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.get_time_entries"
914
+ end
915
+ # verify the required parameter 'project_id' is set
916
+ if @api_client.config.client_side_validation && project_id.nil?
917
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_time_entries"
918
+ end
919
+ # resource path
920
+ local_var_path = '/Projects/{projectId}/Time'.sub('{' + 'projectId' + '}', project_id.to_s)
921
+
922
+ # camelize keys of incoming `where` opts
923
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
924
+
925
+ # query parameters
926
+ query_params = opts[:query_params] || {}
927
+ query_params[:'userId'] = opts[:'user_id'] if !opts[:'user_id'].nil?
928
+ query_params[:'taskId'] = opts[:'task_id'] if !opts[:'task_id'].nil?
929
+ query_params[:'invoiceId'] = opts[:'invoice_id'] if !opts[:'invoice_id'].nil?
930
+ query_params[:'contactId'] = opts[:'contact_id'] if !opts[:'contact_id'].nil?
931
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
932
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
933
+ query_params[:'states'] = @api_client.build_collection_param(opts[:'states'], :multi) if !opts[:'states'].nil?
934
+ query_params[:'isChargeable'] = opts[:'is_chargeable'] if !opts[:'is_chargeable'].nil?
935
+ query_params[:'dateAfterUtc'] = opts[:'date_after_utc'] if !opts[:'date_after_utc'].nil?
936
+ query_params[:'dateBeforeUtc'] = opts[:'date_before_utc'] if !opts[:'date_before_utc'].nil?
937
+
938
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
939
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
940
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
941
+
942
+ # header parameters
943
+ header_params = opts[:header_params] || {}
944
+ # HTTP header 'Accept' (if needed)
945
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
946
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
947
+
948
+ # form parameters
949
+ form_params = opts[:form_params] || {}
950
+
951
+ # http body (model)
952
+ post_body = opts[:body]
953
+
954
+ # return_type
955
+ return_type = opts[:return_type] || 'TimeEntries'
956
+
957
+ # auth_names
958
+ auth_names = opts[:auth_names] || ['OAuth2']
959
+
960
+ new_options = opts.merge(
961
+ :header_params => header_params,
962
+ :query_params => query_params,
963
+ :form_params => form_params,
964
+ :body => post_body,
965
+ :auth_names => auth_names,
966
+ :return_type => return_type
967
+ )
968
+
969
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "ProjectApi", new_options)
970
+ if @api_client.config.debugging
971
+ @api_client.config.logger.debug "API called: ProjectApi#get_time_entries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
972
+ end
973
+ return data, status_code, headers
974
+ end
975
+
976
+ # Retrieves a single time entry for a specific project
977
+ # Allows you to get a single time entry in a project
978
+ # @param xero_tenant_id [String] Xero identifier for Tenant
979
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
980
+ # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
981
+ # @param [Hash] opts the optional parameters
982
+ # @return [TimeEntry]
983
+ def get_time_entry(xero_tenant_id, project_id, time_entry_id, opts = {})
984
+ data, _status_code, _headers = get_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, opts)
985
+ data
986
+ end
987
+
988
+ # Retrieves a single time entry for a specific project
989
+ # Allows you to get a single time entry in a project
990
+ # @param xero_tenant_id [String] Xero identifier for Tenant
991
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
992
+ # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
993
+ # @param [Hash] opts the optional parameters
994
+ # @return [Array<(TimeEntry, Integer, Hash)>] TimeEntry data, response status code and response headers
995
+ def get_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, options = {})
996
+ opts = options.dup
997
+ if @api_client.config.debugging
998
+ @api_client.config.logger.debug 'Calling API: ProjectApi.get_time_entry ...'
999
+ end
1000
+ # verify the required parameter 'xero_tenant_id' is set
1001
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1002
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.get_time_entry"
1003
+ end
1004
+ # verify the required parameter 'project_id' is set
1005
+ if @api_client.config.client_side_validation && project_id.nil?
1006
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.get_time_entry"
1007
+ end
1008
+ # verify the required parameter 'time_entry_id' is set
1009
+ if @api_client.config.client_side_validation && time_entry_id.nil?
1010
+ fail ArgumentError, "Missing the required parameter 'time_entry_id' when calling ProjectApi.get_time_entry"
1011
+ end
1012
+ # resource path
1013
+ local_var_path = '/Projects/{projectId}/Time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
1014
+
1015
+ # camelize keys of incoming `where` opts
1016
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1017
+
1018
+ # query parameters
1019
+ query_params = opts[:query_params] || {}
1020
+
1021
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1022
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1023
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1024
+
1025
+ # header parameters
1026
+ header_params = opts[:header_params] || {}
1027
+ # HTTP header 'Accept' (if needed)
1028
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1029
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1030
+
1031
+ # form parameters
1032
+ form_params = opts[:form_params] || {}
1033
+
1034
+ # http body (model)
1035
+ post_body = opts[:body]
1036
+
1037
+ # return_type
1038
+ return_type = opts[:return_type] || 'TimeEntry'
1039
+
1040
+ # auth_names
1041
+ auth_names = opts[:auth_names] || ['OAuth2']
1042
+
1043
+ new_options = opts.merge(
1044
+ :header_params => header_params,
1045
+ :query_params => query_params,
1046
+ :form_params => form_params,
1047
+ :body => post_body,
1048
+ :auth_names => auth_names,
1049
+ :return_type => return_type
1050
+ )
1051
+
1052
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, "ProjectApi", new_options)
1053
+ if @api_client.config.debugging
1054
+ @api_client.config.logger.debug "API called: ProjectApi#get_time_entry\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1055
+ end
1056
+ return data, status_code, headers
1057
+ end
1058
+
1059
+ # creates a project for the specified contact
1060
+ # Allows you to update a specific projects.
1061
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1062
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1063
+ # @param project_patch [ProjectPatch] Update the status of an existing Project
1064
+ # @param [Hash] opts the optional parameters
1065
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1066
+ # @return [nil]
1067
+ def patch_project(xero_tenant_id, project_id, project_patch, opts = {})
1068
+ patch_project_with_http_info(xero_tenant_id, project_id, project_patch, opts)
1069
+ nil
1070
+ end
1071
+
1072
+ # creates a project for the specified contact
1073
+ # Allows you to update a specific projects.
1074
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1075
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1076
+ # @param project_patch [ProjectPatch] Update the status of an existing Project
1077
+ # @param [Hash] opts the optional parameters
1078
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1079
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1080
+ def patch_project_with_http_info(xero_tenant_id, project_id, project_patch, options = {})
1081
+ opts = options.dup
1082
+ if @api_client.config.debugging
1083
+ @api_client.config.logger.debug 'Calling API: ProjectApi.patch_project ...'
1084
+ end
1085
+ # verify the required parameter 'xero_tenant_id' is set
1086
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1087
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.patch_project"
1088
+ end
1089
+ # verify the required parameter 'project_id' is set
1090
+ if @api_client.config.client_side_validation && project_id.nil?
1091
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.patch_project"
1092
+ end
1093
+ # verify the required parameter 'project_patch' is set
1094
+ if @api_client.config.client_side_validation && project_patch.nil?
1095
+ fail ArgumentError, "Missing the required parameter 'project_patch' when calling ProjectApi.patch_project"
1096
+ end
1097
+ # resource path
1098
+ local_var_path = '/Projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
1099
+
1100
+ # camelize keys of incoming `where` opts
1101
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1102
+
1103
+ # query parameters
1104
+ query_params = opts[:query_params] || {}
1105
+
1106
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1107
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1108
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1109
+
1110
+ # header parameters
1111
+ header_params = opts[:header_params] || {}
1112
+ # HTTP header 'Accept' (if needed)
1113
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1114
+ # HTTP header 'Content-Type'
1115
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1116
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1117
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1118
+
1119
+ # form parameters
1120
+ form_params = opts[:form_params] || {}
1121
+
1122
+ # http body (model)
1123
+ post_body = opts[:body] || @api_client.object_to_http_body(project_patch)
1124
+
1125
+ # return_type
1126
+ return_type = opts[:return_type]
1127
+
1128
+ # auth_names
1129
+ auth_names = opts[:auth_names] || ['OAuth2']
1130
+
1131
+ new_options = opts.merge(
1132
+ :header_params => header_params,
1133
+ :query_params => query_params,
1134
+ :form_params => form_params,
1135
+ :body => post_body,
1136
+ :auth_names => auth_names,
1137
+ :return_type => return_type
1138
+ )
1139
+
1140
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, "ProjectApi", new_options)
1141
+ if @api_client.config.debugging
1142
+ @api_client.config.logger.debug "API called: ProjectApi#patch_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1143
+ end
1144
+ return data, status_code, headers
1145
+ end
1146
+
1147
+ # Updates a specific project
1148
+ # Allows you to update a specific projects.
1149
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1150
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1151
+ # @param project_create_or_update [ProjectCreateOrUpdate] Request of type ProjectCreateOrUpdate
1152
+ # @param [Hash] opts the optional parameters
1153
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1154
+ # @return [nil]
1155
+ def update_project(xero_tenant_id, project_id, project_create_or_update, opts = {})
1156
+ update_project_with_http_info(xero_tenant_id, project_id, project_create_or_update, opts)
1157
+ nil
1158
+ end
1159
+
1160
+ # Updates a specific project
1161
+ # Allows you to update a specific projects.
1162
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1163
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1164
+ # @param project_create_or_update [ProjectCreateOrUpdate] Request of type ProjectCreateOrUpdate
1165
+ # @param [Hash] opts the optional parameters
1166
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1167
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1168
+ def update_project_with_http_info(xero_tenant_id, project_id, project_create_or_update, options = {})
1169
+ opts = options.dup
1170
+ if @api_client.config.debugging
1171
+ @api_client.config.logger.debug 'Calling API: ProjectApi.update_project ...'
1172
+ end
1173
+ # verify the required parameter 'xero_tenant_id' is set
1174
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1175
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.update_project"
1176
+ end
1177
+ # verify the required parameter 'project_id' is set
1178
+ if @api_client.config.client_side_validation && project_id.nil?
1179
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.update_project"
1180
+ end
1181
+ # verify the required parameter 'project_create_or_update' is set
1182
+ if @api_client.config.client_side_validation && project_create_or_update.nil?
1183
+ fail ArgumentError, "Missing the required parameter 'project_create_or_update' when calling ProjectApi.update_project"
1184
+ end
1185
+ # resource path
1186
+ local_var_path = '/Projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
1187
+
1188
+ # camelize keys of incoming `where` opts
1189
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1190
+
1191
+ # query parameters
1192
+ query_params = opts[:query_params] || {}
1193
+
1194
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1195
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1196
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1197
+
1198
+ # header parameters
1199
+ header_params = opts[:header_params] || {}
1200
+ # HTTP header 'Accept' (if needed)
1201
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1202
+ # HTTP header 'Content-Type'
1203
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1204
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1205
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1206
+
1207
+ # form parameters
1208
+ form_params = opts[:form_params] || {}
1209
+
1210
+ # http body (model)
1211
+ post_body = opts[:body] || @api_client.object_to_http_body(project_create_or_update)
1212
+
1213
+ # return_type
1214
+ return_type = opts[:return_type]
1215
+
1216
+ # auth_names
1217
+ auth_names = opts[:auth_names] || ['OAuth2']
1218
+
1219
+ new_options = opts.merge(
1220
+ :header_params => header_params,
1221
+ :query_params => query_params,
1222
+ :form_params => form_params,
1223
+ :body => post_body,
1224
+ :auth_names => auth_names,
1225
+ :return_type => return_type
1226
+ )
1227
+
1228
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, "ProjectApi", new_options)
1229
+ if @api_client.config.debugging
1230
+ @api_client.config.logger.debug "API called: ProjectApi#update_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1231
+ end
1232
+ return data, status_code, headers
1233
+ end
1234
+
1235
+ # Allows you to update a task
1236
+ # Allows you to update a specific task
1237
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1238
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1239
+ # @param task_id [String] You can specify an individual task by appending the id to the endpoint
1240
+ # @param task_create_or_update [TaskCreateOrUpdate] The task object you are updating
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 [nil]
1244
+ def update_task(xero_tenant_id, project_id, task_id, task_create_or_update, opts = {})
1245
+ update_task_with_http_info(xero_tenant_id, project_id, task_id, task_create_or_update, opts)
1246
+ nil
1247
+ end
1248
+
1249
+ # Allows you to update a task
1250
+ # Allows you to update a specific task
1251
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1252
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1253
+ # @param task_id [String] You can specify an individual task by appending the id to the endpoint
1254
+ # @param task_create_or_update [TaskCreateOrUpdate] The task object you are updating
1255
+ # @param [Hash] opts the optional parameters
1256
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1257
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1258
+ def update_task_with_http_info(xero_tenant_id, project_id, task_id, task_create_or_update, options = {})
1259
+ opts = options.dup
1260
+ if @api_client.config.debugging
1261
+ @api_client.config.logger.debug 'Calling API: ProjectApi.update_task ...'
1262
+ end
1263
+ # verify the required parameter 'xero_tenant_id' is set
1264
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1265
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.update_task"
1266
+ end
1267
+ # verify the required parameter 'project_id' is set
1268
+ if @api_client.config.client_side_validation && project_id.nil?
1269
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.update_task"
1270
+ end
1271
+ # verify the required parameter 'task_id' is set
1272
+ if @api_client.config.client_side_validation && task_id.nil?
1273
+ fail ArgumentError, "Missing the required parameter 'task_id' when calling ProjectApi.update_task"
1274
+ end
1275
+ # verify the required parameter 'task_create_or_update' is set
1276
+ if @api_client.config.client_side_validation && task_create_or_update.nil?
1277
+ fail ArgumentError, "Missing the required parameter 'task_create_or_update' when calling ProjectApi.update_task"
1278
+ end
1279
+ # resource path
1280
+ local_var_path = '/Projects/{projectId}/Tasks/{taskId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'taskId' + '}', task_id.to_s)
1281
+
1282
+ # camelize keys of incoming `where` opts
1283
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1284
+
1285
+ # query parameters
1286
+ query_params = opts[:query_params] || {}
1287
+
1288
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1289
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1290
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1291
+
1292
+ # header parameters
1293
+ header_params = opts[:header_params] || {}
1294
+ # HTTP header 'Accept' (if needed)
1295
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1296
+ # HTTP header 'Content-Type'
1297
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1298
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1299
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1300
+
1301
+ # form parameters
1302
+ form_params = opts[:form_params] || {}
1303
+
1304
+ # http body (model)
1305
+ post_body = opts[:body] || @api_client.object_to_http_body(task_create_or_update)
1306
+
1307
+ # return_type
1308
+ return_type = opts[:return_type]
1309
+
1310
+ # auth_names
1311
+ auth_names = opts[:auth_names] || ['OAuth2']
1312
+
1313
+ new_options = opts.merge(
1314
+ :header_params => header_params,
1315
+ :query_params => query_params,
1316
+ :form_params => form_params,
1317
+ :body => post_body,
1318
+ :auth_names => auth_names,
1319
+ :return_type => return_type
1320
+ )
1321
+
1322
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, "ProjectApi", new_options)
1323
+ if @api_client.config.debugging
1324
+ @api_client.config.logger.debug "API called: ProjectApi#update_task\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1325
+ end
1326
+ return data, status_code, headers
1327
+ end
1328
+
1329
+ # Updates a time entry for a specific project
1330
+ # Allows you to update time entry in a project
1331
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1332
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1333
+ # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
1334
+ # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are updating
1335
+ # @param [Hash] opts the optional parameters
1336
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1337
+ # @return [nil]
1338
+ def update_time_entry(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update, opts = {})
1339
+ update_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update, opts)
1340
+ nil
1341
+ end
1342
+
1343
+ # Updates a time entry for a specific project
1344
+ # Allows you to update time entry in a project
1345
+ # @param xero_tenant_id [String] Xero identifier for Tenant
1346
+ # @param project_id [String] You can specify an individual project by appending the projectId to the endpoint
1347
+ # @param time_entry_id [String] You can specify an individual time entry by appending the id to the endpoint
1348
+ # @param time_entry_create_or_update [TimeEntryCreateOrUpdate] The time entry object you are updating
1349
+ # @param [Hash] opts the optional parameters
1350
+ # @option opts [String] :idempotency_key This allows you to safely retry requests without the risk of duplicate processing. 128 character max.
1351
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1352
+ def update_time_entry_with_http_info(xero_tenant_id, project_id, time_entry_id, time_entry_create_or_update, options = {})
1353
+ opts = options.dup
1354
+ if @api_client.config.debugging
1355
+ @api_client.config.logger.debug 'Calling API: ProjectApi.update_time_entry ...'
1356
+ end
1357
+ # verify the required parameter 'xero_tenant_id' is set
1358
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
1359
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling ProjectApi.update_time_entry"
1360
+ end
1361
+ # verify the required parameter 'project_id' is set
1362
+ if @api_client.config.client_side_validation && project_id.nil?
1363
+ fail ArgumentError, "Missing the required parameter 'project_id' when calling ProjectApi.update_time_entry"
1364
+ end
1365
+ # verify the required parameter 'time_entry_id' is set
1366
+ if @api_client.config.client_side_validation && time_entry_id.nil?
1367
+ fail ArgumentError, "Missing the required parameter 'time_entry_id' when calling ProjectApi.update_time_entry"
1368
+ end
1369
+ # verify the required parameter 'time_entry_create_or_update' is set
1370
+ if @api_client.config.client_side_validation && time_entry_create_or_update.nil?
1371
+ fail ArgumentError, "Missing the required parameter 'time_entry_create_or_update' when calling ProjectApi.update_time_entry"
1372
+ end
1373
+ # resource path
1374
+ local_var_path = '/Projects/{projectId}/Time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
1375
+
1376
+ # camelize keys of incoming `where` opts
1377
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1378
+
1379
+ # query parameters
1380
+ query_params = opts[:query_params] || {}
1381
+
1382
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1383
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1384
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1385
+
1386
+ # header parameters
1387
+ header_params = opts[:header_params] || {}
1388
+ # HTTP header 'Accept' (if needed)
1389
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1390
+ # HTTP header 'Content-Type'
1391
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1392
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
1393
+ header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil?
1394
+
1395
+ # form parameters
1396
+ form_params = opts[:form_params] || {}
1397
+
1398
+ # http body (model)
1399
+ post_body = opts[:body] || @api_client.object_to_http_body(time_entry_create_or_update)
1400
+
1401
+ # return_type
1402
+ return_type = opts[:return_type]
1403
+
1404
+ # auth_names
1405
+ auth_names = opts[:auth_names] || ['OAuth2']
1406
+
1407
+ new_options = opts.merge(
1408
+ :header_params => header_params,
1409
+ :query_params => query_params,
1410
+ :form_params => form_params,
1411
+ :body => post_body,
1412
+ :auth_names => auth_names,
1413
+ :return_type => return_type
1414
+ )
1415
+
1416
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, "ProjectApi", new_options)
1417
+ if @api_client.config.debugging
1418
+ @api_client.config.logger.debug "API called: ProjectApi#update_time_entry\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1419
+ end
1420
+ return data, status_code, headers
1421
+ end
1422
+ end
1423
+ end