xero-ruby 0.2.4 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +76 -0
  3. data/CONTRIBUTING.md +82 -0
  4. data/Gemfile.lock +68 -0
  5. data/LICENSE +21 -0
  6. data/README.md +155 -436
  7. data/build_notes.md +17 -0
  8. data/docs/{Account.md → accounting/Account.md} +3 -3
  9. data/docs/accounting/AccountType.md +16 -0
  10. data/docs/{AccountingApi.md → accounting/AccountingApi.md} +4990 -1787
  11. data/docs/{Accounts.md → accounting/Accounts.md} +3 -3
  12. data/docs/{AccountsPayable.md → accounting/AccountsPayable.md} +3 -3
  13. data/docs/{AccountsReceivable.md → accounting/AccountsReceivable.md} +3 -3
  14. data/docs/{Address.md → accounting/Address.md} +3 -3
  15. data/docs/accounting/Allocation.md +31 -0
  16. data/docs/{Allocations.md → accounting/Allocations.md} +3 -3
  17. data/docs/{Attachment.md → accounting/Attachment.md} +3 -3
  18. data/docs/{Attachments.md → accounting/Attachments.md} +3 -3
  19. data/docs/{Balances.md → accounting/Balances.md} +3 -3
  20. data/docs/{BankTransaction.md → accounting/BankTransaction.md} +3 -3
  21. data/docs/{BankTransactions.md → accounting/BankTransactions.md} +3 -3
  22. data/docs/{BankTransfer.md → accounting/BankTransfer.md} +4 -4
  23. data/docs/{BankTransfers.md → accounting/BankTransfers.md} +3 -3
  24. data/docs/{BatchPayment.md → accounting/BatchPayment.md} +4 -4
  25. data/docs/{BatchPaymentDetails.md → accounting/BatchPaymentDetails.md} +3 -3
  26. data/docs/{BatchPayments.md → accounting/BatchPayments.md} +3 -3
  27. data/docs/{Bill.md → accounting/Bill.md} +3 -3
  28. data/docs/{BrandingTheme.md → accounting/BrandingTheme.md} +3 -3
  29. data/docs/{BrandingThemes.md → accounting/BrandingThemes.md} +3 -3
  30. data/docs/{CISOrgSetting.md → accounting/CISOrgSetting.md} +3 -3
  31. data/docs/{CISSetting.md → accounting/CISSetting.md} +3 -3
  32. data/docs/{CISSettings.md → accounting/CISSettings.md} +3 -3
  33. data/docs/{Contact.md → accounting/Contact.md} +5 -5
  34. data/docs/{ContactGroup.md → accounting/ContactGroup.md} +3 -3
  35. data/docs/{ContactGroups.md → accounting/ContactGroups.md} +3 -3
  36. data/docs/{ContactPerson.md → accounting/ContactPerson.md} +3 -3
  37. data/docs/{Contacts.md → accounting/Contacts.md} +3 -3
  38. data/docs/accounting/CountryCode.md +16 -0
  39. data/docs/{CreditNote.md → accounting/CreditNote.md} +5 -5
  40. data/docs/{CreditNotes.md → accounting/CreditNotes.md} +3 -3
  41. data/docs/{Currencies.md → accounting/Currencies.md} +3 -3
  42. data/docs/{Currency.md → accounting/Currency.md} +3 -3
  43. data/docs/accounting/CurrencyCode.md +16 -0
  44. data/docs/{Element.md → accounting/Element.md} +3 -3
  45. data/docs/{Employee.md → accounting/Employee.md} +3 -3
  46. data/docs/{Employees.md → accounting/Employees.md} +3 -3
  47. data/docs/{Error.md → accounting/Error.md} +3 -3
  48. data/docs/{ExpenseClaim.md → accounting/ExpenseClaim.md} +3 -3
  49. data/docs/{ExpenseClaims.md → accounting/ExpenseClaims.md} +3 -3
  50. data/docs/{ExternalLink.md → accounting/ExternalLink.md} +3 -3
  51. data/docs/{HistoryRecord.md → accounting/HistoryRecord.md} +3 -3
  52. data/docs/{HistoryRecords.md → accounting/HistoryRecords.md} +3 -3
  53. data/docs/{Invoice.md → accounting/Invoice.md} +5 -5
  54. data/docs/{InvoiceReminder.md → accounting/InvoiceReminder.md} +3 -3
  55. data/docs/{InvoiceReminders.md → accounting/InvoiceReminders.md} +3 -3
  56. data/docs/{Invoices.md → accounting/Invoices.md} +3 -3
  57. data/docs/{Item.md → accounting/Item.md} +3 -3
  58. data/docs/{Items.md → accounting/Items.md} +3 -3
  59. data/docs/{Journal.md → accounting/Journal.md} +4 -4
  60. data/docs/{JournalLine.md → accounting/JournalLine.md} +3 -3
  61. data/docs/{Journals.md → accounting/Journals.md} +3 -3
  62. data/docs/accounting/LineAmountTypes.md +16 -0
  63. data/docs/{LineItem.md → accounting/LineItem.md} +3 -3
  64. data/docs/{LineItemTracking.md → accounting/LineItemTracking.md} +3 -3
  65. data/docs/{LinkedTransaction.md → accounting/LinkedTransaction.md} +3 -3
  66. data/docs/{LinkedTransactions.md → accounting/LinkedTransactions.md} +3 -3
  67. data/docs/{ManualJournal.md → accounting/ManualJournal.md} +3 -3
  68. data/docs/{ManualJournalLine.md → accounting/ManualJournalLine.md} +5 -3
  69. data/docs/{ManualJournals.md → accounting/ManualJournals.md} +3 -3
  70. data/docs/{OnlineInvoice.md → accounting/OnlineInvoice.md} +3 -3
  71. data/docs/{OnlineInvoices.md → accounting/OnlineInvoices.md} +3 -3
  72. data/docs/{Organisation.md → accounting/Organisation.md} +6 -4
  73. data/docs/{Organisations.md → accounting/Organisations.md} +3 -3
  74. data/docs/{Overpayment.md → accounting/Overpayment.md} +3 -3
  75. data/docs/{Overpayments.md → accounting/Overpayments.md} +3 -3
  76. data/docs/{Payment.md → accounting/Payment.md} +9 -7
  77. data/docs/{PaymentDelete.md → accounting/PaymentDelete.md} +3 -3
  78. data/docs/{PaymentService.md → accounting/PaymentService.md} +3 -3
  79. data/docs/{PaymentServices.md → accounting/PaymentServices.md} +3 -3
  80. data/docs/{PaymentTerm.md → accounting/PaymentTerm.md} +3 -3
  81. data/docs/{PaymentTermType.md → accounting/PaymentTermType.md} +3 -3
  82. data/docs/{Payments.md → accounting/Payments.md} +3 -3
  83. data/docs/{Phone.md → accounting/Phone.md} +3 -3
  84. data/docs/{Prepayment.md → accounting/Prepayment.md} +3 -3
  85. data/docs/{Prepayments.md → accounting/Prepayments.md} +3 -3
  86. data/docs/{Purchase.md → accounting/Purchase.md} +3 -3
  87. data/docs/{PurchaseOrder.md → accounting/PurchaseOrder.md} +3 -3
  88. data/docs/{PurchaseOrders.md → accounting/PurchaseOrders.md} +3 -3
  89. data/docs/{Quote.md → accounting/Quote.md} +10 -6
  90. data/docs/{QuoteLineAmountTypes.md → accounting/QuoteLineAmountTypes.md} +3 -3
  91. data/docs/{QuoteStatusCodes.md → accounting/QuoteStatusCodes.md} +3 -3
  92. data/docs/{Quotes.md → accounting/Quotes.md} +3 -3
  93. data/docs/{Receipt.md → accounting/Receipt.md} +3 -3
  94. data/docs/{Receipts.md → accounting/Receipts.md} +3 -3
  95. data/docs/{RepeatingInvoice.md → accounting/RepeatingInvoice.md} +3 -3
  96. data/docs/{RepeatingInvoices.md → accounting/RepeatingInvoices.md} +3 -3
  97. data/docs/{Report.md → accounting/Report.md} +4 -4
  98. data/docs/{ReportAttribute.md → accounting/ReportAttribute.md} +3 -3
  99. data/docs/{ReportCell.md → accounting/ReportCell.md} +3 -3
  100. data/docs/{ReportFields.md → accounting/ReportFields.md} +3 -3
  101. data/docs/{ReportRow.md → accounting/ReportRow.md} +3 -3
  102. data/docs/{ReportRows.md → accounting/ReportRows.md} +3 -3
  103. data/docs/{ReportWithRow.md → accounting/ReportWithRow.md} +3 -3
  104. data/docs/{ReportWithRows.md → accounting/ReportWithRows.md} +3 -3
  105. data/docs/{Reports.md → accounting/Reports.md} +3 -3
  106. data/docs/{RequestEmpty.md → accounting/RequestEmpty.md} +3 -3
  107. data/docs/{RowType.md → accounting/RowType.md} +3 -3
  108. data/docs/{SalesTrackingCategory.md → accounting/SalesTrackingCategory.md} +3 -3
  109. data/docs/{Schedule.md → accounting/Schedule.md} +3 -3
  110. data/docs/{TaxComponent.md → accounting/TaxComponent.md} +3 -3
  111. data/docs/{TaxRate.md → accounting/TaxRate.md} +3 -3
  112. data/docs/{TaxRates.md → accounting/TaxRates.md} +3 -3
  113. data/docs/{TaxType.md → accounting/TaxType.md} +3 -3
  114. data/docs/{TenNinteyNineContact.md → accounting/TenNinetyNineContact.md} +3 -3
  115. data/docs/{TimeZone.md → accounting/TimeZone.md} +3 -3
  116. data/docs/{TrackingCategories.md → accounting/TrackingCategories.md} +3 -3
  117. data/docs/{TrackingCategory.md → accounting/TrackingCategory.md} +3 -3
  118. data/docs/{TrackingOption.md → accounting/TrackingOption.md} +3 -3
  119. data/docs/{TrackingOptions.md → accounting/TrackingOptions.md} +3 -3
  120. data/docs/{User.md → accounting/User.md} +3 -3
  121. data/docs/{Users.md → accounting/Users.md} +3 -3
  122. data/docs/{ValidationError.md → accounting/ValidationError.md} +3 -3
  123. data/docs/assets/Asset.md +45 -0
  124. data/docs/assets/AssetApi.md +438 -0
  125. data/docs/{CurrencyCode.md → assets/AssetStatus.md} +3 -3
  126. data/docs/assets/AssetStatusQueryParam.md +16 -0
  127. data/docs/assets/AssetType.md +29 -0
  128. data/docs/assets/Assets.md +19 -0
  129. data/docs/assets/BookDepreciationDetail.md +29 -0
  130. data/docs/assets/BookDepreciationSetting.md +31 -0
  131. data/docs/assets/Error.md +25 -0
  132. data/docs/assets/FieldValidationErrorsElement.md +27 -0
  133. data/docs/assets/Pagination.md +23 -0
  134. data/docs/assets/ResourceValidationErrorsElement.md +25 -0
  135. data/docs/assets/Setting.md +31 -0
  136. data/docs/projects/Amount.md +19 -0
  137. data/docs/{AccountType.md → projects/ChargeType.md} +3 -3
  138. data/docs/{CountryCode.md → projects/CurrencyCode.md} +3 -3
  139. data/docs/projects/Error.md +19 -0
  140. data/docs/projects/Pagination.md +23 -0
  141. data/docs/projects/Project.md +59 -0
  142. data/docs/projects/ProjectApi.md +979 -0
  143. data/docs/projects/ProjectCreateOrUpdate.md +23 -0
  144. data/docs/projects/ProjectPatch.md +17 -0
  145. data/docs/{LineAmountTypes.md → projects/ProjectStatus.md} +3 -3
  146. data/docs/projects/ProjectUser.md +21 -0
  147. data/docs/projects/ProjectUsers.md +19 -0
  148. data/docs/projects/Projects.md +19 -0
  149. data/docs/projects/Task.md +45 -0
  150. data/docs/projects/TaskCreateOrUpdate.md +23 -0
  151. data/docs/projects/Tasks.md +19 -0
  152. data/docs/projects/TimeEntries.md +19 -0
  153. data/docs/projects/TimeEntry.md +33 -0
  154. data/docs/projects/TimeEntryCreateOrUpdate.md +25 -0
  155. data/lib/xero-ruby.rb +148 -122
  156. data/lib/xero-ruby/api/accounting_api.rb +166 -29
  157. data/lib/xero-ruby/api/asset_api.rb +452 -0
  158. data/lib/xero-ruby/api/project_api.rb +1035 -0
  159. data/lib/xero-ruby/api_client.rb +237 -74
  160. data/lib/xero-ruby/api_error.rb +2 -2
  161. data/lib/xero-ruby/configuration.rb +35 -25
  162. data/lib/xero-ruby/models/{account.rb → accounting/account.rb} +65 -24
  163. data/lib/xero-ruby/models/{account_type.rb → accounting/account_type.rb} +3 -3
  164. data/lib/xero-ruby/models/{accounts.rb → accounting/accounts.rb} +12 -7
  165. data/lib/xero-ruby/models/{accounts_payable.rb → accounting/accounts_payable.rb} +15 -9
  166. data/lib/xero-ruby/models/{accounts_receivable.rb → accounting/accounts_receivable.rb} +15 -9
  167. data/lib/xero-ruby/models/{address.rb → accounting/address.rb} +23 -16
  168. data/lib/xero-ruby/models/accounting/allocation.rb +295 -0
  169. data/lib/xero-ruby/models/{allocations.rb → accounting/allocations.rb} +12 -7
  170. data/lib/xero-ruby/models/{attachment.rb → accounting/attachment.rb} +16 -12
  171. data/lib/xero-ruby/models/{attachments.rb → accounting/attachments.rb} +12 -7
  172. data/lib/xero-ruby/models/{balances.rb → accounting/balances.rb} +13 -7
  173. data/lib/xero-ruby/models/{bank_transaction.rb → accounting/bank_transaction.rb} +47 -28
  174. data/lib/xero-ruby/models/{bank_transactions.rb → accounting/bank_transactions.rb} +12 -7
  175. data/lib/xero-ruby/models/{bank_transfer.rb → accounting/bank_transfer.rb} +24 -18
  176. data/lib/xero-ruby/models/{bank_transfers.rb → accounting/bank_transfers.rb} +12 -7
  177. data/lib/xero-ruby/models/{batch_payment.rb → accounting/batch_payment.rb} +33 -23
  178. data/lib/xero-ruby/models/{batch_payment_details.rb → accounting/batch_payment_details.rb} +15 -11
  179. data/lib/xero-ruby/models/{batch_payments.rb → accounting/batch_payments.rb} +12 -7
  180. data/lib/xero-ruby/models/{bill.rb → accounting/bill.rb} +12 -7
  181. data/lib/xero-ruby/models/{branding_theme.rb → accounting/branding_theme.rb} +17 -12
  182. data/lib/xero-ruby/models/{branding_themes.rb → accounting/branding_themes.rb} +12 -7
  183. data/lib/xero-ruby/models/{cis_org_setting.rb → accounting/cis_org_setting.rb} +13 -9
  184. data/lib/xero-ruby/models/{cis_setting.rb → accounting/cis_setting.rb} +12 -8
  185. data/lib/xero-ruby/models/{cis_settings.rb → accounting/cis_settings.rb} +12 -7
  186. data/lib/xero-ruby/models/{contact.rb → accounting/contact.rb} +55 -41
  187. data/lib/xero-ruby/models/{contact_group.rb → accounting/contact_group.rb} +16 -10
  188. data/lib/xero-ruby/models/{contact_groups.rb → accounting/contact_groups.rb} +12 -7
  189. data/lib/xero-ruby/models/{contact_person.rb → accounting/contact_person.rb} +14 -10
  190. data/lib/xero-ruby/models/{contacts.rb → accounting/contacts.rb} +12 -7
  191. data/lib/xero-ruby/models/{country_code.rb → accounting/country_code.rb} +3 -3
  192. data/lib/xero-ruby/models/{credit_note.rb → accounting/credit_note.rb} +51 -34
  193. data/lib/xero-ruby/models/{credit_notes.rb → accounting/credit_notes.rb} +12 -7
  194. data/lib/xero-ruby/models/{currencies.rb → accounting/currencies.rb} +12 -7
  195. data/lib/xero-ruby/models/{currency.rb → accounting/currency.rb} +13 -8
  196. data/lib/xero-ruby/models/{currency_code.rb → accounting/currency_code.rb} +5 -5
  197. data/lib/xero-ruby/models/{element.rb → accounting/element.rb} +18 -8
  198. data/lib/xero-ruby/models/{employee.rb → accounting/employee.rb} +21 -12
  199. data/lib/xero-ruby/models/{employees.rb → accounting/employees.rb} +12 -7
  200. data/lib/xero-ruby/models/{error.rb → accounting/error.rb} +14 -10
  201. data/lib/xero-ruby/models/{expense_claim.rb → accounting/expense_claim.rb} +30 -19
  202. data/lib/xero-ruby/models/{expense_claims.rb → accounting/expense_claims.rb} +12 -7
  203. data/lib/xero-ruby/models/{external_link.rb → accounting/external_link.rb} +18 -8
  204. data/lib/xero-ruby/models/{history_record.rb → accounting/history_record.rb} +14 -10
  205. data/lib/xero-ruby/models/{history_records.rb → accounting/history_records.rb} +12 -7
  206. data/lib/xero-ruby/models/{invoice.rb → accounting/invoice.rb} +73 -50
  207. data/lib/xero-ruby/models/{invoice_reminder.rb → accounting/invoice_reminder.rb} +11 -7
  208. data/lib/xero-ruby/models/{invoice_reminders.rb → accounting/invoice_reminders.rb} +12 -7
  209. data/lib/xero-ruby/models/{invoices.rb → accounting/invoices.rb} +12 -7
  210. data/lib/xero-ruby/models/{item.rb → accounting/item.rb} +28 -22
  211. data/lib/xero-ruby/models/{items.rb → accounting/items.rb} +12 -7
  212. data/lib/xero-ruby/models/{journal.rb → accounting/journal.rb} +44 -15
  213. data/lib/xero-ruby/models/{journal_line.rb → accounting/journal_line.rb} +25 -20
  214. data/lib/xero-ruby/models/{journals.rb → accounting/journals.rb} +12 -7
  215. data/lib/xero-ruby/models/{line_amount_types.rb → accounting/line_amount_types.rb} +3 -3
  216. data/lib/xero-ruby/models/{line_item.rb → accounting/line_item.rb} +29 -25
  217. data/lib/xero-ruby/models/{line_item_tracking.rb → accounting/line_item_tracking.rb} +14 -10
  218. data/lib/xero-ruby/models/{linked_transaction.rb → accounting/linked_transaction.rb} +29 -17
  219. data/lib/xero-ruby/models/{linked_transactions.rb → accounting/linked_transactions.rb} +12 -7
  220. data/lib/xero-ruby/models/{manual_journal.rb → accounting/manual_journal.rb} +29 -19
  221. data/lib/xero-ruby/models/{manual_journal_line.rb → accounting/manual_journal_line.rb} +30 -16
  222. data/lib/xero-ruby/models/{manual_journals.rb → accounting/manual_journals.rb} +12 -7
  223. data/lib/xero-ruby/models/{online_invoice.rb → accounting/online_invoice.rb} +11 -7
  224. data/lib/xero-ruby/models/{online_invoices.rb → accounting/online_invoices.rb} +12 -7
  225. data/lib/xero-ruby/models/{organisation.rb → accounting/organisation.rb} +126 -36
  226. data/lib/xero-ruby/models/{organisations.rb → accounting/organisations.rb} +12 -7
  227. data/lib/xero-ruby/models/{overpayment.rb → accounting/overpayment.rb} +40 -27
  228. data/lib/xero-ruby/models/{overpayments.rb → accounting/overpayments.rb} +12 -7
  229. data/lib/xero-ruby/models/{payment.rb → accounting/payment.rb} +61 -28
  230. data/lib/xero-ruby/models/{payment_delete.rb → accounting/payment_delete.rb} +11 -7
  231. data/lib/xero-ruby/models/{payment_service.rb → accounting/payment_service.rb} +16 -12
  232. data/lib/xero-ruby/models/{payment_services.rb → accounting/payment_services.rb} +12 -7
  233. data/lib/xero-ruby/models/{payment_term.rb → accounting/payment_term.rb} +13 -7
  234. data/lib/xero-ruby/models/{payment_term_type.rb → accounting/payment_term_type.rb} +3 -3
  235. data/lib/xero-ruby/models/{payments.rb → accounting/payments.rb} +12 -7
  236. data/lib/xero-ruby/models/{phone.rb → accounting/phone.rb} +20 -10
  237. data/lib/xero-ruby/models/{prepayment.rb → accounting/prepayment.rb} +41 -27
  238. data/lib/xero-ruby/models/{prepayments.rb → accounting/prepayments.rb} +12 -7
  239. data/lib/xero-ruby/models/{purchase.rb → accounting/purchase.rb} +15 -11
  240. data/lib/xero-ruby/models/{purchase_order.rb → accounting/purchase_order.rb} +49 -37
  241. data/lib/xero-ruby/models/{purchase_orders.rb → accounting/purchase_orders.rb} +12 -7
  242. data/lib/xero-ruby/models/{quote.rb → accounting/quote.rb} +63 -33
  243. data/lib/xero-ruby/models/{quote_line_amount_types.rb → accounting/quote_line_amount_types.rb} +3 -3
  244. data/lib/xero-ruby/models/{quote_status_codes.rb → accounting/quote_status_codes.rb} +4 -3
  245. data/lib/xero-ruby/models/{quotes.rb → accounting/quotes.rb} +12 -7
  246. data/lib/xero-ruby/models/{receipt.rb → accounting/receipt.rb} +36 -23
  247. data/lib/xero-ruby/models/{receipts.rb → accounting/receipts.rb} +12 -7
  248. data/lib/xero-ruby/models/{repeating_invoice.rb → accounting/repeating_invoice.rb} +34 -21
  249. data/lib/xero-ruby/models/{repeating_invoices.rb → accounting/repeating_invoices.rb} +12 -7
  250. data/lib/xero-ruby/models/{report.rb → accounting/report.rb} +19 -13
  251. data/lib/xero-ruby/models/{report_attribute.rb → accounting/report_attribute.rb} +13 -7
  252. data/lib/xero-ruby/models/{report_cell.rb → accounting/report_cell.rb} +13 -7
  253. data/lib/xero-ruby/models/{report_fields.rb → accounting/report_fields.rb} +14 -7
  254. data/lib/xero-ruby/models/{report_row.rb → accounting/report_row.rb} +14 -7
  255. data/lib/xero-ruby/models/{report_rows.rb → accounting/report_rows.rb} +15 -7
  256. data/lib/xero-ruby/models/{report_with_row.rb → accounting/report_with_row.rb} +19 -13
  257. data/lib/xero-ruby/models/{report_with_rows.rb → accounting/report_with_rows.rb} +12 -7
  258. data/lib/xero-ruby/models/{reports.rb → accounting/reports.rb} +12 -7
  259. data/lib/xero-ruby/models/{request_empty.rb → accounting/request_empty.rb} +11 -7
  260. data/lib/xero-ruby/models/{row_type.rb → accounting/row_type.rb} +3 -3
  261. data/lib/xero-ruby/models/{sales_tracking_category.rb → accounting/sales_tracking_category.rb} +12 -8
  262. data/lib/xero-ruby/models/{schedule.rb → accounting/schedule.rb} +27 -15
  263. data/lib/xero-ruby/models/{tax_component.rb → accounting/tax_component.rb} +15 -11
  264. data/lib/xero-ruby/models/{tax_rate.rb → accounting/tax_rate.rb} +104 -22
  265. data/lib/xero-ruby/models/{tax_rates.rb → accounting/tax_rates.rb} +12 -7
  266. data/lib/xero-ruby/models/{tax_type.rb → accounting/tax_type.rb} +7 -3
  267. data/lib/xero-ruby/models/{ten_nintey_nine_contact.rb → accounting/ten_ninety_nine_contact.rb} +46 -42
  268. data/lib/xero-ruby/models/{time_zone.rb → accounting/time_zone.rb} +3 -3
  269. data/lib/xero-ruby/models/{tracking_categories.rb → accounting/tracking_categories.rb} +12 -7
  270. data/lib/xero-ruby/models/{tracking_category.rb → accounting/tracking_category.rb} +19 -12
  271. data/lib/xero-ruby/models/{tracking_option.rb → accounting/tracking_option.rb} +17 -10
  272. data/lib/xero-ruby/models/{tracking_options.rb → accounting/tracking_options.rb} +12 -7
  273. data/lib/xero-ruby/models/{user.rb → accounting/user.rb} +24 -13
  274. data/lib/xero-ruby/models/{users.rb → accounting/users.rb} +12 -7
  275. data/lib/xero-ruby/models/{validation_error.rb → accounting/validation_error.rb} +11 -7
  276. data/lib/xero-ruby/models/assets/asset.rb +353 -0
  277. data/lib/xero-ruby/models/assets/asset_status.rb +38 -0
  278. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +38 -0
  279. data/lib/xero-ruby/models/assets/asset_type.rb +278 -0
  280. data/lib/xero-ruby/models/assets/assets.rb +220 -0
  281. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +268 -0
  282. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +347 -0
  283. data/lib/xero-ruby/models/assets/error.rb +252 -0
  284. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +258 -0
  285. data/lib/xero-ruby/models/assets/pagination.rb +238 -0
  286. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +248 -0
  287. data/lib/xero-ruby/models/assets/setting.rb +278 -0
  288. data/lib/xero-ruby/models/projects/amount.rb +218 -0
  289. data/lib/xero-ruby/models/projects/charge_type.rb +38 -0
  290. data/lib/xero-ruby/models/projects/currency_code.rb +199 -0
  291. data/lib/xero-ruby/models/projects/error.rb +218 -0
  292. data/lib/xero-ruby/models/{allocation.rb → projects/pagination.rb} +48 -48
  293. data/lib/xero-ruby/models/projects/project.rb +423 -0
  294. data/lib/xero-ruby/models/projects/project_create_or_update.rb +243 -0
  295. data/lib/xero-ruby/models/projects/project_patch.rb +213 -0
  296. data/lib/xero-ruby/models/projects/project_status.rb +37 -0
  297. data/lib/xero-ruby/models/projects/project_user.rb +228 -0
  298. data/lib/xero-ruby/models/projects/project_users.rb +220 -0
  299. data/lib/xero-ruby/models/projects/projects.rb +220 -0
  300. data/lib/xero-ruby/models/projects/task.rb +385 -0
  301. data/lib/xero-ruby/models/projects/task_create_or_update.rb +253 -0
  302. data/lib/xero-ruby/models/projects/tasks.rb +220 -0
  303. data/lib/xero-ruby/models/projects/time_entries.rb +220 -0
  304. data/lib/xero-ruby/models/projects/time_entry.rb +324 -0
  305. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +268 -0
  306. data/lib/xero-ruby/version.rb +3 -3
  307. data/spec/{api → accounting/api}/accounting_api_spec.rb +31 -6
  308. data/spec/{models → accounting/models}/account_spec.rb +5 -5
  309. data/spec/{models → accounting/models}/account_type_spec.rb +5 -5
  310. data/spec/{models → accounting/models}/accounts_payable_spec.rb +5 -5
  311. data/spec/{models → accounting/models}/accounts_receivable_spec.rb +5 -5
  312. data/spec/{models → accounting/models}/accounts_spec.rb +5 -5
  313. data/spec/{models → accounting/models}/address_spec.rb +5 -5
  314. data/spec/{models → accounting/models}/allocation_spec.rb +5 -5
  315. data/spec/{models → accounting/models}/allocations_spec.rb +5 -5
  316. data/spec/{models → accounting/models}/attachment_spec.rb +5 -5
  317. data/spec/{models → accounting/models}/attachments_spec.rb +5 -5
  318. data/spec/{models → accounting/models}/balances_spec.rb +5 -5
  319. data/spec/{models → accounting/models}/bank_transaction_spec.rb +5 -5
  320. data/spec/{models → accounting/models}/bank_transactions_spec.rb +5 -5
  321. data/spec/{models → accounting/models}/bank_transfer_spec.rb +5 -5
  322. data/spec/{models → accounting/models}/bank_transfers_spec.rb +5 -5
  323. data/spec/{models → accounting/models}/batch_payment_details_spec.rb +5 -5
  324. data/spec/{models → accounting/models}/batch_payment_spec.rb +5 -5
  325. data/spec/{models → accounting/models}/batch_payments_spec.rb +5 -5
  326. data/spec/{models → accounting/models}/bill_spec.rb +5 -5
  327. data/spec/{models → accounting/models}/branding_theme_spec.rb +5 -5
  328. data/spec/{models → accounting/models}/branding_themes_spec.rb +5 -5
  329. data/spec/{models → accounting/models}/cis_org_setting_spec.rb +5 -5
  330. data/spec/{models → accounting/models}/cis_setting_spec.rb +5 -5
  331. data/spec/{models → accounting/models}/cis_settings_spec.rb +5 -5
  332. data/spec/{models → accounting/models}/contact_group_spec.rb +5 -5
  333. data/spec/{models → accounting/models}/contact_groups_spec.rb +5 -5
  334. data/spec/{models → accounting/models}/contact_person_spec.rb +5 -5
  335. data/spec/{models → accounting/models}/contact_spec.rb +5 -5
  336. data/spec/{models → accounting/models}/contacts_spec.rb +5 -5
  337. data/spec/{models → accounting/models}/country_code_spec.rb +5 -5
  338. data/spec/{models → accounting/models}/credit_note_spec.rb +5 -5
  339. data/spec/{models → accounting/models}/credit_notes_spec.rb +5 -5
  340. data/spec/{models → accounting/models}/currencies_spec.rb +5 -5
  341. data/spec/{models → accounting/models}/currency_code_spec.rb +5 -5
  342. data/spec/{models → accounting/models}/currency_spec.rb +5 -5
  343. data/spec/{models → accounting/models}/element_spec.rb +5 -5
  344. data/spec/{models → accounting/models}/employee_spec.rb +5 -5
  345. data/spec/{models → accounting/models}/employees_spec.rb +5 -5
  346. data/spec/{models → accounting/models}/error_spec.rb +5 -5
  347. data/spec/{models → accounting/models}/expense_claim_spec.rb +5 -5
  348. data/spec/{models → accounting/models}/expense_claims_spec.rb +5 -5
  349. data/spec/{models → accounting/models}/external_link_spec.rb +5 -5
  350. data/spec/{models → accounting/models}/history_record_spec.rb +5 -5
  351. data/spec/{models → accounting/models}/history_records_spec.rb +5 -5
  352. data/spec/{models → accounting/models}/invoice_reminder_spec.rb +5 -5
  353. data/spec/{models → accounting/models}/invoice_reminders_spec.rb +5 -5
  354. data/spec/{models → accounting/models}/invoice_spec.rb +5 -5
  355. data/spec/{models → accounting/models}/invoices_spec.rb +5 -5
  356. data/spec/{models → accounting/models}/item_spec.rb +5 -5
  357. data/spec/{models → accounting/models}/items_spec.rb +5 -5
  358. data/spec/{models → accounting/models}/journal_line_spec.rb +5 -5
  359. data/spec/{models → accounting/models}/journal_spec.rb +5 -5
  360. data/spec/{models → accounting/models}/journals_spec.rb +5 -5
  361. data/spec/{models → accounting/models}/line_amount_types_spec.rb +5 -5
  362. data/spec/{models → accounting/models}/line_item_spec.rb +5 -5
  363. data/spec/{models → accounting/models}/line_item_tracking_spec.rb +5 -5
  364. data/spec/{models → accounting/models}/linked_transaction_spec.rb +5 -5
  365. data/spec/{models → accounting/models}/linked_transactions_spec.rb +5 -5
  366. data/spec/{models → accounting/models}/manual_journal_line_spec.rb +5 -5
  367. data/spec/{models → accounting/models}/manual_journal_spec.rb +5 -5
  368. data/spec/{models → accounting/models}/manual_journals_spec.rb +5 -5
  369. data/spec/{models → accounting/models}/online_invoice_spec.rb +5 -5
  370. data/spec/{models → accounting/models}/online_invoices_spec.rb +5 -5
  371. data/spec/{models → accounting/models}/organisation_spec.rb +5 -5
  372. data/spec/{models → accounting/models}/organisations_spec.rb +5 -5
  373. data/spec/{models → accounting/models}/overpayment_spec.rb +5 -5
  374. data/spec/{models → accounting/models}/overpayments_spec.rb +5 -5
  375. data/spec/{models → accounting/models}/payment_delete_spec.rb +5 -5
  376. data/spec/{models → accounting/models}/payment_service_spec.rb +5 -5
  377. data/spec/{models → accounting/models}/payment_services_spec.rb +5 -5
  378. data/spec/{models → accounting/models}/payment_spec.rb +11 -5
  379. data/spec/{models → accounting/models}/payment_term_spec.rb +5 -5
  380. data/spec/{models → accounting/models}/payment_term_type_spec.rb +5 -5
  381. data/spec/{models → accounting/models}/payments_spec.rb +5 -5
  382. data/spec/{models → accounting/models}/phone_spec.rb +5 -5
  383. data/spec/{models → accounting/models}/prepayment_spec.rb +5 -5
  384. data/spec/{models → accounting/models}/prepayments_spec.rb +5 -5
  385. data/spec/{models → accounting/models}/purchase_order_spec.rb +5 -5
  386. data/spec/{models → accounting/models}/purchase_orders_spec.rb +5 -5
  387. data/spec/{models → accounting/models}/purchase_spec.rb +5 -5
  388. data/spec/{models → accounting/models}/quote_line_amount_types_spec.rb +5 -5
  389. data/spec/{models → accounting/models}/quote_spec.rb +5 -5
  390. data/spec/{models → accounting/models}/quote_status_codes_spec.rb +5 -5
  391. data/spec/{models → accounting/models}/quotes_spec.rb +5 -5
  392. data/spec/{models → accounting/models}/receipt_spec.rb +5 -5
  393. data/spec/{models → accounting/models}/receipts_spec.rb +5 -5
  394. data/spec/{models → accounting/models}/repeating_invoice_spec.rb +5 -5
  395. data/spec/{models → accounting/models}/repeating_invoices_spec.rb +5 -5
  396. data/spec/{models → accounting/models}/report_attribute_spec.rb +5 -5
  397. data/spec/{models → accounting/models}/report_cell_spec.rb +5 -5
  398. data/spec/{models → accounting/models}/report_fields_spec.rb +5 -5
  399. data/spec/{models → accounting/models}/report_row_spec.rb +5 -5
  400. data/spec/{models → accounting/models}/report_rows_spec.rb +5 -5
  401. data/spec/{models → accounting/models}/report_spec.rb +5 -5
  402. data/spec/{models → accounting/models}/report_with_row_spec.rb +5 -5
  403. data/spec/{models → accounting/models}/report_with_rows_spec.rb +5 -5
  404. data/spec/{models → accounting/models}/reports_spec.rb +5 -5
  405. data/spec/{models → accounting/models}/request_empty_spec.rb +5 -5
  406. data/spec/{models → accounting/models}/row_type_spec.rb +5 -5
  407. data/spec/{models → accounting/models}/sales_tracking_category_spec.rb +5 -5
  408. data/spec/{models → accounting/models}/schedule_spec.rb +5 -5
  409. data/spec/{models → accounting/models}/tax_component_spec.rb +5 -5
  410. data/spec/{models → accounting/models}/tax_rate_spec.rb +6 -6
  411. data/spec/{models → accounting/models}/tax_rates_spec.rb +5 -5
  412. data/spec/{models → accounting/models}/tax_type_spec.rb +5 -5
  413. data/spec/{models → accounting/models}/ten_nintey_nine_contact_spec.rb +8 -8
  414. data/spec/{models → accounting/models}/time_zone_spec.rb +5 -5
  415. data/spec/{models → accounting/models}/tracking_categories_spec.rb +5 -5
  416. data/spec/{models → accounting/models}/tracking_category_spec.rb +5 -5
  417. data/spec/{models → accounting/models}/tracking_option_spec.rb +5 -5
  418. data/spec/{models → accounting/models}/tracking_options_spec.rb +5 -5
  419. data/spec/{models → accounting/models}/user_spec.rb +5 -5
  420. data/spec/{models → accounting/models}/users_spec.rb +5 -5
  421. data/spec/{models → accounting/models}/validation_error_spec.rb +5 -5
  422. data/spec/api_client_spec.rb +12 -52
  423. data/spec/assets/api/asset_api_spec.rb +116 -0
  424. data/spec/assets/models/asset_spec.rb +125 -0
  425. data/spec/assets/models/asset_status_query_param_spec.rb +35 -0
  426. data/spec/assets/models/asset_status_spec.rb +35 -0
  427. data/spec/assets/models/asset_type_spec.rb +77 -0
  428. data/spec/assets/models/assets_spec.rb +47 -0
  429. data/spec/assets/models/book_depreciation_detail_spec.rb +77 -0
  430. data/spec/assets/models/book_depreciation_setting_spec.rb +95 -0
  431. data/spec/assets/models/error_spec.rb +65 -0
  432. data/spec/assets/models/field_validation_errors_element_spec.rb +71 -0
  433. data/spec/assets/models/pagination_spec.rb +59 -0
  434. data/spec/assets/models/resource_validation_errors_element_spec.rb +65 -0
  435. data/spec/assets/models/setting_spec.rb +83 -0
  436. data/spec/configuration_spec.rb +7 -23
  437. data/spec/projects/api/project_api_spec.rb +229 -0
  438. data/spec/projects/models/amount_spec.rb +47 -0
  439. data/spec/projects/models/charge_type_spec.rb +35 -0
  440. data/spec/projects/models/currency_code_spec.rb +35 -0
  441. data/spec/projects/models/error_spec.rb +47 -0
  442. data/spec/projects/models/pagination_spec.rb +59 -0
  443. data/spec/projects/models/project_create_or_update_spec.rb +59 -0
  444. data/spec/projects/models/project_patch_spec.rb +41 -0
  445. data/spec/projects/models/project_spec.rb +167 -0
  446. data/spec/projects/models/project_status_spec.rb +35 -0
  447. data/spec/projects/models/project_user_spec.rb +53 -0
  448. data/spec/projects/models/project_users_spec.rb +47 -0
  449. data/spec/projects/models/projects_spec.rb +47 -0
  450. data/spec/projects/models/task_create_or_update_spec.rb +59 -0
  451. data/spec/projects/models/task_spec.rb +129 -0
  452. data/spec/projects/models/tasks_spec.rb +47 -0
  453. data/spec/projects/models/time_entries_spec.rb +47 -0
  454. data/spec/projects/models/time_entry_create_or_update_spec.rb +65 -0
  455. data/spec/projects/models/time_entry_spec.rb +93 -0
  456. data/spec/spec_helper.rb +2 -2
  457. data/xero-ruby.gemspec +4 -5
  458. metadata +611 -482
  459. data/docs/Allocation.md +0 -21
  460. data/lib/.DS_Store +0 -0
  461. data/pkg/xero-ruby-0.1.3.gem +0 -0
  462. data/pkg/xero-ruby-0.2.2.gem +0 -0
  463. data/pkg/xero-ruby-0.2.3.gem +0 -0
