xero-ruby 2.0.2 → 2.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +183 -101
  3. data/build_notes.md +35 -5
  4. data/docs/accounting/Account.md +1 -1
  5. data/docs/accounting/AccountsPayable.md +2 -2
  6. data/docs/accounting/AccountsReceivable.md +2 -2
  7. data/docs/accounting/Allocation.md +1 -1
  8. data/docs/accounting/Attachment.md +1 -1
  9. data/docs/accounting/BankTransaction.md +6 -6
  10. data/docs/accounting/BankTransfer.md +3 -3
  11. data/docs/accounting/BatchPayment.md +2 -2
  12. data/docs/accounting/BrandingTheme.md +1 -1
  13. data/docs/accounting/Contact.md +2 -2
  14. data/docs/accounting/CreditNote.md +6 -6
  15. data/docs/accounting/Employee.md +1 -1
  16. data/docs/accounting/ExpenseClaim.md +4 -4
  17. data/docs/accounting/HistoryRecord.md +1 -1
  18. data/docs/accounting/Invoice.md +10 -10
  19. data/docs/accounting/Item.md +3 -3
  20. data/docs/accounting/Journal.md +1 -1
  21. data/docs/accounting/JournalLine.md +3 -3
  22. data/docs/accounting/LineItem.md +6 -6
  23. data/docs/accounting/LinkedTransaction.md +1 -1
  24. data/docs/accounting/ManualJournal.md +1 -1
  25. data/docs/accounting/ManualJournalLine.md +2 -2
  26. data/docs/accounting/Organisation.md +1 -1
  27. data/docs/accounting/Overpayment.md +6 -6
  28. data/docs/accounting/Payment.md +3 -3
  29. data/docs/accounting/Prepayment.md +6 -6
  30. data/docs/accounting/Purchase.md +1 -1
  31. data/docs/accounting/PurchaseOrder.md +6 -6
  32. data/docs/accounting/Quote.md +5 -5
  33. data/docs/accounting/Receipt.md +4 -4
  34. data/docs/accounting/RepeatingInvoice.md +3 -3
  35. data/docs/accounting/Report.md +1 -1
  36. data/docs/accounting/ReportWithRow.md +1 -1
  37. data/docs/accounting/TaxComponent.md +1 -1
  38. data/docs/accounting/TaxRate.md +2 -2
  39. data/docs/accounting/TenNinetyNineContact.md +13 -13
  40. data/docs/accounting/User.md +1 -1
  41. data/docs/assets/Asset.md +3 -3
  42. data/docs/assets/AssetApi.md +6 -6
  43. data/docs/assets/BookDepreciationDetail.md +6 -6
  44. data/docs/assets/BookDepreciationSetting.md +1 -1
  45. data/docs/projects/Amount.md +1 -1
  46. data/docs/projects/ProjectCreateOrUpdate.md +1 -1
  47. data/lib/xero-ruby.rb +1 -1
  48. data/lib/xero-ruby/api/accounting_api.rb +1506 -1
  49. data/lib/xero-ruby/api/asset_api.rb +49 -7
  50. data/lib/xero-ruby/api/project_api.rb +92 -1
  51. data/lib/xero-ruby/api_client.rb +36 -3
  52. data/lib/xero-ruby/api_error.rb +1 -1
  53. data/lib/xero-ruby/configuration.rb +2 -2
  54. data/lib/xero-ruby/models/accounting/account.rb +1 -17
  55. data/lib/xero-ruby/models/accounting/account_type.rb +1 -1
  56. data/lib/xero-ruby/models/accounting/accounts.rb +1 -1
  57. data/lib/xero-ruby/models/accounting/accounts_payable.rb +1 -1
  58. data/lib/xero-ruby/models/accounting/accounts_receivable.rb +1 -1
  59. data/lib/xero-ruby/models/accounting/address.rb +1 -1
  60. data/lib/xero-ruby/models/accounting/allocation.rb +1 -1
  61. data/lib/xero-ruby/models/accounting/allocations.rb +1 -1
  62. data/lib/xero-ruby/models/accounting/attachment.rb +2 -2
  63. data/lib/xero-ruby/models/accounting/attachments.rb +1 -1
  64. data/lib/xero-ruby/models/accounting/balances.rb +1 -1
  65. data/lib/xero-ruby/models/accounting/bank_transaction.rb +1 -6
  66. data/lib/xero-ruby/models/accounting/bank_transactions.rb +1 -1
  67. data/lib/xero-ruby/models/accounting/bank_transfer.rb +1 -1
  68. data/lib/xero-ruby/models/accounting/bank_transfers.rb +1 -1
  69. data/lib/xero-ruby/models/accounting/batch_payment.rb +1 -16
  70. data/lib/xero-ruby/models/accounting/batch_payment_details.rb +1 -1
  71. data/lib/xero-ruby/models/accounting/batch_payments.rb +1 -1
  72. data/lib/xero-ruby/models/accounting/bill.rb +1 -1
  73. data/lib/xero-ruby/models/accounting/branding_theme.rb +1 -1
  74. data/lib/xero-ruby/models/accounting/branding_themes.rb +1 -1
  75. data/lib/xero-ruby/models/accounting/cis_org_setting.rb +1 -1
  76. data/lib/xero-ruby/models/accounting/cis_setting.rb +1 -1
  77. data/lib/xero-ruby/models/accounting/cis_settings.rb +1 -1
  78. data/lib/xero-ruby/models/accounting/contact.rb +1 -1
  79. data/lib/xero-ruby/models/accounting/contact_group.rb +1 -1
  80. data/lib/xero-ruby/models/accounting/contact_groups.rb +1 -1
  81. data/lib/xero-ruby/models/accounting/contact_person.rb +1 -1
  82. data/lib/xero-ruby/models/accounting/contacts.rb +1 -1
  83. data/lib/xero-ruby/models/accounting/country_code.rb +1 -1
  84. data/lib/xero-ruby/models/accounting/credit_note.rb +1 -1
  85. data/lib/xero-ruby/models/accounting/credit_notes.rb +1 -1
  86. data/lib/xero-ruby/models/accounting/currencies.rb +1 -1
  87. data/lib/xero-ruby/models/accounting/currency.rb +1 -1
  88. data/lib/xero-ruby/models/accounting/currency_code.rb +1 -1
  89. data/lib/xero-ruby/models/accounting/element.rb +1 -1
  90. data/lib/xero-ruby/models/accounting/employee.rb +4 -3
  91. data/lib/xero-ruby/models/accounting/employees.rb +1 -1
  92. data/lib/xero-ruby/models/accounting/error.rb +1 -1
  93. data/lib/xero-ruby/models/accounting/expense_claim.rb +1 -1
  94. data/lib/xero-ruby/models/accounting/expense_claims.rb +1 -1
  95. data/lib/xero-ruby/models/accounting/external_link.rb +1 -1
  96. data/lib/xero-ruby/models/accounting/history_record.rb +1 -1
  97. data/lib/xero-ruby/models/accounting/history_records.rb +1 -1
  98. data/lib/xero-ruby/models/accounting/invoice.rb +1 -1
  99. data/lib/xero-ruby/models/accounting/invoice_reminder.rb +1 -1
  100. data/lib/xero-ruby/models/accounting/invoice_reminders.rb +1 -1
  101. data/lib/xero-ruby/models/accounting/invoices.rb +1 -1
  102. data/lib/xero-ruby/models/accounting/item.rb +1 -1
  103. data/lib/xero-ruby/models/accounting/items.rb +1 -1
  104. data/lib/xero-ruby/models/accounting/journal.rb +1 -1
  105. data/lib/xero-ruby/models/accounting/journal_line.rb +1 -1
  106. data/lib/xero-ruby/models/accounting/journals.rb +1 -1
  107. data/lib/xero-ruby/models/accounting/line_amount_types.rb +1 -1
  108. data/lib/xero-ruby/models/accounting/line_item.rb +1 -1
  109. data/lib/xero-ruby/models/accounting/line_item_tracking.rb +1 -1
  110. data/lib/xero-ruby/models/accounting/linked_transaction.rb +1 -1
  111. data/lib/xero-ruby/models/accounting/linked_transactions.rb +1 -1
  112. data/lib/xero-ruby/models/accounting/manual_journal.rb +1 -1
  113. data/lib/xero-ruby/models/accounting/manual_journal_line.rb +1 -1
  114. data/lib/xero-ruby/models/accounting/manual_journals.rb +1 -1
  115. data/lib/xero-ruby/models/accounting/online_invoice.rb +1 -1
  116. data/lib/xero-ruby/models/accounting/online_invoices.rb +1 -1
  117. data/lib/xero-ruby/models/accounting/organisation.rb +1 -3
  118. data/lib/xero-ruby/models/accounting/organisations.rb +1 -1
  119. data/lib/xero-ruby/models/accounting/overpayment.rb +1 -1
  120. data/lib/xero-ruby/models/accounting/overpayments.rb +1 -1
  121. data/lib/xero-ruby/models/accounting/payment.rb +1 -1
  122. data/lib/xero-ruby/models/accounting/payment_delete.rb +1 -1
  123. data/lib/xero-ruby/models/accounting/payment_service.rb +1 -1
  124. data/lib/xero-ruby/models/accounting/payment_services.rb +1 -1
  125. data/lib/xero-ruby/models/accounting/payment_term.rb +1 -1
  126. data/lib/xero-ruby/models/accounting/payment_term_type.rb +1 -1
  127. data/lib/xero-ruby/models/accounting/payments.rb +1 -1
  128. data/lib/xero-ruby/models/accounting/phone.rb +1 -1
  129. data/lib/xero-ruby/models/accounting/prepayment.rb +1 -1
  130. data/lib/xero-ruby/models/accounting/prepayments.rb +1 -1
  131. data/lib/xero-ruby/models/accounting/purchase.rb +1 -1
  132. data/lib/xero-ruby/models/accounting/purchase_order.rb +1 -1
  133. data/lib/xero-ruby/models/accounting/purchase_orders.rb +1 -1
  134. data/lib/xero-ruby/models/accounting/quote.rb +1 -1
  135. data/lib/xero-ruby/models/accounting/quote_line_amount_types.rb +1 -1
  136. data/lib/xero-ruby/models/accounting/quote_status_codes.rb +1 -1
  137. data/lib/xero-ruby/models/accounting/quotes.rb +1 -1
  138. data/lib/xero-ruby/models/accounting/receipt.rb +1 -1
  139. data/lib/xero-ruby/models/accounting/receipts.rb +1 -1
  140. data/lib/xero-ruby/models/accounting/repeating_invoice.rb +1 -1
  141. data/lib/xero-ruby/models/accounting/repeating_invoices.rb +1 -1
  142. data/lib/xero-ruby/models/accounting/report.rb +1 -1
  143. data/lib/xero-ruby/models/accounting/report_attribute.rb +1 -1
  144. data/lib/xero-ruby/models/accounting/report_cell.rb +1 -1
  145. data/lib/xero-ruby/models/accounting/report_fields.rb +1 -1
  146. data/lib/xero-ruby/models/accounting/report_row.rb +1 -1
  147. data/lib/xero-ruby/models/accounting/report_rows.rb +1 -1
  148. data/lib/xero-ruby/models/accounting/report_with_row.rb +1 -1
  149. data/lib/xero-ruby/models/accounting/report_with_rows.rb +1 -1
  150. data/lib/xero-ruby/models/accounting/reports.rb +1 -1
  151. data/lib/xero-ruby/models/accounting/request_empty.rb +1 -1
  152. data/lib/xero-ruby/models/accounting/row_type.rb +1 -1
  153. data/lib/xero-ruby/models/accounting/sales_tracking_category.rb +1 -1
  154. data/lib/xero-ruby/models/accounting/schedule.rb +1 -1
  155. data/lib/xero-ruby/models/accounting/tax_component.rb +1 -1
  156. data/lib/xero-ruby/models/accounting/tax_rate.rb +1 -1
  157. data/lib/xero-ruby/models/accounting/tax_rates.rb +1 -1
  158. data/lib/xero-ruby/models/accounting/tax_type.rb +1 -1
  159. data/lib/xero-ruby/models/accounting/ten_ninety_nine_contact.rb +1 -1
  160. data/lib/xero-ruby/models/accounting/time_zone.rb +2 -1
  161. data/lib/xero-ruby/models/accounting/tracking_categories.rb +1 -1
  162. data/lib/xero-ruby/models/accounting/tracking_category.rb +1 -1
  163. data/lib/xero-ruby/models/accounting/tracking_option.rb +1 -1
  164. data/lib/xero-ruby/models/accounting/tracking_options.rb +1 -1
  165. data/lib/xero-ruby/models/accounting/user.rb +1 -1
  166. data/lib/xero-ruby/models/accounting/users.rb +1 -1
  167. data/lib/xero-ruby/models/accounting/validation_error.rb +1 -1
  168. data/lib/xero-ruby/models/assets/asset.rb +1 -1
  169. data/lib/xero-ruby/models/assets/asset_status.rb +1 -1
  170. data/lib/xero-ruby/models/assets/asset_status_query_param.rb +1 -1
  171. data/lib/xero-ruby/models/assets/asset_type.rb +1 -1
  172. data/lib/xero-ruby/models/assets/assets.rb +1 -1
  173. data/lib/xero-ruby/models/assets/book_depreciation_detail.rb +1 -1
  174. data/lib/xero-ruby/models/assets/book_depreciation_setting.rb +1 -1
  175. data/lib/xero-ruby/models/assets/error.rb +1 -1
  176. data/lib/xero-ruby/models/assets/field_validation_errors_element.rb +1 -1
  177. data/lib/xero-ruby/models/assets/pagination.rb +1 -1
  178. data/lib/xero-ruby/models/assets/resource_validation_errors_element.rb +1 -1
  179. data/lib/xero-ruby/models/assets/setting.rb +1 -1
  180. data/lib/xero-ruby/models/projects/amount.rb +1 -1
  181. data/lib/xero-ruby/models/projects/charge_type.rb +1 -1
  182. data/lib/xero-ruby/models/projects/currency_code.rb +1 -1
  183. data/lib/xero-ruby/models/projects/error.rb +1 -1
  184. data/lib/xero-ruby/models/projects/pagination.rb +1 -1
  185. data/lib/xero-ruby/models/projects/project.rb +1 -1
  186. data/lib/xero-ruby/models/projects/project_create_or_update.rb +1 -1
  187. data/lib/xero-ruby/models/projects/project_patch.rb +1 -1
  188. data/lib/xero-ruby/models/projects/project_status.rb +1 -1
  189. data/lib/xero-ruby/models/projects/project_user.rb +1 -1
  190. data/lib/xero-ruby/models/projects/project_users.rb +1 -1
  191. data/lib/xero-ruby/models/projects/projects.rb +1 -1
  192. data/lib/xero-ruby/models/projects/task.rb +1 -1
  193. data/lib/xero-ruby/models/projects/task_create_or_update.rb +1 -1
  194. data/lib/xero-ruby/models/projects/tasks.rb +1 -1
  195. data/lib/xero-ruby/models/projects/time_entries.rb +1 -1
  196. data/lib/xero-ruby/models/projects/time_entry.rb +1 -1
  197. data/lib/xero-ruby/models/projects/time_entry_create_or_update.rb +1 -1
  198. data/lib/xero-ruby/version.rb +2 -2
  199. data/spec/api_client_spec.rb +6 -6
  200. data/xero-ruby.gem +0 -0
  201. data/xero-ruby.gemspec +2 -2
  202. metadata +4 -4
  203. data/Gemfile.lock +0 -68
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Xero Assets API
5
5
 
