xero-apimatic-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +175 -0
  4. data/bin/console +15 -0
  5. data/lib/xero_ap_is/api_helper.rb +10 -0
  6. data/lib/xero_ap_is/apis/accounting_api.rb +8328 -0
  7. data/lib/xero_ap_is/apis/asset_api.rb +210 -0
  8. data/lib/xero_ap_is/apis/bank_feeds_api.rb +268 -0
  9. data/lib/xero_ap_is/apis/base_api.rb +67 -0
  10. data/lib/xero_ap_is/apis/identity_api.rb +51 -0
  11. data/lib/xero_ap_is/apis/oauth_authorization_api.rb +87 -0
  12. data/lib/xero_ap_is/apis/project_api.rb +662 -0
  13. data/lib/xero_ap_is/client.rb +110 -0
  14. data/lib/xero_ap_is/configuration.rb +196 -0
  15. data/lib/xero_ap_is/exceptions/api_exception.rb +21 -0
  16. data/lib/xero_ap_is/exceptions/asset_types400_error_exception.rb +72 -0
  17. data/lib/xero_ap_is/exceptions/assets400_error_exception.rb +72 -0
  18. data/lib/xero_ap_is/exceptions/error_error1_exception.rb +63 -0
  19. data/lib/xero_ap_is/exceptions/error_error2_exception.rb +51 -0
  20. data/lib/xero_ap_is/exceptions/error_exception.rb +72 -0
  21. data/lib/xero_ap_is/exceptions/feed_connections_error_exception.rb +60 -0
  22. data/lib/xero_ap_is/exceptions/oauth_provider_exception.rb +64 -0
  23. data/lib/xero_ap_is/exceptions/statements_error_exception.rb +60 -0
  24. data/lib/xero_ap_is/http/api_response.rb +19 -0
  25. data/lib/xero_ap_is/http/auth/basic_auth.rb +62 -0
  26. data/lib/xero_ap_is/http/auth/oauth_2.rb +161 -0
  27. data/lib/xero_ap_is/http/http_call_back.rb +10 -0
  28. data/lib/xero_ap_is/http/http_method_enum.rb +10 -0
  29. data/lib/xero_ap_is/http/http_request.rb +10 -0
  30. data/lib/xero_ap_is/http/http_response.rb +10 -0
  31. data/lib/xero_ap_is/http/proxy_settings.rb +22 -0
  32. data/lib/xero_ap_is/logging/configuration/api_logging_configuration.rb +186 -0
  33. data/lib/xero_ap_is/logging/sdk_logger.rb +17 -0
  34. data/lib/xero_ap_is/models/access_token.rb +116 -0
  35. data/lib/xero_ap_is/models/account.rb +300 -0
  36. data/lib/xero_ap_is/models/account_type.rb +100 -0
  37. data/lib/xero_ap_is/models/account_type1.rb +37 -0
  38. data/lib/xero_ap_is/models/accounts.rb +84 -0
  39. data/lib/xero_ap_is/models/accounts_payable.rb +85 -0
  40. data/lib/xero_ap_is/models/accounts_receivable.rb +85 -0
  41. data/lib/xero_ap_is/models/action.rb +85 -0
  42. data/lib/xero_ap_is/models/actions.rb +84 -0
  43. data/lib/xero_ap_is/models/address.rb +167 -0
  44. data/lib/xero_ap_is/models/address_for_organisation.rb +167 -0
  45. data/lib/xero_ap_is/models/address_type.rb +40 -0
  46. data/lib/xero_ap_is/models/address_type1.rb +36 -0
  47. data/lib/xero_ap_is/models/allocation.rb +174 -0
  48. data/lib/xero_ap_is/models/allocations.rb +85 -0
  49. data/lib/xero_ap_is/models/amount.rb +85 -0
  50. data/lib/xero_ap_is/models/asset.rb +249 -0
  51. data/lib/xero_ap_is/models/asset_status.rb +40 -0
  52. data/lib/xero_ap_is/models/asset_status_query_param.rb +40 -0
  53. data/lib/xero_ap_is/models/asset_type.rb +154 -0
  54. data/lib/xero_ap_is/models/assets.rb +94 -0
  55. data/lib/xero_ap_is/models/attachment.rb +126 -0
  56. data/lib/xero_ap_is/models/attachments.rb +85 -0
  57. data/lib/xero_ap_is/models/averaging_method.rb +36 -0
  58. data/lib/xero_ap_is/models/balance_details.rb +98 -0
  59. data/lib/xero_ap_is/models/balances.rb +89 -0
  60. data/lib/xero_ap_is/models/bank_account_type.rb +44 -0
  61. data/lib/xero_ap_is/models/bank_transaction.rb +319 -0
  62. data/lib/xero_ap_is/models/bank_transactions.rb +114 -0
  63. data/lib/xero_ap_is/models/bank_transfer.rb +224 -0
  64. data/lib/xero_ap_is/models/bank_transfers.rb +85 -0
  65. data/lib/xero_ap_is/models/base_model.rb +110 -0
  66. data/lib/xero_ap_is/models/batch_payment.rb +275 -0
  67. data/lib/xero_ap_is/models/batch_payment_delete.rb +84 -0
  68. data/lib/xero_ap_is/models/batch_payment_delete_by_url_param.rb +73 -0
  69. data/lib/xero_ap_is/models/batch_payment_details.rb +128 -0
  70. data/lib/xero_ap_is/models/batch_payments.rb +85 -0
  71. data/lib/xero_ap_is/models/bill.rb +85 -0
  72. data/lib/xero_ap_is/models/book_depreciation_detail.rb +243 -0
  73. data/lib/xero_ap_is/models/book_depreciation_setting.rb +170 -0
  74. data/lib/xero_ap_is/models/branding_theme.rb +129 -0
  75. data/lib/xero_ap_is/models/branding_themes.rb +85 -0
  76. data/lib/xero_ap_is/models/budget.rb +145 -0
  77. data/lib/xero_ap_is/models/budget_balance.rb +105 -0
  78. data/lib/xero_ap_is/models/budget_line.rb +105 -0
  79. data/lib/xero_ap_is/models/budgets.rb +84 -0
  80. data/lib/xero_ap_is/models/charge_type.rb +42 -0
  81. data/lib/xero_ap_is/models/cis_org_setting.rb +105 -0
  82. data/lib/xero_ap_is/models/cis_org_settings.rb +85 -0
  83. data/lib/xero_ap_is/models/cis_setting.rb +86 -0
  84. data/lib/xero_ap_is/models/cis_settings.rb +85 -0
  85. data/lib/xero_ap_is/models/class1.rb +113 -0
  86. data/lib/xero_ap_is/models/connection.rb +155 -0
  87. data/lib/xero_ap_is/models/contact.rb +661 -0
  88. data/lib/xero_ap_is/models/contact_group.rb +119 -0
  89. data/lib/xero_ap_is/models/contact_groups.rb +85 -0
  90. data/lib/xero_ap_is/models/contact_person.rb +108 -0
  91. data/lib/xero_ap_is/models/contact_status.rb +40 -0
  92. data/lib/xero_ap_is/models/contacts.rb +113 -0
  93. data/lib/xero_ap_is/models/conversion_balances.rb +108 -0
  94. data/lib/xero_ap_is/models/conversion_date.rb +87 -0
  95. data/lib/xero_ap_is/models/country_code.rb +990 -0
  96. data/lib/xero_ap_is/models/credit_debit_indicator.rb +37 -0
  97. data/lib/xero_ap_is/models/credit_note.rb +453 -0
  98. data/lib/xero_ap_is/models/credit_notes.rb +113 -0
  99. data/lib/xero_ap_is/models/currencies.rb +85 -0
  100. data/lib/xero_ap_is/models/currency.rb +85 -0
  101. data/lib/xero_ap_is/models/currency_code.rb +700 -0
  102. data/lib/xero_ap_is/models/currency_code1.rb +680 -0
  103. data/lib/xero_ap_is/models/depreciation_calculation_method.rb +40 -0
  104. data/lib/xero_ap_is/models/depreciation_method.rb +52 -0
  105. data/lib/xero_ap_is/models/due_date_type.rb +52 -0
  106. data/lib/xero_ap_is/models/edition.rb +38 -0
  107. data/lib/xero_ap_is/models/element.rb +160 -0
  108. data/lib/xero_ap_is/models/employee.rb +160 -0
  109. data/lib/xero_ap_is/models/employees.rb +85 -0
  110. data/lib/xero_ap_is/models/end_balance.rb +89 -0
  111. data/lib/xero_ap_is/models/error1.rb +138 -0
  112. data/lib/xero_ap_is/models/error2.rb +106 -0
  113. data/lib/xero_ap_is/models/error3.rb +85 -0
  114. data/lib/xero_ap_is/models/expense_claim.rb +209 -0
  115. data/lib/xero_ap_is/models/expense_claims.rb +85 -0
  116. data/lib/xero_ap_is/models/external_link.rb +95 -0
  117. data/lib/xero_ap_is/models/federal_tax_classification.rb +56 -0
  118. data/lib/xero_ap_is/models/feed_connection.rb +177 -0
  119. data/lib/xero_ap_is/models/feed_connections.rb +94 -0
  120. data/lib/xero_ap_is/models/field_validation_errors_element.rb +127 -0
  121. data/lib/xero_ap_is/models/history_record.rb +105 -0
  122. data/lib/xero_ap_is/models/history_records.rb +85 -0
  123. data/lib/xero_ap_is/models/import_summary.rb +87 -0
  124. data/lib/xero_ap_is/models/import_summary_accounts.rb +154 -0
  125. data/lib/xero_ap_is/models/import_summary_object.rb +76 -0
  126. data/lib/xero_ap_is/models/import_summary_organisation.rb +75 -0
  127. data/lib/xero_ap_is/models/invoice.rb +586 -0
  128. data/lib/xero_ap_is/models/invoice_address.rb +158 -0
  129. data/lib/xero_ap_is/models/invoice_address_type.rb +37 -0
  130. data/lib/xero_ap_is/models/invoice_reminder.rb +75 -0
  131. data/lib/xero_ap_is/models/invoice_reminders.rb +85 -0
  132. data/lib/xero_ap_is/models/invoices.rb +113 -0
  133. data/lib/xero_ap_is/models/item.rb +259 -0
  134. data/lib/xero_ap_is/models/items.rb +84 -0
  135. data/lib/xero_ap_is/models/journal.rb +157 -0
  136. data/lib/xero_ap_is/models/journal_line.rb +201 -0
  137. data/lib/xero_ap_is/models/journals.rb +103 -0
  138. data/lib/xero_ap_is/models/line_amount_types.rb +41 -0
  139. data/lib/xero_ap_is/models/line_item.rb +287 -0
  140. data/lib/xero_ap_is/models/line_item_item.rb +95 -0
  141. data/lib/xero_ap_is/models/line_item_tracking.rb +108 -0
  142. data/lib/xero_ap_is/models/link_type.rb +48 -0
  143. data/lib/xero_ap_is/models/linked_transaction.rb +215 -0
  144. data/lib/xero_ap_is/models/linked_transactions.rb +85 -0
  145. data/lib/xero_ap_is/models/manual_journal.rb +255 -0
  146. data/lib/xero_ap_is/models/manual_journal_line.rb +156 -0
  147. data/lib/xero_ap_is/models/manual_journals.rb +114 -0
  148. data/lib/xero_ap_is/models/mclass.rb +48 -0
  149. data/lib/xero_ap_is/models/oauth_provider_error.rb +62 -0
  150. data/lib/xero_ap_is/models/oauth_scope_oauth_2.rb +113 -0
  151. data/lib/xero_ap_is/models/oauth_token.rb +96 -0
  152. data/lib/xero_ap_is/models/online_invoice.rb +77 -0
  153. data/lib/xero_ap_is/models/online_invoices.rb +85 -0
  154. data/lib/xero_ap_is/models/order_by.rb +56 -0
  155. data/lib/xero_ap_is/models/organisation.rb +467 -0
  156. data/lib/xero_ap_is/models/organisation_entity_type.rb +80 -0
  157. data/lib/xero_ap_is/models/organisation_role.rb +61 -0
  158. data/lib/xero_ap_is/models/organisation_type.rb +80 -0
  159. data/lib/xero_ap_is/models/organisations.rb +85 -0
  160. data/lib/xero_ap_is/models/overpayment.rb +309 -0
  161. data/lib/xero_ap_is/models/overpayments.rb +113 -0
  162. data/lib/xero_ap_is/models/pagination.rb +105 -0
  163. data/lib/xero_ap_is/models/payment.rb +381 -0
  164. data/lib/xero_ap_is/models/payment_delete.rb +73 -0
  165. data/lib/xero_ap_is/models/payment_service.rb +143 -0
  166. data/lib/xero_ap_is/models/payment_services.rb +85 -0
  167. data/lib/xero_ap_is/models/payment_term.rb +85 -0
  168. data/lib/xero_ap_is/models/payment_term_type.rb +44 -0
  169. data/lib/xero_ap_is/models/payment_type.rb +60 -0
  170. data/lib/xero_ap_is/models/payments.rb +113 -0
  171. data/lib/xero_ap_is/models/phone.rb +108 -0
  172. data/lib/xero_ap_is/models/phone_type.rb +48 -0
  173. data/lib/xero_ap_is/models/prepayment.rb +309 -0
  174. data/lib/xero_ap_is/models/prepayments.rb +113 -0
  175. data/lib/xero_ap_is/models/project.rb +328 -0
  176. data/lib/xero_ap_is/models/project_create_or_update.rb +115 -0
  177. data/lib/xero_ap_is/models/project_patch.rb +73 -0
  178. data/lib/xero_ap_is/models/project_status.rb +36 -0
  179. data/lib/xero_ap_is/models/project_user.rb +95 -0
  180. data/lib/xero_ap_is/models/project_users.rb +94 -0
  181. data/lib/xero_ap_is/models/projects.rb +94 -0
  182. data/lib/xero_ap_is/models/purchase.rb +112 -0
  183. data/lib/xero_ap_is/models/purchase_order.rb +408 -0
  184. data/lib/xero_ap_is/models/purchase_orders.rb +114 -0
  185. data/lib/xero_ap_is/models/purchases_default_line_amount_type.rb +42 -0
  186. data/lib/xero_ap_is/models/quote.rb +338 -0
  187. data/lib/xero_ap_is/models/quote_line_amount_types.rb +41 -0
  188. data/lib/xero_ap_is/models/quote_status_codes.rb +52 -0
  189. data/lib/xero_ap_is/models/quotes.rb +84 -0
  190. data/lib/xero_ap_is/models/receipt.rb +287 -0
  191. data/lib/xero_ap_is/models/receipts.rb +84 -0
  192. data/lib/xero_ap_is/models/refresh_token.rb +106 -0
  193. data/lib/xero_ap_is/models/repeating_invoice.rb +290 -0
  194. data/lib/xero_ap_is/models/repeating_invoices.rb +85 -0
  195. data/lib/xero_ap_is/models/report.rb +136 -0
  196. data/lib/xero_ap_is/models/report_attribute.rb +85 -0
  197. data/lib/xero_ap_is/models/report_cell.rb +94 -0
  198. data/lib/xero_ap_is/models/report_fields.rb +95 -0
  199. data/lib/xero_ap_is/models/report_row.rb +104 -0
  200. data/lib/xero_ap_is/models/report_rows.rb +123 -0
  201. data/lib/xero_ap_is/models/report_tax_type.rb +424 -0
  202. data/lib/xero_ap_is/models/report_type.rb +26 -0
  203. data/lib/xero_ap_is/models/report_with_row.rb +176 -0
  204. data/lib/xero_ap_is/models/report_with_rows.rb +84 -0
  205. data/lib/xero_ap_is/models/reports.rb +84 -0
  206. data/lib/xero_ap_is/models/request_empty.rb +75 -0
  207. data/lib/xero_ap_is/models/resource_validation_errors_element.rb +116 -0
  208. data/lib/xero_ap_is/models/row_type.rb +44 -0
  209. data/lib/xero_ap_is/models/sales_default_line_amount_type.rb +42 -0
  210. data/lib/xero_ap_is/models/sales_tax_basis.rb +60 -0
  211. data/lib/xero_ap_is/models/sales_tax_period.rb +88 -0
  212. data/lib/xero_ap_is/models/sales_tracking_category.rb +89 -0
  213. data/lib/xero_ap_is/models/schedule.rb +140 -0
  214. data/lib/xero_ap_is/models/setting.rb +175 -0
  215. data/lib/xero_ap_is/models/setup.rb +117 -0
  216. data/lib/xero_ap_is/models/sort_direction.rb +36 -0
  217. data/lib/xero_ap_is/models/source_transaction_type_code.rb +38 -0
  218. data/lib/xero_ap_is/models/source_type.rb +128 -0
  219. data/lib/xero_ap_is/models/start_balance.rb +88 -0
  220. data/lib/xero_ap_is/models/statement.rb +194 -0
  221. data/lib/xero_ap_is/models/statement_line.rb +162 -0
  222. data/lib/xero_ap_is/models/statements.rb +94 -0
  223. data/lib/xero_ap_is/models/status.rb +41 -0
  224. data/lib/xero_ap_is/models/status1.rb +38 -0
  225. data/lib/xero_ap_is/models/status10.rb +40 -0
  226. data/lib/xero_ap_is/models/status11.rb +44 -0
  227. data/lib/xero_ap_is/models/status110.rb +40 -0
  228. data/lib/xero_ap_is/models/status111.rb +43 -0
  229. data/lib/xero_ap_is/models/status12.rb +48 -0
  230. data/lib/xero_ap_is/models/status13.rb +48 -0
  231. data/lib/xero_ap_is/models/status14.rb +52 -0
  232. data/lib/xero_ap_is/models/status15.rb +48 -0
  233. data/lib/xero_ap_is/models/status16.rb +36 -0
  234. data/lib/xero_ap_is/models/status17.rb +48 -0
  235. data/lib/xero_ap_is/models/status18.rb +40 -0
  236. data/lib/xero_ap_is/models/status19.rb +44 -0
  237. data/lib/xero_ap_is/models/status2.rb +40 -0
  238. data/lib/xero_ap_is/models/status20.rb +48 -0
  239. data/lib/xero_ap_is/models/status21.rb +36 -0
  240. data/lib/xero_ap_is/models/status22.rb +44 -0
  241. data/lib/xero_ap_is/models/status3.rb +52 -0
  242. data/lib/xero_ap_is/models/status4.rb +40 -0
  243. data/lib/xero_ap_is/models/status5.rb +40 -0
  244. data/lib/xero_ap_is/models/status6.rb +52 -0
  245. data/lib/xero_ap_is/models/status7.rb +36 -0
  246. data/lib/xero_ap_is/models/status8.rb +37 -0
  247. data/lib/xero_ap_is/models/status9.rb +40 -0
  248. data/lib/xero_ap_is/models/system_account.rb +110 -0
  249. data/lib/xero_ap_is/models/task.rb +234 -0
  250. data/lib/xero_ap_is/models/task_create_or_update.rb +105 -0
  251. data/lib/xero_ap_is/models/tasks.rb +94 -0
  252. data/lib/xero_ap_is/models/tax_breakdown_component.rb +172 -0
  253. data/lib/xero_ap_is/models/tax_component.rb +108 -0
  254. data/lib/xero_ap_is/models/tax_number_type.rb +45 -0
  255. data/lib/xero_ap_is/models/tax_rate.rb +213 -0
  256. data/lib/xero_ap_is/models/tax_rates.rb +85 -0
  257. data/lib/xero_ap_is/models/tax_type.rb +520 -0
  258. data/lib/xero_ap_is/models/taxability.rb +48 -0
  259. data/lib/xero_ap_is/models/ten_ninety_nine_contact.rb +318 -0
  260. data/lib/xero_ap_is/models/time_entries.rb +94 -0
  261. data/lib/xero_ap_is/models/time_entry.rb +179 -0
  262. data/lib/xero_ap_is/models/time_entry_create_or_update.rb +120 -0
  263. data/lib/xero_ap_is/models/time_zone.rb +592 -0
  264. data/lib/xero_ap_is/models/timeframe.rb +40 -0
  265. data/lib/xero_ap_is/models/tracking_categories.rb +85 -0
  266. data/lib/xero_ap_is/models/tracking_category.rb +140 -0
  267. data/lib/xero_ap_is/models/tracking_option.rb +109 -0
  268. data/lib/xero_ap_is/models/tracking_options.rb +84 -0
  269. data/lib/xero_ap_is/models/type.rb +60 -0
  270. data/lib/xero_ap_is/models/type1.rb +26 -0
  271. data/lib/xero_ap_is/models/type10.rb +36 -0
  272. data/lib/xero_ap_is/models/type11.rb +114 -0
  273. data/lib/xero_ap_is/models/type2.rb +48 -0
  274. data/lib/xero_ap_is/models/type3.rb +60 -0
  275. data/lib/xero_ap_is/models/type4.rb +44 -0
  276. data/lib/xero_ap_is/models/type5.rb +40 -0
  277. data/lib/xero_ap_is/models/type6.rb +36 -0
  278. data/lib/xero_ap_is/models/type7.rb +37 -0
  279. data/lib/xero_ap_is/models/type8.rb +36 -0
  280. data/lib/xero_ap_is/models/type9.rb +26 -0
  281. data/lib/xero_ap_is/models/unit.rb +36 -0
  282. data/lib/xero_ap_is/models/user.rb +139 -0
  283. data/lib/xero_ap_is/models/users.rb +84 -0
  284. data/lib/xero_ap_is/models/validation_error.rb +75 -0
  285. data/lib/xero_ap_is/models/version.rb +68 -0
  286. data/lib/xero_ap_is/utilities/date_time_helper.rb +11 -0
  287. data/lib/xero_ap_is/utilities/file_wrapper.rb +28 -0
  288. data/lib/xero_ap_is.rb +309 -0
  289. metadata +372 -0