@@ -3,10 +3,10 @@
3
3
 
4
4
  #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
5
 
6
- The version of the OpenAPI document: 2.0.7
6
+ The version of the OpenAPI document: 2.2.11
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 4.2.0
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
@@ -16,7 +16,7 @@ module XeroRuby
16
16
  class AccountingApi
17
17
  attr_accessor :api_client
18
18
 
19
- def initialize(api_client = ApiClient.default)
19
+ def initialize(api_client = ApiClient.new)
20
20
  @api_client = api_client
21
21
  end
22
22
  # Allows you to create a new chart of accounts
@@ -169,7 +169,7 @@ module XeroRuby
169
169
  return data, status_code, headers
170
170
  end
171
171
 
172
- # Allows you to createa an Attachment on BankTransaction by Filename
172
+ # Allows you to create an Attachment on BankTransaction by Filename
173
173
  # @param xero_tenant_id [String] Xero identifier for Tenant
174
174
  # @param bank_transaction_id [String] Xero generated unique identifier for a bank transaction
175
175
  # @param file_name [String] The name of the file being attached
@@ -181,7 +181,7 @@ module XeroRuby
181
181
  data
182
182
  end
183
183
 
184
- # Allows you to createa an Attachment on BankTransaction by Filename
184
+ # Allows you to create an Attachment on BankTransaction by Filename
185
185
  # @param xero_tenant_id [String] Xero identifier for Tenant