6
- The version of the OpenAPI document: 2.2.11
6
+ The version of the OpenAPI document: 2.3.0
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1
@@ -51,8 +51,15 @@ module XeroRuby
51
51
  # resource path
52
52
  local_var_path = '/Assets'
53
53
 
54
+ # camelize keys of incoming `where` opts
55
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
56
+
54
57
  # query parameters
55
58
  query_params = opts[:query_params] || {}
59
+
60
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
61
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
62
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
56
63
 
57
64
  # header parameters
58
65
  header_params = opts[:header_params] || {}
@@ -60,7 +67,7 @@ module XeroRuby
60
67
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
68
  # HTTP header 'Content-Type'
62
69
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
70
+ header_params[:'xero-tenant-id'] = xero_tenant_id
64
71
 
65
72
  # form parameters
66
73
  form_params = opts[:form_params] || {}
@@ -118,8 +125,15 @@ module XeroRuby
118
125
  # resource path
119
126
  local_var_path = '/AssetTypes'
120
127
 
128
+ # camelize keys of incoming `where` opts
129
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
130
+
121
131
  # query parameters
122
132
  query_params = opts[:query_params] || {}
133
+
134
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
135
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
136
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
123
137
 
124
138
  # header parameters
125
139
  header_params = opts[:header_params] || {}