@@ -0,0 +1,52 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # The method of depreciation applied to this asset. See Depreciation Methods
8
+ class DepreciationMethod
9
+ DEPRECIATION_METHOD = [
10
+ # TODO: Write general description for NODEPRECIATION
11
+ NODEPRECIATION = 'NoDepreciation'.freeze,
12
+
13
+ # TODO: Write general description for STRAIGHTLINE
14
+ STRAIGHTLINE = 'StraightLine'.freeze,
15
+
16
+ # TODO: Write general description for DIMINISHINGVALUE100
17
+ DIMINISHINGVALUE100 = 'DiminishingValue100'.freeze,
18
+
19
+ # TODO: Write general description for DIMINISHINGVALUE150
20
+ DIMINISHINGVALUE150 = 'DiminishingValue150'.freeze,
21
+
22
+ # TODO: Write general description for DIMINISHINGVALUE200
23
+ DIMINISHINGVALUE200 = 'DiminishingValue200'.freeze,
24
+
25
+ # TODO: Write general description for FULLDEPRECIATION
26
+ FULLDEPRECIATION = 'FullDepreciation'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ DEPRECIATION_METHOD.include?(value)
33
+ end
34
+
35
+ def self.from_value(value, default_value = NODEPRECIATION)
36
+ return default_value if value.nil?
37
+
38
+ str = value.to_s.strip
39
+
40
+ case str.downcase
41
+ when 'nodepreciation' then NODEPRECIATION
42
+ when 'straightline' then STRAIGHTLINE
43
+ when 'diminishingvalue100' then DIMINISHINGVALUE100
44
+ when 'diminishingvalue150' then DIMINISHINGVALUE150
45
+ when 'diminishingvalue200' then DIMINISHINGVALUE200
46
+ when 'fulldepreciation' then FULLDEPRECIATION
47
+ else
48
+ default_value
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,52 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # the payment terms
8
+ class DueDateType
9
+ DUE_DATE_TYPE = [
10
+ # TODO: Write general description for DAYSAFTERBILLDATE
11
+ DAYSAFTERBILLDATE = 'DAYSAFTERBILLDATE'.freeze,
12
+
13
+ # TODO: Write general description for DAYSAFTERBILLMONTH
14
+ DAYSAFTERBILLMONTH = 'DAYSAFTERBILLMONTH'.freeze,
15
+
16
+ # TODO: Write general description for DAYSAFTERINVOICEDATE
17
+ DAYSAFTERINVOICEDATE = 'DAYSAFTERINVOICEDATE'.freeze,
18
+
19
+ # TODO: Write general description for DAYSAFTERINVOICEMONTH
20
+ DAYSAFTERINVOICEMONTH = 'DAYSAFTERINVOICEMONTH'.freeze,
21
+
22
+ # TODO: Write general description for OFCURRENTMONTH
23
+ OFCURRENTMONTH = 'OFCURRENTMONTH'.freeze,
24
+
25
+ # TODO: Write general description for OFFOLLOWINGMONTH
26
+ OFFOLLOWINGMONTH = 'OFFOLLOWINGMONTH'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ DUE_DATE_TYPE.include?(value)
33
+ end
34
+
35
+ def self.from_value(value, default_value = DAYSAFTERBILLDATE)
36
+ return default_value if value.nil?
37
+
38
+ str = value.to_s.strip
39
+
40
+ case str.downcase
41
+ when 'daysafterbilldate' then DAYSAFTERBILLDATE
42
+ when 'daysafterbillmonth' then DAYSAFTERBILLMONTH
43
+ when 'daysafterinvoicedate' then DAYSAFTERINVOICEDATE
44
+ when 'daysafterinvoicemonth' then DAYSAFTERINVOICEMONTH
45
+ when 'ofcurrentmonth' then OFCURRENTMONTH
46
+ when 'offollowingmonth' then OFFOLLOWINGMONTH
47
+ else
48
+ default_value
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,38 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # BUSINESS or PARTNER. Partner edition organisations are sold exclusively
8
+ # through accounting partners and have restricted functionality (e.g. no
9
+ # access to invoicing)
10
+ class Edition
11
+ EDITION = [
12
+ # TODO: Write general description for BUSINESS
13
+ BUSINESS = 'BUSINESS'.freeze,
14
+
15
+ # TODO: Write general description for PARTNER
16
+ PARTNER = 'PARTNER'.freeze
17
+ ].freeze
18
+
19
+ def self.validate(value)
20
+ return false if value.nil?
21
+
22
+ EDITION.include?(value)
23
+ end
24
+
25
+ def self.from_value(value, default_value = BUSINESS)
26
+ return default_value if value.nil?
27
+
28
+ str = value.to_s.strip
29
+
30
+ case str.downcase
31
+ when 'business' then BUSINESS
32
+ when 'partner' then PARTNER
33
+ else
34
+ default_value
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,160 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # Element Model.
8
+ class Element < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Array of Validation Error message
13
+ # @return [Array[ValidationError]]
14
+ attr_accessor :validation_errors
15
+
16
+ # Unique ID for batch payment object with validation error
17
+ # @return [UUID | String]
18
+ attr_accessor :batch_payment_id
19
+
20
+ # Unique ID for batch payment object with validation error
21
+ # @return [UUID | String]
22
+ attr_accessor :bank_transaction_id
23
+
24
+ # Unique ID for batch payment object with validation error
25
+ # @return [UUID | String]
26
+ attr_accessor :credit_note_id
27
+
28
+ # Unique ID for batch payment object with validation error
29
+ # @return [UUID | String]
30
+ attr_accessor :contact_id
31
+
32
+ # Unique ID for batch payment object with validation error
33
+ # @return [UUID | String]
34
+ attr_accessor :invoice_id
35
+
36
+ # Unique ID for batch payment object with validation error
37
+ # @return [UUID | String]
38
+ attr_accessor :item_id
39
+
40
+ # Unique ID for batch payment object with validation error
41
+ # @return [UUID | String]
42
+ attr_accessor :purchase_order_id
43
+
44
+ # A mapping from model property names to API property names.
45
+ def self.names
46
+ @_hash = {} if @_hash.nil?
47
+ @_hash['validation_errors'] = 'ValidationErrors'
48
+ @_hash['batch_payment_id'] = 'BatchPaymentID'
49
+ @_hash['bank_transaction_id'] = 'BankTransactionID'
50
+ @_hash['credit_note_id'] = 'CreditNoteID'
51
+ @_hash['contact_id'] = 'ContactID'
52
+ @_hash['invoice_id'] = 'InvoiceID'
53
+ @_hash['item_id'] = 'ItemID'
54
+ @_hash['purchase_order_id'] = 'PurchaseOrderID'
55
+ @_hash
56
+ end
57
+
58
+ # An array for optional fields
59
+ def self.optionals
60
+ %w[
61
+ validation_errors
62
+ batch_payment_id
63
+ bank_transaction_id
64
+ credit_note_id
65
+ contact_id
66
+ invoice_id
67
+ item_id
68
+ purchase_order_id
69
+ ]
70
+ end
71
+
72
+ # An array for nullable fields
73
+ def self.nullables
74
+ []
75
+ end
76
+
77
+ def initialize(validation_errors: SKIP, batch_payment_id: SKIP,
78
+ bank_transaction_id: SKIP, credit_note_id: SKIP,
79
+ contact_id: SKIP, invoice_id: SKIP, item_id: SKIP,
80
+ purchase_order_id: SKIP, additional_properties: nil)
81
+ # Add additional model properties to the instance
82
+ additional_properties = {} if additional_properties.nil?
83
+
84
+ @validation_errors = validation_errors unless validation_errors == SKIP
85
+ @batch_payment_id = batch_payment_id unless batch_payment_id == SKIP
86
+ @bank_transaction_id = bank_transaction_id unless bank_transaction_id == SKIP
87
+ @credit_note_id = credit_note_id unless credit_note_id == SKIP
88
+ @contact_id = contact_id unless contact_id == SKIP
89
+ @invoice_id = invoice_id unless invoice_id == SKIP
90
+ @item_id = item_id unless item_id == SKIP
91
+ @purchase_order_id = purchase_order_id unless purchase_order_id == SKIP
92
+ @additional_properties = additional_properties
93
+ end
94
+
95
+ # Creates an instance of the object from a hash.
96
+ def self.from_hash(hash)
97
+ return nil unless hash
98
+
99
+ # Extract variables from the hash.
100
+ # Parameter is an array, so we need to iterate through it
101
+ validation_errors = nil
102
+ unless hash['ValidationErrors'].nil?
103
+ validation_errors = []
104
+ hash['ValidationErrors'].each do |structure|
105
+ validation_errors << (ValidationError.from_hash(structure) if structure)
106
+ end
107
+ end
108
+
109
+ validation_errors = SKIP unless hash.key?('ValidationErrors')
110
+ batch_payment_id =
111
+ hash.key?('BatchPaymentID') ? hash['BatchPaymentID'] : SKIP
112
+ bank_transaction_id =
113
+ hash.key?('BankTransactionID') ? hash['BankTransactionID'] : SKIP
114
+ credit_note_id = hash.key?('CreditNoteID') ? hash['CreditNoteID'] : SKIP
115
+ contact_id = hash.key?('ContactID') ? hash['ContactID'] : SKIP
116
+ invoice_id = hash.key?('InvoiceID') ? hash['InvoiceID'] : SKIP
117
+ item_id = hash.key?('ItemID') ? hash['ItemID'] : SKIP
118
+ purchase_order_id =
119
+ hash.key?('PurchaseOrderID') ? hash['PurchaseOrderID'] : SKIP
120
+
121
+ # Create a new hash for additional properties, removing known properties.
122
+ new_hash = hash.reject { |k, _| names.value?(k) }
123
+
124
+ additional_properties = APIHelper.get_additional_properties(
125
+ new_hash, proc { |value| value }
126
+ )
127
+
128
+ # Create object from extracted values.
129
+ Element.new(validation_errors: validation_errors,
130
+ batch_payment_id: batch_payment_id,
131
+ bank_transaction_id: bank_transaction_id,
132
+ credit_note_id: credit_note_id,
133
+ contact_id: contact_id,
134
+ invoice_id: invoice_id,
135
+ item_id: item_id,
136
+ purchase_order_id: purchase_order_id,
137
+ additional_properties: additional_properties)
138
+ end
139
+
140
+ # Provides a human-readable string representation of the object.
141
+ def to_s
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} validation_errors: #{@validation_errors}, batch_payment_id:"\
144
+ " #{@batch_payment_id}, bank_transaction_id: #{@bank_transaction_id}, credit_note_id:"\
145
+ " #{@credit_note_id}, contact_id: #{@contact_id}, invoice_id: #{@invoice_id}, item_id:"\
146
+ " #{@item_id}, purchase_order_id: #{@purchase_order_id}, additional_properties:"\
147
+ " #{@additional_properties}>"
148
+ end
149
+
150
+ # Provides a debugging-friendly string with detailed object information.
151
+ def inspect
152
+ class_name = self.class.name.split('::').last
153
+ "<#{class_name} validation_errors: #{@validation_errors.inspect}, batch_payment_id:"\
154
+ " #{@batch_payment_id.inspect}, bank_transaction_id: #{@bank_transaction_id.inspect},"\
155
+ " credit_note_id: #{@credit_note_id.inspect}, contact_id: #{@contact_id.inspect},"\
156
+ " invoice_id: #{@invoice_id.inspect}, item_id: #{@item_id.inspect}, purchase_order_id:"\
157
+ " #{@purchase_order_id.inspect}, additional_properties: #{@additional_properties}>"
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,160 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # Employee Model.
8
+ class Employee < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The Xero identifier for an employee e.g.
13
+ # 297c2dc5-cc47-4afd-8ec8-74990b8761e9
14
+ # @return [UUID | String]
15
+ attr_accessor :employee_id
16
+
17
+ # Current status of an employee – see contact status types
18
+ # @return [Status11]
19
+ attr_accessor :status
20
+
21
+ # First name of an employee (max length = 255)
22
+ # @return [String]
23
+ attr_accessor :first_name
24
+
25
+ # Last name of an employee (max length = 255)
26
+ # @return [String]
27
+ attr_accessor :last_name
28
+
29
+ # Last name of an employee (max length = 255)
30
+ # @return [ExternalLink]
31
+ attr_accessor :external_link
32
+
33
+ # Last name of an employee (max length = 255)
34
+ # @return [String]
35
+ attr_accessor :updated_date_utc
36
+
37
+ # A string to indicate if a invoice status
38
+ # @return [String]
39
+ attr_accessor :status_attribute_string
40
+
41
+ # Displays array of validation error messages from the API
42
+ # @return [Array[ValidationError]]
43
+ attr_accessor :validation_errors
44
+
45
+ # A mapping from model property names to API property names.
46
+ def self.names
47
+ @_hash = {} if @_hash.nil?
48
+ @_hash['employee_id'] = 'EmployeeID'
49
+ @_hash['status'] = 'Status'
50
+ @_hash['first_name'] = 'FirstName'
51
+ @_hash['last_name'] = 'LastName'
52
+ @_hash['external_link'] = 'ExternalLink'
53
+ @_hash['updated_date_utc'] = 'UpdatedDateUTC'
54
+ @_hash['status_attribute_string'] = 'StatusAttributeString'
55
+ @_hash['validation_errors'] = 'ValidationErrors'
56
+ @_hash
57
+ end
58
+
59
+ # An array for optional fields
60
+ def self.optionals
61
+ %w[
62
+ employee_id
63
+ status
64
+ first_name
65
+ last_name
66
+ external_link
67
+ updated_date_utc
68
+ status_attribute_string
69
+ validation_errors
70
+ ]
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ []
76
+ end
77
+
78
+ def initialize(employee_id: SKIP, status: SKIP, first_name: SKIP,
79
+ last_name: SKIP, external_link: SKIP, updated_date_utc: SKIP,
80
+ status_attribute_string: SKIP, validation_errors: SKIP,
81
+ additional_properties: nil)
82
+ # Add additional model properties to the instance
83
+ additional_properties = {} if additional_properties.nil?
84
+
85
+ @employee_id = employee_id unless employee_id == SKIP
86
+ @status = status unless status == SKIP
87
+ @first_name = first_name unless first_name == SKIP
88
+ @last_name = last_name unless last_name == SKIP
89
+ @external_link = external_link unless external_link == SKIP
90
+ @updated_date_utc = updated_date_utc unless updated_date_utc == SKIP
91
+ @status_attribute_string = status_attribute_string unless status_attribute_string == SKIP
92
+ @validation_errors = validation_errors unless validation_errors == SKIP
93
+ @additional_properties = additional_properties
94
+ end
95
+
96
+ # Creates an instance of the object from a hash.
97
+ def self.from_hash(hash)
98
+ return nil unless hash
99
+
100
+ # Extract variables from the hash.
101
+ employee_id = hash.key?('EmployeeID') ? hash['EmployeeID'] : SKIP
102
+ status = hash.key?('Status') ? hash['Status'] : SKIP
103
+ first_name = hash.key?('FirstName') ? hash['FirstName'] : SKIP
104
+ last_name = hash.key?('LastName') ? hash['LastName'] : SKIP
105
+ external_link = ExternalLink.from_hash(hash['ExternalLink']) if hash['ExternalLink']
106
+ updated_date_utc =
107
+ hash.key?('UpdatedDateUTC') ? hash['UpdatedDateUTC'] : SKIP
108
+ status_attribute_string =
109
+ hash.key?('StatusAttributeString') ? hash['StatusAttributeString'] : SKIP
110
+ # Parameter is an array, so we need to iterate through it
111
+ validation_errors = nil
112
+ unless hash['ValidationErrors'].nil?
113
+ validation_errors = []
114
+ hash['ValidationErrors'].each do |structure|
115
+ validation_errors << (ValidationError.from_hash(structure) if structure)
116
+ end
117
+ end
118
+
119
+ validation_errors = SKIP unless hash.key?('ValidationErrors')
120
+
121
+ # Create a new hash for additional properties, removing known properties.
122
+ new_hash = hash.reject { |k, _| names.value?(k) }
123
+
124
+ additional_properties = APIHelper.get_additional_properties(
125
+ new_hash, proc { |value| value }
126
+ )
127
+
128
+ # Create object from extracted values.
129
+ Employee.new(employee_id: employee_id,
130
+ status: status,
131
+ first_name: first_name,
132
+ last_name: last_name,
133
+ external_link: external_link,
134
+ updated_date_utc: updated_date_utc,
135
+ status_attribute_string: status_attribute_string,
136
+ validation_errors: validation_errors,
137
+ additional_properties: additional_properties)
138
+ end
139
+
140
+ # Provides a human-readable string representation of the object.
141
+ def to_s
142
+ class_name = self.class.name.split('::').last
143
+ "<#{class_name} employee_id: #{@employee_id}, status: #{@status}, first_name:"\
144
+ " #{@first_name}, last_name: #{@last_name}, external_link: #{@external_link},"\
145
+ " updated_date_utc: #{@updated_date_utc}, status_attribute_string:"\
146
+ " #{@status_attribute_string}, validation_errors: #{@validation_errors},"\
147
+ " additional_properties: #{@additional_properties}>"
148
+ end
149
+
150
+ # Provides a debugging-friendly string with detailed object information.
151
+ def inspect
152
+ class_name = self.class.name.split('::').last
153
+ "<#{class_name} employee_id: #{@employee_id.inspect}, status: #{@status.inspect},"\
154
+ " first_name: #{@first_name.inspect}, last_name: #{@last_name.inspect}, external_link:"\
155
+ " #{@external_link.inspect}, updated_date_utc: #{@updated_date_utc.inspect},"\
156
+ " status_attribute_string: #{@status_attribute_string.inspect}, validation_errors:"\
157
+ " #{@validation_errors.inspect}, additional_properties: #{@additional_properties}>"
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,85 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # Employees Model.
8
+ class Employees < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[Employee]]
14
+ attr_accessor :employees
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['employees'] = 'Employees'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ employees
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(employees: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @employees = employees unless employees == SKIP
40
+ @additional_properties = additional_properties
41
+ end
42
+
43
+ # Creates an instance of the object from a hash.
44
+ def self.from_hash(hash)
45
+ return nil unless hash
46
+
47
+ # Extract variables from the hash.
48
+ # Parameter is an array, so we need to iterate through it
49
+ employees = nil
50
+ unless hash['Employees'].nil?
51
+ employees = []
52
+ hash['Employees'].each do |structure|
53
+ employees << (Employee.from_hash(structure) if structure)
54
+ end
55
+ end
56
+
57
+ employees = SKIP unless hash.key?('Employees')
58
+
59
+ # Create a new hash for additional properties, removing known properties.
60
+ new_hash = hash.reject { |k, _| names.value?(k) }
61
+
62
+ additional_properties = APIHelper.get_additional_properties(
63
+ new_hash, proc { |value| value }
64
+ )
65
+
66
+ # Create object from extracted values.
67
+ Employees.new(employees: employees,
68
+ additional_properties: additional_properties)
69
+ end
70
+
71
+ # Provides a human-readable string representation of the object.
72
+ def to_s
73
+ class_name = self.class.name.split('::').last
74
+ "<#{class_name} employees: #{@employees}, additional_properties:"\
75
+ " #{@additional_properties}>"
76
+ end
77
+
78
+ # Provides a debugging-friendly string with detailed object information.
79
+ def inspect
80
+ class_name = self.class.name.split('::').last
81
+ "<#{class_name} employees: #{@employees.inspect}, additional_properties:"\
82
+ " #{@additional_properties}>"
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,89 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # The StartBalance plus all the Statement Line Amounts should be equal to the
8
+ # EndBalance Amount.
9
+ class EndBalance < BaseModel
10
+ SKIP = Object.new
11
+ private_constant :SKIP
12
+
13
+ # TODO: Write general description for this method
14
+ # @return [Float]
15
+ attr_accessor :amount
16
+
17
+ # If the statement balances are credit or debit, the CreditDebitIndicator
18
+ # should be specified from the perspective of the Customer.
19
+ # @return [CreditDebitIndicator]
20
+ attr_accessor :credit_debit_indicator
21
+
22
+ # A mapping from model property names to API property names.
23
+ def self.names
24
+ @_hash = {} if @_hash.nil?
25
+ @_hash['amount'] = 'amount'
26
+ @_hash['credit_debit_indicator'] = 'creditDebitIndicator'
27
+ @_hash
28
+ end
29
+
30
+ # An array for optional fields
31
+ def self.optionals
32
+ %w[
33
+ amount
34
+ credit_debit_indicator
35
+ ]
36
+ end
37
+
38
+ # An array for nullable fields
39
+ def self.nullables
40
+ []
41
+ end
42
+
43
+ def initialize(amount: SKIP, credit_debit_indicator: SKIP,
44
+ additional_properties: nil)
45
+ # Add additional model properties to the instance
46
+ additional_properties = {} if additional_properties.nil?
47
+
48
+ @amount = amount unless amount == SKIP
49
+ @credit_debit_indicator = credit_debit_indicator unless credit_debit_indicator == SKIP
50
+ @additional_properties = additional_properties
51
+ end
52
+
53
+ # Creates an instance of the object from a hash.
54
+ def self.from_hash(hash)
55
+ return nil unless hash
56
+
57
+ # Extract variables from the hash.
58
+ amount = hash.key?('amount') ? hash['amount'] : SKIP
59
+ credit_debit_indicator =
60
+ hash.key?('creditDebitIndicator') ? hash['creditDebitIndicator'] : SKIP
61
+
62
+ # Create a new hash for additional properties, removing known properties.
63
+ new_hash = hash.reject { |k, _| names.value?(k) }
64
+
65
+ additional_properties = APIHelper.get_additional_properties(
66
+ new_hash, proc { |value| value }
67
+ )
68
+
69
+ # Create object from extracted values.
70
+ EndBalance.new(amount: amount,
71
+ credit_debit_indicator: credit_debit_indicator,
72
+ additional_properties: additional_properties)
73
+ end
74
+
75
+ # Provides a human-readable string representation of the object.
76
+ def to_s
77
+ class_name = self.class.name.split('::').last
78
+ "<#{class_name} amount: #{@amount}, credit_debit_indicator: #{@credit_debit_indicator},"\
79
+ " additional_properties: #{@additional_properties}>"
80
+ end
81
+
82
+ # Provides a debugging-friendly string with detailed object information.
83
+ def inspect
84
+ class_name = self.class.name.split('::').last
85
+ "<#{class_name} amount: #{@amount.inspect}, credit_debit_indicator:"\
86
+ " #{@credit_debit_indicator.inspect}, additional_properties: #{@additional_properties}>"
87
+ end
88
+ end
89
+ end