186
186
  # @param bank_transaction_id [String] Xero generated unique identifier for a bank transaction
187
187
  # @param file_name [String] The name of the file being attached
@@ -1218,6 +1218,7 @@ module XeroRuby
1218
1218
  # @param credit_note_id [String] Unique identifier for a Credit Note
1219
1219
  # @param allocations [Allocations] Allocations with array of Allocation object in body of request.
1220
1220
  # @param [Hash] opts the optional parameters
1221
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created obejcts and any with validation errors (default to false)
1221
1222
  # @return [Allocations]
1222
1223
  def create_credit_note_allocation(xero_tenant_id, credit_note_id, allocations, opts = {})
1223
1224
  data, _status_code, _headers = create_credit_note_allocation_with_http_info(xero_tenant_id, credit_note_id, allocations, opts)
@@ -1229,6 +1230,7 @@ module XeroRuby
1229
1230
  # @param credit_note_id [String] Unique identifier for a Credit Note
1230
1231
  # @param allocations [Allocations] Allocations with array of Allocation object in body of request.
1231
1232
  # @param [Hash] opts the optional parameters
1233
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created obejcts and any with validation errors
1232
1234
  # @return [Array<(Allocations, Integer, Hash)>] Allocations data, response status code and response headers
1233
1235
  def create_credit_note_allocation_with_http_info(xero_tenant_id, credit_note_id, allocations, opts = {})