@@ -127,7 +141,7 @@ module XeroRuby
127
141
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
128
142
  # HTTP header 'Content-Type'
129
143
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
130
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
144
+ header_params[:'xero-tenant-id'] = xero_tenant_id
131
145
 
132
146
  # form parameters
133
147
  form_params = opts[:form_params] || {}
@@ -189,14 +203,21 @@ module XeroRuby
189
203
  # resource path
190
204
  local_var_path = '/Assets/{id}'.sub('{' + 'id' + '}', id.to_s)
191
205
 
206
+ # camelize keys of incoming `where` opts
207
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
208
+
192
209
  # query parameters
193
210
  query_params = opts[:query_params] || {}
211
+
212
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
213
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
214
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
194
215
 
195
216
  # header parameters
196
217
  header_params = opts[:header_params] || {}
197
218
  # HTTP header 'Accept' (if needed)
198
219
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
199
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
220
+ header_params[:'xero-tenant-id'] = xero_tenant_id
200
221
 
201
222
  # form parameters
202
223
  form_params = opts[:form_params] || {}
@@ -252,14 +273,21 @@ module XeroRuby
252
273
  # resource path
253
274
  local_var_path = '/Settings'
254
275
 
276
+ # camelize keys of incoming `where` opts
277
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
278
+
255
279
  # query parameters
256
280
  query_params = opts[:query_params] || {}
281
+
282
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
283
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
284
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
257
285
 
258
286
  # header parameters
259
287
  header_params = opts[:header_params] || {}
260
288
  # HTTP header 'Accept' (if needed)
261
289
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
262
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
290
+ header_params[:'xero-tenant-id'] = xero_tenant_id
263
291
 
264
292
  # form parameters
265
293
  form_params = opts[:form_params] || {}
@@ -315,14 +343,21 @@ module XeroRuby
315
343
  # resource path
316
344
  local_var_path = '/AssetTypes'
317
345
 
346
+ # camelize keys of incoming `where` opts
347
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
348
+
318
349
  # query parameters
319
350
  query_params = opts[:query_params] || {}
351
+
352
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
353
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
354
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
320
355
 
321
356
  # header parameters
322
357
  header_params = opts[:header_params] || {}
323
358
  # HTTP header 'Accept' (if needed)
324
359
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
325
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
360
+ header_params[:'xero-tenant-id'] = xero_tenant_id
326
361
 
327
362
  # form parameters
328
363
  form_params = opts[:form_params] || {}
@@ -406,6 +441,9 @@ module XeroRuby
406
441
  # resource path
407
442
  local_var_path = '/Assets'
408
443
 
444
+ # camelize keys of incoming `where` opts
445
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
446
+
409
447
  # query parameters