1234
1236
  if @api_client.config.debugging
@@ -1251,6 +1253,7 @@ module XeroRuby
1251
1253
 
1252
1254
  # query parameters
1253
1255
  query_params = opts[:query_params] || {}
1256
+ query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
1254
1257
 
1255
1258
  # header parameters
1256
1259
  header_params = opts[:header_params] || {}
@@ -1292,12 +1295,12 @@ module XeroRuby
1292
1295
  # @param xero_tenant_id [String] Xero identifier for Tenant
1293
1296
  # @param credit_note_id [String] Unique identifier for a Credit Note
1294
1297
  # @param file_name [String] Name of the file you are attaching to Credit Note
1295
- # @param include_online [Boolean] Set an attachment to be included with the invoice when viewed online (through Xero)
1296
1298
  # @param body [String] Byte array of file in body of request
1297
1299
  # @param [Hash] opts the optional parameters
1300
+ # @option opts [Boolean] :include_online Allows an attachment to be seen by the end customer within their online invoice (default to false)
1298
1301
  # @return [Attachments]
1299
- def create_credit_note_attachment_by_file_name(xero_tenant_id, credit_note_id, file_name, include_online, body, opts = {})
1300
- data, _status_code, _headers = create_credit_note_attachment_by_file_name_with_http_info(xero_tenant_id, credit_note_id, file_name, include_online, body, opts)
1302
+ def create_credit_note_attachment_by_file_name(xero_tenant_id, credit_note_id, file_name, body, opts = {})
1303
+ data, _status_code, _headers = create_credit_note_attachment_by_file_name_with_http_info(xero_tenant_id, credit_note_id, file_name, body, opts)
1301
1304
  data