410
448
  query_params = opts[:query_params] || {}
411
449
  query_params[:'status'] = status
@@ -414,12 +452,16 @@ module XeroRuby
414
452
  query_params[:'orderBy'] = opts[:'order_by'] if !opts[:'order_by'].nil?
415
453
  query_params[:'sortDirection'] = opts[:'sort_direction'] if !opts[:'sort_direction'].nil?
416
454
  query_params[:'filterBy'] = opts[:'filter_by'] if !opts[:'filter_by'].nil?
455
+
456
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
457
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
458
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
417
459
 
418
460
  # header parameters
419
461
  header_params = opts[:header_params] || {}
420
462
  # HTTP header 'Accept' (if needed)
421
463
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
422
- header_params[:'Xero-Tenant-Id'] = xero_tenant_id
464
+ header_params[:'xero-tenant-id'] = xero_tenant_id
423
465
 
424
466
  # form parameters
425
467
  form_params = opts[:form_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #This is the Xero Projects API
5
5
 
6
- The version of the OpenAPI document: 2.2.11
6
+ The version of the OpenAPI document: 2.3.0
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1
@@ -49,8 +49,15 @@ module XeroRuby
49
49
  # resource path
50
50
  local_var_path = '/projects'
51
51
 
52
+ # camelize keys of incoming `where` opts
53
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
54
+
52
55
  # query parameters
53
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?
54
61
 
55
62
  # header parameters
56
63
  header_params = opts[:header_params] || {}
@@ -126,8 +133,15 @@ module XeroRuby
126
133
  # resource path
127
134
  local_var_path = '/projects/{projectId}/time'.sub('{' + 'projectId' + '}', project_id.to_s)
128
135
 
136
+ # camelize keys of incoming `where` opts
137
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
138
+
129
139
  # query parameters
130
140
  query_params = opts[:query_params] || {}
141
+
142
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
143
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
144
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
131
145
 
132
146
  # header parameters
133
147
  header_params = opts[:header_params] || {}
@@ -203,8 +217,15 @@ module XeroRuby
203
217
  # resource path
204
218
  local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
205
219
 
220
+ # camelize keys of incoming `where` opts
221
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
222
+
206
223
  # query parameters
207
224
  query_params = opts[:query_params] || {}
225
+
226
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
227
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
228
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
208
229
 
209
230
  # header parameters
210
231
  header_params = opts[:header_params] || {}
@@ -270,8 +291,15 @@ module XeroRuby
270
291
  # resource path
271
292
  local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
272
293
 
294
+ # camelize keys of incoming `where` opts
295
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
296
+
273
297
  # query parameters
274
298
  query_params = opts[:query_params] || {}
299
+
300
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
301
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
302
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
275
303
 
276
304
  # header parameters
277
305
  header_params = opts[:header_params] || {}
@@ -345,10 +373,17 @@ module XeroRuby
345
373
  # resource path
346
374
  local_var_path = '/projectsusers'
347
375
 
376
+ # camelize keys of incoming `where` opts
377
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
378
+
348
379
  # query parameters
349
380
  query_params = opts[:query_params] || {}
350
381
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
351
382
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
383
+
384
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
385
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
386
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
352
387
 
353
388
  # header parameters
354
389
  header_params = opts[:header_params] || {}
@@ -428,6 +463,9 @@ module XeroRuby
428
463
  # resource path
429
464
  local_var_path = '/projects'
430
465
 
466
+ # camelize keys of incoming `where` opts
467
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
468
+
431
469
  # query parameters
432
470
  query_params = opts[:query_params] || {}
433
471
  query_params[:'projectIds'] = @api_client.build_collection_param(opts[:'project_ids'], :multi) if !opts[:'project_ids'].nil?
@@ -435,6 +473,10 @@ module XeroRuby
435
473
  query_params[:'states'] = opts[:'states'] if !opts[:'states'].nil?
436
474
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
437
475
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
476
+
477
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
478
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
479
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
438
480
 
439
481
  # header parameters
440
482
  header_params = opts[:header_params] || {}
@@ -508,8 +550,15 @@ module XeroRuby
508
550
  # resource path
509
551
  local_var_path = '/projects/{projectId}/tasks/{taskId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'taskId' + '}', task_id.to_s)
510
552
 
553
+ # camelize keys of incoming `where` opts
554
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
555
+
511
556
  # query parameters
512
557
  query_params = opts[:query_params] || {}
558
+
559
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
560
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
561
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
513
562
 
514
563
  # header parameters
515
564
  header_params = opts[:header_params] || {}
@@ -583,11 +632,18 @@ module XeroRuby
583
632
  # resource path
584
633
  local_var_path = '/projects/{projectId}/tasks'.sub('{' + 'projectId' + '}', project_id.to_s)
585
634
 
635
+ # camelize keys of incoming `where` opts
636
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
637
+
586
638
  # query parameters
587
639
  query_params = opts[:query_params] || {}
588
640
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
589
641
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
590
642
  query_params[:'taskIds'] = opts[:'task_ids'] if !opts[:'task_ids'].nil?
643
+
644
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
645
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
646
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
591
647
 
592
648
  # header parameters
593
649
  header_params = opts[:header_params] || {}
@@ -675,6 +731,9 @@ module XeroRuby
675
731
  # resource path
676
732
  local_var_path = '/projects/{projectId}/time'.sub('{' + 'projectId' + '}', project_id.to_s)
677
733
 
734
+ # camelize keys of incoming `where` opts
735
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
736
+
678
737
  # query parameters