1302
1305
  end
1303
1306
 
@@ -1305,11 +1308,11 @@ module XeroRuby
1305
1308
  # @param xero_tenant_id [String] Xero identifier for Tenant
1306
1309
  # @param credit_note_id [String] Unique identifier for a Credit Note
1307
1310
  # @param file_name [String] Name of the file you are attaching to Credit Note
1308
- # @param include_online [Boolean] Set an attachment to be included with the invoice when viewed online (through Xero)
1309
1311
  # @param body [String] Byte array of file in body of request
1310
1312
  # @param [Hash] opts the optional parameters
1313
+ # @option opts [Boolean] :include_online Allows an attachment to be seen by the end customer within their online invoice
1311
1314
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
1312
- def create_credit_note_attachment_by_file_name_with_http_info(xero_tenant_id, credit_note_id, file_name, include_online, body, opts = {})
1315
+ def create_credit_note_attachment_by_file_name_with_http_info(xero_tenant_id, credit_note_id, file_name, body, opts = {})
1313
1316
  if @api_client.config.debugging
1314
1317
  @api_client.config.logger.debug 'Calling API: AccountingApi.create_credit_note_attachment_by_file_name ...'
1315
1318
  end
@@ -1325,19 +1328,16 @@ module XeroRuby
1325
1328
  if @api_client.config.client_side_validation && file_name.nil?
1326
1329
  fail ArgumentError, "Missing the required parameter 'file_name' when calling AccountingApi.create_credit_note_attachment_by_file_name"
1327
1330
  end
1328
- # verify the required parameter 'include_online' is set
1329
- if @api_client.config.client_side_validation && include_online.nil?
1330
- fail ArgumentError, "Missing the required parameter 'include_online' when calling AccountingApi.create_credit_note_attachment_by_file_name"
1331
- end
1332
1331
  # verify the required parameter 'body' is set
1333
1332
  if @api_client.config.client_side_validation && body.nil?
1334
1333
  fail ArgumentError, "Missing the required parameter 'body' when calling AccountingApi.create_credit_note_attachment_by_file_name"
1335
1334
  end
1336
1335
  # resource path
1337
- local_var_path = '/CreditNotes/{CreditNoteID}/Attachments/{FileName}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s).sub('{' + 'IncludeOnline' + '}', include_online.to_s)
1336
+ local_var_path = '/CreditNotes/{CreditNoteID}/Attachments/{FileName}'.sub('{' + 'CreditNoteID' + '}', credit_note_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
1338
1337
 
1339
1338
  # query parameters
1340
1339
  query_params = opts[:query_params] || {}
1340
+ query_params[:'IncludeOnline'] = opts[:'include_online'] if !opts[:'include_online'].nil?
1341
1341
 
1342
1342
  # header parameters
1343
1343
  header_params = opts[:header_params] || {}
@@ -1812,12 +1812,12 @@ module XeroRuby
1812
1812
  # @param xero_tenant_id [String] Xero identifier for Tenant
1813
1813
  # @param invoice_id [String] Unique identifier for an Invoice
1814
1814
  # @param file_name [String] Name of the file you are attaching
1815
- # @param include_online [Boolean] Set an attachment to be included with the invoice when viewed online (through Xero)
1816
1815
  # @param body [String] Byte array of file in body of request
1817
1816
  # @param [Hash] opts the optional parameters
1817
+ # @option opts [Boolean] :include_online Allows an attachment to be seen by the end customer within their online invoice (default to false)
1818
1818
  # @return [Attachments]
1819
- def create_invoice_attachment_by_file_name(xero_tenant_id, invoice_id, file_name, include_online, body, opts = {})
1820
- data, _status_code, _headers = create_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, invoice_id, file_name, include_online, body, opts)
1819
+ def create_invoice_attachment_by_file_name(xero_tenant_id, invoice_id, file_name, body, opts = {})
1820
+ data, _status_code, _headers = create_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, invoice_id, file_name, body, opts)
1821
1821
  data
1822
1822
  end
1823
1823
 
@@ -1825,11 +1825,11 @@ module XeroRuby
1825
1825
  # @param xero_tenant_id [String] Xero identifier for Tenant
1826
1826
  # @param invoice_id [String] Unique identifier for an Invoice
1827
1827
  # @param file_name [String] Name of the file you are attaching
1828
- # @param include_online [Boolean] Set an attachment to be included with the invoice when viewed online (through Xero)
1829
1828
  # @param body [String] Byte array of file in body of request
1830
1829
  # @param [Hash] opts the optional parameters
1830
+ # @option opts [Boolean] :include_online Allows an attachment to be seen by the end customer within their online invoice
1831
1831
  # @return [Array<(Attachments, Integer, Hash)>] Attachments data, response status code and response headers
1832
- def create_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, invoice_id, file_name, include_online, body, opts = {})
1832
+ def create_invoice_attachment_by_file_name_with_http_info(xero_tenant_id, invoice_id, file_name, body, opts = {})
1833
1833
  if @api_client.config.debugging
1834
1834
  @api_client.config.logger.debug 'Calling API: AccountingApi.create_invoice_attachment_by_file_name ...'
1835
1835
  end
@@ -1845,19 +1845,16 @@ module XeroRuby
1845
1845
  if @api_client.config.client_side_validation && file_name.nil?
1846
1846
  fail ArgumentError, "Missing the required parameter 'file_name' when calling AccountingApi.create_invoice_attachment_by_file_name"
1847
1847
  end
1848
- # verify the required parameter 'include_online' is set
1849
- if @api_client.config.client_side_validation && include_online.nil?
1850
- fail ArgumentError, "Missing the required parameter 'include_online' when calling AccountingApi.create_invoice_attachment_by_file_name"
1851
- end
1852
1848
  # verify the required parameter 'body' is set
1853
1849
  if @api_client.config.client_side_validation && body.nil?
1854
1850
  fail ArgumentError, "Missing the required parameter 'body' when calling AccountingApi.create_invoice_attachment_by_file_name"
1855
1851
  end
1856
1852
  # resource path
1857
- local_var_path = '/Invoices/{InvoiceID}/Attachments/{FileName}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s).sub('{' + 'IncludeOnline' + '}', include_online.to_s)
1853
+ local_var_path = '/Invoices/{InvoiceID}/Attachments/{FileName}'.sub('{' + 'InvoiceID' + '}', invoice_id.to_s).sub('{' + 'FileName' + '}', file_name.to_s)
1858
1854
 
1859
1855
  # query parameters
1860
1856
  query_params = opts[:query_params] || {}
1857
+ query_params[:'IncludeOnline'] = opts[:'include_online'] if !opts[:'include_online'].nil?
1861
1858
 
1862
1859
  # header parameters
1863
1860
  header_params = opts[:header_params] || {}
@@ -2787,6 +2784,7 @@ module XeroRuby
2787
2784
  # @param xero_tenant_id [String] Xero identifier for Tenant
2788
2785
  # @param payments [Payments] Payments array with Payment object in body of request
2789
2786
  # @param [Hash] opts the optional parameters
2787
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created obejcts and any with validation errors (default to false)
2790
2788
  # @return [Payments]
2791
2789
  def create_payments(xero_tenant_id, payments, opts = {})
2792
2790
  data, _status_code, _headers = create_payments_with_http_info(xero_tenant_id, payments, opts)
@@ -2797,6 +2795,7 @@ module XeroRuby
2797
2795
  # @param xero_tenant_id [String] Xero identifier for Tenant
2798
2796
  # @param payments [Payments] Payments array with Payment object in body of request
2799
2797
  # @param [Hash] opts the optional parameters
2798
+ # @option opts [Boolean] :summarize_errors If false return 200 OK and mix of successfully created obejcts and any with validation errors
2800
2799
  # @return [Array<(Payments, Integer, Hash)>] Payments data, response status code and response headers
2801
2800
  def create_payments_with_http_info(xero_tenant_id, payments, opts = {})
2802
2801
  if @api_client.config.debugging
@@ -2815,6 +2814,7 @@ module XeroRuby
2815
2814
 
2816
2815
  # query parameters
2817
2816
  query_params = opts[:query_params] || {}
2817
+ query_params[:'summarizeErrors'] = opts[:'summarize_errors'] if !opts[:'summarize_errors'].nil?
2818
2818
 
2819
2819
  # header parameters
2820
2820
  header_params = opts[:header_params] || {}
@@ -6173,7 +6173,7 @@ module XeroRuby
6173
6173
  return data, status_code, headers
6174
6174
  end
6175
6175
 
6176
- # Allows you to retrieve, add and update contacts in a Xero organisation
6176
+ # Allows you to retrieve a single contacts in a Xero organisation
6177
6177
  # @param xero_tenant_id [String] Xero identifier for Tenant
6178
6178
  # @param contact_id [String] Unique identifier for a Contact
6179
6179
  # @param [Hash] opts the optional parameters
@@ -6183,7 +6183,7 @@ module XeroRuby
6183
6183
  data
6184
6184
  end
6185
6185
 
6186
- # Allows you to retrieve, add and update contacts in a Xero organisation
6186
+ # Allows you to retrieve a single contacts in a Xero organisation
6187
6187
  # @param xero_tenant_id [String] Xero identifier for Tenant
6188
6188
  # @param contact_id [String] Unique identifier for a Contact
6189
6189
  # @param [Hash] opts the optional parameters
@@ -6467,6 +6467,73 @@ module XeroRuby
6467
6467
  return data, status_code, headers
6468
6468
  end
6469
6469
 
6470
+ # Allows you to retrieve a single contact by Contact Number in a Xero organisation
6471
+ # @param xero_tenant_id [String] Xero identifier for Tenant
6472
+ # @param contact_number [String] This field is read only on the Xero contact screen, used to identify contacts in external systems (max length &#x3D; 50).
6473
+ # @param [Hash] opts the optional parameters
6474
+ # @return [Contacts]
6475
+ def get_contact_by_contact_number(xero_tenant_id, contact_number, opts = {})
6476
+ data, _status_code, _headers = get_contact_by_contact_number_with_http_info(xero_tenant_id, contact_number, opts)
6477
+ data
6478
+ end
6479
+
6480
+ # Allows you to retrieve a single contact by Contact Number in a Xero organisation
6481
+ # @param xero_tenant_id [String] Xero identifier for Tenant
6482
+ # @param contact_number [String] This field is read only on the Xero contact screen, used to identify contacts in external systems (max length &#x3D; 50).
6483
+ # @param [Hash] opts the optional parameters
6484
+ # @return [Array<(Contacts, Integer, Hash)>] Contacts data, response status code and response headers
6485
+ def get_contact_by_contact_number_with_http_info(xero_tenant_id, contact_number, opts = {})
6486
+ if @api_client.config.debugging
6487
+ @api_client.config.logger.debug 'Calling API: AccountingApi.get_contact_by_contact_number ...'
6488
+ end
6489
+ # verify the required parameter 'xero_tenant_id' is set
6490
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
6491
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.get_contact_by_contact_number"
6492
+ end
6493
+ # verify the required parameter 'contact_number' is set
6494
+ if @api_client.config.client_side_validation && contact_number.nil?
6495
+ fail ArgumentError, "Missing the required parameter 'contact_number' when calling AccountingApi.get_contact_by_contact_number"
6496
+ end
6497
+ # resource path
6498
+ local_var_path = '/Contacts/{ContactNumber}'.sub('{' + 'ContactNumber' + '}', contact_number.to_s)
6499
+
6500
+ # query parameters
6501
+ query_params = opts[:query_params] || {}
6502
+
6503
+ # header parameters
6504
+ header_params = opts[:header_params] || {}
6505
+ # HTTP header 'Accept' (if needed)
6506
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
6507
+ header_params[:'xero-tenant-id'] = xero_tenant_id
6508
+
6509
+ # form parameters
6510
+ form_params = opts[:form_params] || {}
6511
+
6512
+ # http body (model)
6513
+ post_body = opts[:body]
6514
+
6515
+ # return_type
6516
+ return_type = opts[:return_type] || 'Contacts'
6517
+
6518
+ # auth_names
6519
+ auth_names = opts[:auth_names] || ['OAuth2']
6520
+
6521
+ new_options = opts.merge(
6522
+ :header_params => header_params,
6523
+ :query_params => query_params,
6524
+ :form_params => form_params,
6525
+ :body => post_body,
6526
+ :auth_names => auth_names,
6527
+ :return_type => return_type
6528
+ )
6529
+
6530
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
6531
+ if @api_client.config.debugging
6532
+ @api_client.config.logger.debug "API called: AccountingApi#get_contact_by_contact_number\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
6533
+ end
6534
+ return data, status_code, headers
6535
+ end
6536
+
6470
6537
  # Allows you to retrieve CISSettings for a contact in a Xero organisation
6471
6538
  # @param xero_tenant_id [String] Xero identifier for Tenant
6472
6539
  # @param contact_id [String] Unique identifier for a Contact
@@ -6735,7 +6802,7 @@ module XeroRuby
6735
6802
  return data, status_code, headers
6736
6803
  end
6737
6804
 
6738
- # Allows you to retrieve, add and update contacts in a Xero organisation
6805
+ # Allows you to retrieve all contacts in a Xero organisation
6739
6806
  # @param xero_tenant_id [String] Xero identifier for Tenant
6740
6807
  # @param [Hash] opts the optional parameters
6741
6808
  # @option opts [DateTime] :if_modified_since Only records created or modified since this timestamp will be returned
@@ -6750,7 +6817,7 @@ module XeroRuby
6750
6817
  data
6751
6818
  end
6752
6819
 
6753
- # Allows you to retrieve, add and update contacts in a Xero organisation
6820
+ # Allows you to retrieve all contacts in a Xero organisation
6754
6821
  # @param xero_tenant_id [String] Xero identifier for Tenant
6755
6822
  # @param [Hash] opts the optional parameters
6756
6823
  # @option opts [DateTime] :if_modified_since Only records created or modified since this timestamp will be returned
@@ -9781,6 +9848,7 @@ module XeroRuby
9781
9848
  # @option opts [DateTime] :if_modified_since Only records created or modified since this timestamp will be returned
9782
9849
  # @option opts [String] :where Filter by an any element
9783
9850
  # @option opts [String] :order Order by an any element
9851
+ # @option opts [Integer] :page Up to 100 payments will be returned in a single API call
9784
9852
  # @return [Payments]
9785
9853
  def get_payments(xero_tenant_id, opts = {})
9786
9854
  data, _status_code, _headers = get_payments_with_http_info(xero_tenant_id, opts)
@@ -9793,6 +9861,7 @@ module XeroRuby
9793
9861
  # @option opts [DateTime] :if_modified_since Only records created or modified since this timestamp will be returned
9794
9862
  # @option opts [String] :where Filter by an any element
9795
9863
  # @option opts [String] :order Order by an any element
9864
+ # @option opts [Integer] :page Up to 100 payments will be returned in a single API call
9796
9865
  # @return [Array<(Payments, Integer, Hash)>] Payments data, response status code and response headers
9797
9866
  def get_payments_with_http_info(xero_tenant_id, opts = {})
9798
9867
  if @api_client.config.debugging
@@ -9809,6 +9878,7 @@ module XeroRuby
9809
9878
  query_params = opts[:query_params] || {}
9810
9879
  query_params[:'where'] = opts[:'where'] if !opts[:'where'].nil?
9811
9880
  query_params[:'order'] = opts[:'order'] if !opts[:'order'].nil?
9881
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
9812
9882
 
9813
9883
  # header parameters
9814
9884
  header_params = opts[:header_params] || {}
@@ -10122,6 +10192,73 @@ module XeroRuby
10122
10192
  return data, status_code, headers
10123
10193
  end
10124
10194
 