679
738
  query_params = opts[:query_params] || {}
680
739
  query_params[:'userId'] = opts[:'user_id'] if !opts[:'user_id'].nil?
@@ -687,6 +746,10 @@ module XeroRuby
687
746
  query_params[:'isChargeable'] = opts[:'is_chargeable'] if !opts[:'is_chargeable'].nil?
688
747
  query_params[:'dateAfterUtc'] = opts[:'date_after_utc'] if !opts[:'date_after_utc'].nil?
689
748
  query_params[:'dateBeforeUtc'] = opts[:'date_before_utc'] if !opts[:'date_before_utc'].nil?
749
+
750
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
751
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
752
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
690
753
 
691
754
  # header parameters
692
755
  header_params = opts[:header_params] || {}
@@ -760,8 +823,15 @@ module XeroRuby
760
823
  # resource path
761
824
  local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
762
825
 
826
+ # camelize keys of incoming `where` opts
827
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
828
+
763
829
  # query parameters
764
830
  query_params = opts[:query_params] || {}
831
+
832
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
833
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
834
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
765
835
 
766
836
  # header parameters
767
837
  header_params = opts[:header_params] || {}
@@ -835,8 +905,15 @@ module XeroRuby
835
905
  # resource path
836
906
  local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
837
907
 
908
+ # camelize keys of incoming `where` opts
909
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
910
+
838
911
  # query parameters
839
912
  query_params = opts[:query_params] || {}
913
+
914
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
915
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
916
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
840
917
 
841
918
  # header parameters
842
919
  header_params = opts[:header_params] || {}
@@ -912,8 +989,15 @@ module XeroRuby
912
989
  # resource path
913
990
  local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
914
991
 
992
+ # camelize keys of incoming `where` opts
993
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
994
+
915
995
  # query parameters