10195
+ # Allows you to retrieve purchase orders as PDF files
10196
+ # @param xero_tenant_id [String] Xero identifier for Tenant
10197
+ # @param purchase_order_id [String] Unique identifier for an Purchase Order
10198
+ # @param [Hash] opts the optional parameters
10199
+ # @return [File]
10200
+ def get_purchase_order_as_pdf(xero_tenant_id, purchase_order_id, opts = {})
10201
+ data, _status_code, _headers = get_purchase_order_as_pdf_with_http_info(xero_tenant_id, purchase_order_id, opts)
10202
+ data
10203
+ end
10204
+
10205
+ # Allows you to retrieve purchase orders as PDF files
10206
+ # @param xero_tenant_id [String] Xero identifier for Tenant
10207
+ # @param purchase_order_id [String] Unique identifier for an Purchase Order
10208
+ # @param [Hash] opts the optional parameters
10209
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
10210
+ def get_purchase_order_as_pdf_with_http_info(xero_tenant_id, purchase_order_id, opts = {})
10211
+ if @api_client.config.debugging
10212
+ @api_client.config.logger.debug 'Calling API: AccountingApi.get_purchase_order_as_pdf ...'
10213
+ end
10214
+ # verify the required parameter 'xero_tenant_id' is set
10215
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
10216
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AccountingApi.get_purchase_order_as_pdf"
10217
+ end
10218
+ # verify the required parameter 'purchase_order_id' is set
10219
+ if @api_client.config.client_side_validation && purchase_order_id.nil?
10220
+ fail ArgumentError, "Missing the required parameter 'purchase_order_id' when calling AccountingApi.get_purchase_order_as_pdf"
10221
+ end
10222
+ # resource path
10223
+ local_var_path = '/PurchaseOrders/{PurchaseOrderID}'.sub('{' + 'PurchaseOrderID' + '}', purchase_order_id.to_s)
10224
+
10225
+ # query parameters
10226
+ query_params = opts[:query_params] || {}
10227
+
10228
+ # header parameters
10229
+ header_params = opts[:header_params] || {}
10230
+ # HTTP header 'Accept' (if needed)
10231
+ header_params['Accept'] = @api_client.select_header_accept(['application/pdf'])
10232
+ header_params[:'xero-tenant-id'] = xero_tenant_id
10233
+
10234
+ # form parameters
10235
+ form_params = opts[:form_params] || {}
10236
+
10237
+ # http body (model)
10238
+ post_body = opts[:body]
10239
+
10240
+ # return_type
10241
+ return_type = opts[:return_type] || 'File'
10242
+
10243
+ # auth_names
10244
+ auth_names = opts[:auth_names] || ['OAuth2']
10245
+
10246
+ new_options = opts.merge(
10247
+ :header_params => header_params,
10248
+ :query_params => query_params,
10249
+ :form_params => form_params,
10250
+ :body => post_body,
10251
+ :auth_names => auth_names,
10252
+ :return_type => return_type
10253
+ )
10254
+
10255
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
10256
+ if @api_client.config.debugging
10257
+ @api_client.config.logger.debug "API called: AccountingApi#get_purchase_order_as_pdf\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
10258
+ end
10259
+ return data, status_code, headers
10260
+ end
10261
+
10125
10262
  # Allows you to retrieve a specified purchase orders
10126
10263
  # @param xero_tenant_id [String] Xero identifier for Tenant
10127
10264
  # @param purchase_order_number [String] Unique identifier for a PurchaseOrder
@@ -0,0 +1,452 @@
1
+ =begin
2
+ #Xero Assets API
3
+
4
+ #This is the Xero Assets API
5
+
6
+ The version of the OpenAPI document: 2.2.11
7
+ Contact: api@xero.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module XeroRuby
16
+ class AssetApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.new)
20
+ @api_client = api_client
21
+ end
22
+ # adds a fixed asset
23
+ # Adds an asset to the system
24
+ # @param xero_tenant_id [String] Xero identifier for Tenant
25
+ # @param asset [Asset] Fixed asset you are creating
26
+ # @param [Hash] opts the optional parameters
27
+ # @return [Asset]
28
+ def create_asset(xero_tenant_id, asset, opts = {})
29
+ data, _status_code, _headers = create_asset_with_http_info(xero_tenant_id, asset, opts)
30
+ data
31
+ end
32
+
33
+ # adds a fixed asset
34
+ # Adds an asset to the system
35
+ # @param xero_tenant_id [String] Xero identifier for Tenant
36
+ # @param asset [Asset] Fixed asset you are creating
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(Asset, Integer, Hash)>] Asset data, response status code and response headers
39
+ def create_asset_with_http_info(xero_tenant_id, asset, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: AssetApi.create_asset ...'
42
+ end
43
+ # verify the required parameter 'xero_tenant_id' is set
44
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AssetApi.create_asset"
46
+ end
47
+ # verify the required parameter 'asset' is set
48
+ if @api_client.config.client_side_validation && asset.nil?
49
+ fail ArgumentError, "Missing the required parameter 'asset' when calling AssetApi.create_asset"
50
+ end
51
+ # resource path
52
+ local_var_path = '/Assets'
53
+
54
+ # query parameters
55
+ query_params = opts[:query_params] || {}
56
+
57
+ # header parameters
58
+ header_params = opts[:header_params] || {}
59
+ # HTTP header 'Accept' (if needed)
60
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
+ # HTTP header 'Content-Type'
62
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
64
+
65
+ # form parameters
66
+ form_params = opts[:form_params] || {}
67
+
68
+ # http body (model)
69
+ post_body = opts[:body] || @api_client.object_to_http_body(asset)
70
+
71
+ # return_type
72
+ return_type = opts[:return_type] || 'Asset'
73
+
74
+ # auth_names
75
+ auth_names = opts[:auth_names] || ['OAuth2']
76
+
77
+ new_options = opts.merge(
78
+ :header_params => header_params,
79
+ :query_params => query_params,
80
+ :form_params => form_params,
81
+ :body => post_body,
82
+ :auth_names => auth_names,
83
+ :return_type => return_type
84
+ )
85
+
86
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
87
+ if @api_client.config.debugging
88
+ @api_client.config.logger.debug "API called: AssetApi#create_asset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
89
+ end
90
+ return data, status_code, headers
91
+ end
92
+
93
+ # adds a fixed asset type
94
+ # Adds an fixed asset type to the system
95
+ # @param xero_tenant_id [String] Xero identifier for Tenant
96
+ # @param [Hash] opts the optional parameters
97
+ # @option opts [AssetType] :asset_type Asset type to add
98
+ # @return [AssetType]
99
+ def create_asset_type(xero_tenant_id, opts = {})
100
+ data, _status_code, _headers = create_asset_type_with_http_info(xero_tenant_id, opts)
101
+ data
102
+ end
103
+
104
+ # adds a fixed asset type
105
+ # Adds an fixed asset type to the system
106
+ # @param xero_tenant_id [String] Xero identifier for Tenant
107
+ # @param [Hash] opts the optional parameters
108
+ # @option opts [AssetType] :asset_type Asset type to add
109
+ # @return [Array<(AssetType, Integer, Hash)>] AssetType data, response status code and response headers
110
+ def create_asset_type_with_http_info(xero_tenant_id, opts = {})
111
+ if @api_client.config.debugging
112
+ @api_client.config.logger.debug 'Calling API: AssetApi.create_asset_type ...'
113
+ end
114
+ # verify the required parameter 'xero_tenant_id' is set
115
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
116
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AssetApi.create_asset_type"
117
+ end
118
+ # resource path
119
+ local_var_path = '/AssetTypes'
120
+
121
+ # query parameters
122
+ query_params = opts[:query_params] || {}
123
+
124
+ # header parameters
125
+ header_params = opts[:header_params] || {}
126
+ # HTTP header 'Accept' (if needed)
127
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
128
+ # HTTP header 'Content-Type'
129
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
130
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
131
+
132
+ # form parameters
133
+ form_params = opts[:form_params] || {}
134
+
135
+ # http body (model)
136
+ post_body = opts[:body] || @api_client.object_to_http_body(opts[:'asset_type'])
137
+
138
+ # return_type
139
+ return_type = opts[:return_type] || 'AssetType'
140
+
141
+ # auth_names
142
+ auth_names = opts[:auth_names] || ['OAuth2']
143
+
144
+ new_options = opts.merge(
145
+ :header_params => header_params,
146
+ :query_params => query_params,
147
+ :form_params => form_params,
148
+ :body => post_body,
149
+ :auth_names => auth_names,
150
+ :return_type => return_type
151
+ )
152
+
153
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
154
+ if @api_client.config.debugging
155
+ @api_client.config.logger.debug "API called: AssetApi#create_asset_type\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
156
+ end
157
+ return data, status_code, headers
158
+ end
159
+
160
+ # retrieves fixed asset by id
161
+ # By passing in the appropriate asset id, you can search for a specific fixed asset in the system
162
+ # @param xero_tenant_id [String] Xero identifier for Tenant
163
+ # @param id [String] fixed asset id for single object
164
+ # @param [Hash] opts the optional parameters
165
+ # @return [Asset]
166
+ def get_asset_by_id(xero_tenant_id, id, opts = {})
167
+ data, _status_code, _headers = get_asset_by_id_with_http_info(xero_tenant_id, id, opts)
168
+ data
169
+ end
170
+
171
+ # retrieves fixed asset by id
172
+ # By passing in the appropriate asset id, you can search for a specific fixed asset in the system
173
+ # @param xero_tenant_id [String] Xero identifier for Tenant
174
+ # @param id [String] fixed asset id for single object
175
+ # @param [Hash] opts the optional parameters
176
+ # @return [Array<(Asset, Integer, Hash)>] Asset data, response status code and response headers
177
+ def get_asset_by_id_with_http_info(xero_tenant_id, id, opts = {})
178
+ if @api_client.config.debugging
179
+ @api_client.config.logger.debug 'Calling API: AssetApi.get_asset_by_id ...'
180
+ end
181
+ # verify the required parameter 'xero_tenant_id' is set
182
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
183
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AssetApi.get_asset_by_id"
184
+ end
185
+ # verify the required parameter 'id' is set
186
+ if @api_client.config.client_side_validation && id.nil?
187
+ fail ArgumentError, "Missing the required parameter 'id' when calling AssetApi.get_asset_by_id"
188
+ end
189
+ # resource path
190
+ local_var_path = '/Assets/{id}'.sub('{' + 'id' + '}', id.to_s)
191
+
192
+ # query parameters
193
+ query_params = opts[:query_params] || {}
194
+
195
+ # header parameters
196
+ header_params = opts[:header_params] || {}
197
+ # HTTP header 'Accept' (if needed)
198
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
199
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
200
+
201
+ # form parameters
202
+ form_params = opts[:form_params] || {}
203
+
204
+ # http body (model)
205
+ post_body = opts[:body]
206
+
207
+ # return_type
208
+ return_type = opts[:return_type] || 'Asset'
209
+
210
+ # auth_names
211
+ auth_names = opts[:auth_names] || ['OAuth2']
212
+
213
+ new_options = opts.merge(
214
+ :header_params => header_params,
215
+ :query_params => query_params,
216
+ :form_params => form_params,
217
+ :body => post_body,
218
+ :auth_names => auth_names,
219
+ :return_type => return_type
220
+ )
221
+
222
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
223
+ if @api_client.config.debugging
224
+ @api_client.config.logger.debug "API called: AssetApi#get_asset_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
225
+ end
226
+ return data, status_code, headers
227
+ end
228
+
229
+ # searches fixed asset settings
230
+ # By passing in the appropriate options, you can search for available fixed asset types in the system
231
+ # @param xero_tenant_id [String] Xero identifier for Tenant
232
+ # @param [Hash] opts the optional parameters
233
+ # @return [Setting]
234
+ def get_asset_settings(xero_tenant_id, opts = {})
235
+ data, _status_code, _headers = get_asset_settings_with_http_info(xero_tenant_id, opts)
236
+ data
237
+ end
238
+
239
+ # searches fixed asset settings
240
+ # By passing in the appropriate options, you can search for available fixed asset types in the system
241
+ # @param xero_tenant_id [String] Xero identifier for Tenant
242
+ # @param [Hash] opts the optional parameters
243
+ # @return [Array<(Setting, Integer, Hash)>] Setting data, response status code and response headers
244
+ def get_asset_settings_with_http_info(xero_tenant_id, opts = {})
245
+ if @api_client.config.debugging
246
+ @api_client.config.logger.debug 'Calling API: AssetApi.get_asset_settings ...'
247
+ end
248
+ # verify the required parameter 'xero_tenant_id' is set
249
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
250
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AssetApi.get_asset_settings"
251
+ end
252
+ # resource path
253
+ local_var_path = '/Settings'
254
+
255
+ # query parameters
256
+ query_params = opts[:query_params] || {}
257
+
258
+ # header parameters
259
+ header_params = opts[:header_params] || {}
260
+ # HTTP header 'Accept' (if needed)
261
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
262
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
263
+
264
+ # form parameters
265
+ form_params = opts[:form_params] || {}
266
+
267
+ # http body (model)
268
+ post_body = opts[:body]
269
+
270
+ # return_type
271
+ return_type = opts[:return_type] || 'Setting'
272
+
273
+ # auth_names
274
+ auth_names = opts[:auth_names] || ['OAuth2']
275
+
276
+ new_options = opts.merge(
277
+ :header_params => header_params,
278
+ :query_params => query_params,
279
+ :form_params => form_params,
280
+ :body => post_body,
281
+ :auth_names => auth_names,
282
+ :return_type => return_type
283
+ )
284
+
285
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
286
+ if @api_client.config.debugging
287
+ @api_client.config.logger.debug "API called: AssetApi#get_asset_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
288
+ end
289
+ return data, status_code, headers
290
+ end
291
+
292
+ # searches fixed asset types
293
+ # By passing in the appropriate options, you can search for available fixed asset types in the system
294
+ # @param xero_tenant_id [String] Xero identifier for Tenant
295
+ # @param [Hash] opts the optional parameters
296
+ # @return [Array<AssetType>]
297
+ def get_asset_types(xero_tenant_id, opts = {})
298
+ data, _status_code, _headers = get_asset_types_with_http_info(xero_tenant_id, opts)
299
+ data
300
+ end
301
+
302
+ # searches fixed asset types
303
+ # By passing in the appropriate options, you can search for available fixed asset types in the system
304
+ # @param xero_tenant_id [String] Xero identifier for Tenant
305
+ # @param [Hash] opts the optional parameters
306
+ # @return [Array<(Array<AssetType>, Integer, Hash)>] Array<AssetType> data, response status code and response headers
307
+ def get_asset_types_with_http_info(xero_tenant_id, opts = {})
308
+ if @api_client.config.debugging
309
+ @api_client.config.logger.debug 'Calling API: AssetApi.get_asset_types ...'
310
+ end
311
+ # verify the required parameter 'xero_tenant_id' is set
312
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
313
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AssetApi.get_asset_types"
314
+ end
315
+ # resource path
316
+ local_var_path = '/AssetTypes'
317
+
318
+ # query parameters
319
+ query_params = opts[:query_params] || {}
320
+
321
+ # header parameters
322
+ header_params = opts[:header_params] || {}
323
+ # HTTP header 'Accept' (if needed)
324
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
325
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
326
+
327
+ # form parameters
328
+ form_params = opts[:form_params] || {}
329
+
330
+ # http body (model)
331
+ post_body = opts[:body]
332
+
333
+ # return_type
334
+ return_type = opts[:return_type] || 'Array<AssetType>'
335
+
336
+ # auth_names
337
+ auth_names = opts[:auth_names] || ['OAuth2']
338
+
339
+ new_options = opts.merge(
340
+ :header_params => header_params,
341
+ :query_params => query_params,
342
+ :form_params => form_params,
343
+ :body => post_body,
344
+ :auth_names => auth_names,
345
+ :return_type => return_type
346
+ )
347
+
348
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
349
+ if @api_client.config.debugging
350
+ @api_client.config.logger.debug "API called: AssetApi#get_asset_types\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
351
+ end
352
+ return data, status_code, headers
353
+ end
354
+
355
+ # searches fixed asset
356
+ # By passing in the appropriate options, you can search for available fixed asset in the system
357
+ # @param xero_tenant_id [String] Xero identifier for Tenant
358
+ # @param status [AssetStatusQueryParam] Required when retrieving a collection of assets. See Asset Status Codes
359
+ # @param [Hash] opts the optional parameters
360
+ # @option opts [Integer] :page Results are paged. This specifies which page of the results to return. The default page is 1.
361
+ # @option opts [Integer] :page_size The number of records returned per page. By default the number of records returned is 10.
362
+ # @option opts [String] :order_by Requests can be ordered by AssetType, AssetName, AssetNumber, PurchaseDate and PurchasePrice. If the asset status is DISPOSED it also allows DisposalDate and DisposalPrice.
363
+ # @option opts [String] :sort_direction ASC or DESC
364
+ # @option opts [String] :filter_by A string that can be used to filter the list to only return assets containing the text. Checks it against the AssetName, AssetNumber, Description and AssetTypeName fields.
365
+ # @return [Assets]
366
+ def get_assets(xero_tenant_id, status, opts = {})
367
+ data, _status_code, _headers = get_assets_with_http_info(xero_tenant_id, status, opts)
368
+ data
369
+ end
370
+
371
+ # searches fixed asset
372
+ # By passing in the appropriate options, you can search for available fixed asset in the system
373
+ # @param xero_tenant_id [String] Xero identifier for Tenant
374
+ # @param status [AssetStatusQueryParam] Required when retrieving a collection of assets. See Asset Status Codes
375
+ # @param [Hash] opts the optional parameters
376
+ # @option opts [Integer] :page Results are paged. This specifies which page of the results to return. The default page is 1.
377
+ # @option opts [Integer] :page_size The number of records returned per page. By default the number of records returned is 10.
378
+ # @option opts [String] :order_by Requests can be ordered by AssetType, AssetName, AssetNumber, PurchaseDate and PurchasePrice. If the asset status is DISPOSED it also allows DisposalDate and DisposalPrice.
379
+ # @option opts [String] :sort_direction ASC or DESC
380
+ # @option opts [String] :filter_by A string that can be used to filter the list to only return assets containing the text. Checks it against the AssetName, AssetNumber, Description and AssetTypeName fields.
381
+ # @return [Array<(Assets, Integer, Hash)>] Assets data, response status code and response headers
382
+ def get_assets_with_http_info(xero_tenant_id, status, opts = {})
383
+ if @api_client.config.debugging
384
+ @api_client.config.logger.debug 'Calling API: AssetApi.get_assets ...'
385
+ end
386
+ # verify the required parameter 'xero_tenant_id' is set
387
+ if @api_client.config.client_side_validation && xero_tenant_id.nil?
388
+ fail ArgumentError, "Missing the required parameter 'xero_tenant_id' when calling AssetApi.get_assets"
389
+ end
390
+ # verify the required parameter 'status' is set
391
+ if @api_client.config.client_side_validation && status.nil?
392
+ fail ArgumentError, "Missing the required parameter 'status' when calling AssetApi.get_assets"
393
+ end
394
+ allowable_values = ["AssetType", "AssetName", "AssetNumber", "PurchaseDate", "PurchasePrice", "DisposalDate", "DisposalPrice"]
395
+ if @api_client.config.client_side_validation && opts[:'order_by'] && !allowable_values.include?(opts[:'order_by'])
396
+ fail ArgumentError, "invalid value for \"order_by\", must be one of #{allowable_values}"
397
+ end
398
+ allowable_values = ["asc", "desc"]
399
+ if @api_client.config.client_side_validation && opts[:'sort_direction'] && !allowable_values.include?(opts[:'sort_direction'])
400
+ fail ArgumentError, "invalid value for \"sort_direction\", must be one of #{allowable_values}"
401
+ end
402
+ allowable_values = ["AssetName", "AssetNumber", "Description", "AssetTypeName"]
403
+ if @api_client.config.client_side_validation && opts[:'filter_by'] && !allowable_values.include?(opts[:'filter_by'])
404
+ fail ArgumentError, "invalid value for \"filter_by\", must be one of #{allowable_values}"
405
+ end
406
+ # resource path
407
+ local_var_path = '/Assets'
408
+
409
+ # query parameters
410
+ query_params = opts[:query_params] || {}
411
+ query_params[:'status'] = status
412
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
413
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
414
+ query_params[:'orderBy'] = opts[:'order_by'] if !opts[:'order_by'].nil?
415
+ query_params[:'sortDirection'] = opts[:'sort_direction'] if !opts[:'sort_direction'].nil?
416
+ query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
417
+
418
+ # header parameters
419
+ header_params = opts[:header_params] || {}
420
+ # HTTP header 'Accept' (if needed)
421
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
422
+ header_params[:'Xero-Tenant-Id'] = xero_tenant_id
423
+
424
+ # form parameters
425
+ form_params = opts[:form_params] || {}
426
+
427
+ # http body (model)
428
+ post_body = opts[:body]
429
+
430
+ # return_type
431
+ return_type = opts[:return_type] || 'Assets'
432
+
433
+ # auth_names
434
+ auth_names = opts[:auth_names] || ['OAuth2']
435
+
436
+ new_options = opts.merge(
437
+ :header_params => header_params,
438
+ :query_params => query_params,
439
+ :form_params => form_params,
440
+ :body => post_body,
441
+ :auth_names => auth_names,
442
+ :return_type => return_type
443
+ )
444
+
445
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
446
+ if @api_client.config.debugging
447
+ @api_client.config.logger.debug "API called: AssetApi#get_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
448
+ end
449
+ return data, status_code, headers
450
+ end
451
+ end
452
+ end