916
996
  query_params = opts[:query_params] || {}
997
+
998
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
999
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1000
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
917
1001
 
918
1002
  # header parameters
919
1003
  header_params = opts[:header_params] || {}
@@ -995,8 +1079,15 @@ module XeroRuby
995
1079
  # resource path
996
1080
  local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
997
1081
 
1082
+ # camelize keys of incoming `where` opts
1083
+ opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
1084
+
998
1085
  # query parameters
999
1086
  query_params = opts[:query_params] || {}
1087
+
1088
+ # XeroAPI's `IDs` convention openapi-generator does not snake_case properly.. manual over-riding `i_ds` malformations:
1089
+ query_params[:'IDs'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil?
1090
+ query_params[:'ContactIDs'] = @api_client.build_collection_param(opts[:'contact_ids'], :csv) if !opts[:'contact_ids'].nil?
1000
1091
 
1001
1092
  # header parameters
1002
1093
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
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.2.11
6
+ The version of the OpenAPI document: 2.3.0
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1
@@ -192,7 +192,7 @@ module XeroRuby
192
192
  # @option opts [Hash] :query_params Query parameters
193
193
  # @option opts [Hash] :form_params Query parameters
194
194
  # @option opts [Object] :body HTTP body (JSON/XML)
195
- # @return [Typhoeus::Request] A Typhoeus Request
195
+ # @return A Faraday Request
196
196
  def build_request(http_method, path, request, opts = {})
197
197
  url = build_request_url(path)
198
198
  http_method = http_method.to_sym.downcase
@@ -518,7 +518,7 @@ module XeroRuby
518
518
  end
519
519
 
520
520
  def gsubbed(str, pattern, extra = "")
521
- key_map_scronyms = { "id": "ID" }
521
+ key_map_scronyms = {}
522
522
  str = str.gsub(pattern) do
523
523
  extra + (key_map_scronyms[Regexp.last_match(1)] || capitalize_first(Regexp.last_match(1)))
524
524
  end
@@ -550,5 +550,38 @@ module XeroRuby
550
550
  fail "unknown collection format: #{collection_format.inspect}"
551
551
  end
552
552
  end
553
+
554
+ def parameterize_where(where_opts)
555
+ where_opts.map do |k,v|
556
+ case v
557
+ when Array
558
+ operator = v.first
559
+ query = v.last
560
+ if query.is_a?(Date)
561
+ "#{camelize_key(k)} #{operator} DateTime(#{query.strftime("%Y,%m,%d")})"
562
+ elsif [Float, Integer].member?(query.class)
563
+ %{#{camelize_key(k)} #{operator} #{query}}
564
+ elsif [true, false].member?(query)
565
+ %{#{camelize_key(k)} #{operator} #{query}}
566
+ else
567
+ if k == :contact_id
568
+ %{Contact.ContactID #{operator} guid("#{query}")}
569
+ elsif k == :contact_number
570
+ %{Contact.ContactNumber #{operator} "#{query}"}
571
+ else
572
+ %{#{camelize_key(k)} #{operator} "#{query}"}
573
+ end
574
+ end
575
+ when Range
576
+ if v.first.is_a?(DateTime) || v.first.is_a?(Date) || v.first.is_a?(Time)
577
+ "#{camelize_key(k)} >= DateTime(#{v.first.strftime("%Y,%m,%d")}) AND #{camelize_key(k)} <= DateTime(#{v.last.strftime("%Y,%m,%d")})"
578
+ else
579
+ "#{camelize_key(k)} >= #{v.first} AND #{camelize_key(k)} <= #{v.last}"
580
+ end
581
+ else
582
+ %{#{camelize_key(k)} #{v}}
583
+ end
584
+ end.join(' AND ')
585
+ end
553
586
  end
554
587
  end
@@ -3,7 +3,7 @@
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.2.11
6
+ The version of the OpenAPI document: 2.3.0
7
7
  Contact: api@xero.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1