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
+ # See Invoice Status Codes
8
+ class Status3
9
+ STATUS3 = [
10
+ # TODO: Write general description for DRAFT
11
+ DRAFT = 'DRAFT'.freeze,
12
+
13
+ # TODO: Write general description for SUBMITTED
14
+ SUBMITTED = 'SUBMITTED'.freeze,
15
+
16
+ # TODO: Write general description for DELETED
17
+ DELETED = 'DELETED'.freeze,
18
+
19
+ # TODO: Write general description for AUTHORISED
20
+ AUTHORISED = 'AUTHORISED'.freeze,
21
+
22
+ # TODO: Write general description for PAID
23
+ PAID = 'PAID'.freeze,
24
+
25
+ # TODO: Write general description for VOIDED
26
+ VOIDED = 'VOIDED'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ STATUS3.include?(value)
33
+ end
34
+
35
+ def self.from_value(value, default_value = DRAFT)
36
+ return default_value if value.nil?
37
+
38
+ str = value.to_s.strip
39
+
40
+ case str.downcase
41
+ when 'draft' then DRAFT
42
+ when 'submitted' then SUBMITTED
43
+ when 'deleted' then DELETED
44
+ when 'authorised' then AUTHORISED
45
+ when 'paid' then PAID
46
+ when 'voided' then VOIDED
47
+ else
48
+ default_value
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,40 @@
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
+ # See Prepayment Status Codes
8
+ class Status4
9
+ STATUS4 = [
10
+ # TODO: Write general description for AUTHORISED
11
+ AUTHORISED = 'AUTHORISED'.freeze,
12
+
13
+ # TODO: Write general description for PAID
14
+ PAID = 'PAID'.freeze,
15
+
16
+ # TODO: Write general description for VOIDED
17
+ VOIDED = 'VOIDED'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ STATUS4.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = AUTHORISED)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'authorised' then AUTHORISED
33
+ when 'paid' then PAID
34
+ when 'voided' then VOIDED
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,40 @@
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
+ # See Overpayment Status Codes
8
+ class Status5
9
+ STATUS5 = [
10
+ # TODO: Write general description for AUTHORISED
11
+ AUTHORISED = 'AUTHORISED'.freeze,
12
+
13
+ # TODO: Write general description for PAID
14
+ PAID = 'PAID'.freeze,
15
+
16
+ # TODO: Write general description for VOIDED
17
+ VOIDED = 'VOIDED'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ STATUS5.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = AUTHORISED)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'authorised' then AUTHORISED
33
+ when 'paid' then PAID
34
+ when 'voided' then VOIDED
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ 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
+ # See Credit Note Status Codes
8
+ class Status6
9
+ STATUS6 = [
10
+ # TODO: Write general description for DRAFT
11
+ DRAFT = 'DRAFT'.freeze,
12
+
13
+ # TODO: Write general description for SUBMITTED
14
+ SUBMITTED = 'SUBMITTED'.freeze,
15
+
16
+ # TODO: Write general description for DELETED
17
+ DELETED = 'DELETED'.freeze,
18
+
19
+ # TODO: Write general description for AUTHORISED
20
+ AUTHORISED = 'AUTHORISED'.freeze,
21
+
22
+ # TODO: Write general description for PAID
23
+ PAID = 'PAID'.freeze,
24
+
25
+ # TODO: Write general description for VOIDED
26
+ VOIDED = 'VOIDED'.freeze
27
+ ].freeze
28
+
29
+ def self.validate(value)
30
+ return false if value.nil?
31
+
32
+ STATUS6.include?(value)
33
+ end
34
+
35
+ def self.from_value(value, default_value = DRAFT)
36
+ return default_value if value.nil?
37
+
38
+ str = value.to_s.strip
39
+
40
+ case str.downcase
41
+ when 'draft' then DRAFT
42
+ when 'submitted' then SUBMITTED
43
+ when 'deleted' then DELETED
44
+ when 'authorised' then AUTHORISED
45
+ when 'paid' then PAID
46
+ when 'voided' then VOIDED
47
+ else
48
+ default_value
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,36 @@
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 status of the payment.
8
+ class Status7
9
+ STATUS7 = [
10
+ # TODO: Write general description for AUTHORISED
11
+ AUTHORISED = 'AUTHORISED'.freeze,
12
+
13
+ # TODO: Write general description for DELETED
14
+ DELETED = 'DELETED'.freeze
15
+ ].freeze
16
+
17
+ def self.validate(value)
18
+ return false if value.nil?
19
+
20
+ STATUS7.include?(value)
21
+ end
22
+
23
+ def self.from_value(value, default_value = AUTHORISED)
24
+ return default_value if value.nil?
25
+
26
+ str = value.to_s.strip
27
+
28
+ case str.downcase
29
+ when 'authorised' then AUTHORISED
30
+ when 'deleted' then DELETED
31
+ else
32
+ default_value
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,37 @@
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
+ # AUTHORISED or DELETED (read-only). New batch payments will have a status of
8
+ # AUTHORISED. It is not possible to delete batch payments via the API.
9
+ class Status8
10
+ STATUS8 = [
11
+ # TODO: Write general description for AUTHORISED
12
+ AUTHORISED = 'AUTHORISED'.freeze,
13
+
14
+ # TODO: Write general description for DELETED
15
+ DELETED = 'DELETED'.freeze
16
+ ].freeze
17
+
18
+ def self.validate(value)
19
+ return false if value.nil?
20
+
21
+ STATUS8.include?(value)
22
+ end
23
+
24
+ def self.from_value(value, default_value = AUTHORISED)
25
+ return default_value if value.nil?
26
+
27
+ str = value.to_s.strip
28
+
29
+ case str.downcase
30
+ when 'authorised' then AUTHORISED
31
+ when 'deleted' then DELETED
32
+ else
33
+ default_value
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,40 @@
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 status of a tracking category
8
+ class Status9
9
+ STATUS9 = [
10
+ # TODO: Write general description for ACTIVE
11
+ ACTIVE = 'ACTIVE'.freeze,
12
+
13
+ # TODO: Write general description for ARCHIVED
14
+ ARCHIVED = 'ARCHIVED'.freeze,
15
+
16
+ # TODO: Write general description for DELETED
17
+ DELETED = 'DELETED'.freeze
18
+ ].freeze
19
+
20
+ def self.validate(value)
21
+ return false if value.nil?
22
+
23
+ STATUS9.include?(value)
24
+ end
25
+
26
+ def self.from_value(value, default_value = ACTIVE)
27
+ return default_value if value.nil?
28
+
29
+ str = value.to_s.strip
30
+
31
+ case str.downcase
32
+ when 'active' then ACTIVE
33
+ when 'archived' then ARCHIVED
34
+ when 'deleted' then DELETED
35
+ else
36
+ default_value
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,110 @@
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
+ # If this is a system account then this element is returned. See System
8
+ # Account types. Note that non-system accounts may have this element set as
9
+ # either “” or null.
10
+ class SystemAccount
11
+ SYSTEM_ACCOUNT = [
12
+ # TODO: Write general description for DEBTORS
13
+ DEBTORS = 'DEBTORS'.freeze,
14
+
15
+ # TODO: Write general description for CREDITORS
16
+ CREDITORS = 'CREDITORS'.freeze,
17
+
18
+ # TODO: Write general description for BANKCURRENCYGAIN
19
+ BANKCURRENCYGAIN = 'BANKCURRENCYGAIN'.freeze,
20
+
21
+ # TODO: Write general description for GST
22
+ GST = 'GST'.freeze,
23
+
24
+ # TODO: Write general description for GSTONIMPORTS
25
+ GSTONIMPORTS = 'GSTONIMPORTS'.freeze,
26
+
27
+ # TODO: Write general description for HISTORICAL
28
+ HISTORICAL = 'HISTORICAL'.freeze,
29
+
30
+ # TODO: Write general description for REALISEDCURRENCYGAIN
31
+ REALISEDCURRENCYGAIN = 'REALISEDCURRENCYGAIN'.freeze,
32
+
33
+ # TODO: Write general description for RETAINEDEARNINGS
34
+ RETAINEDEARNINGS = 'RETAINEDEARNINGS'.freeze,
35
+
36
+ # TODO: Write general description for ROUNDING
37
+ ROUNDING = 'ROUNDING'.freeze,
38
+
39
+ # TODO: Write general description for TRACKINGTRANSFERS
40
+ TRACKINGTRANSFERS = 'TRACKINGTRANSFERS'.freeze,
41
+
42
+ # TODO: Write general description for UNPAIDEXPCLM
43
+ UNPAIDEXPCLM = 'UNPAIDEXPCLM'.freeze,
44
+
45
+ # TODO: Write general description for UNREALISEDCURRENCYGAIN
46
+ UNREALISEDCURRENCYGAIN = 'UNREALISEDCURRENCYGAIN'.freeze,
47
+
48
+ # TODO: Write general description for WAGEPAYABLES
49
+ WAGEPAYABLES = 'WAGEPAYABLES'.freeze,
50
+
51
+ # TODO: Write general description for CISASSETS
52
+ CISASSETS = 'CISASSETS'.freeze,
53
+
54
+ # TODO: Write general description for CISASSET
55
+ CISASSET = 'CISASSET'.freeze,
56
+
57
+ # TODO: Write general description for CISLABOUR
58
+ CISLABOUR = 'CISLABOUR'.freeze,
59
+
60
+ # TODO: Write general description for CISLABOUREXPENSE
61
+ CISLABOUREXPENSE = 'CISLABOUREXPENSE'.freeze,
62
+
63
+ # TODO: Write general description for CISLABOURINCOME
64
+ CISLABOURINCOME = 'CISLABOURINCOME'.freeze,
65
+
66
+ # TODO: Write general description for CISLIABILITY
67
+ CISLIABILITY = 'CISLIABILITY'.freeze,
68
+
69
+ # TODO: Write general description for CISMATERIALS
70
+ CISMATERIALS = 'CISMATERIALS'.freeze
71
+ ].freeze
72
+
73
+ def self.validate(value)
74
+ return false if value.nil?
75
+
76
+ SYSTEM_ACCOUNT.include?(value)
77
+ end
78
+
79
+ def self.from_value(value, default_value = DEBTORS)
80
+ return default_value if value.nil?
81
+
82
+ str = value.to_s.strip
83
+
84
+ case str.downcase
85
+ when 'debtors' then DEBTORS
86
+ when 'creditors' then CREDITORS
87
+ when 'bankcurrencygain' then BANKCURRENCYGAIN
88
+ when 'gst' then GST
89
+ when 'gstonimports' then GSTONIMPORTS
90
+ when 'historical' then HISTORICAL
91
+ when 'realisedcurrencygain' then REALISEDCURRENCYGAIN
92
+ when 'retainedearnings' then RETAINEDEARNINGS
93
+ when 'rounding' then ROUNDING
94
+ when 'trackingtransfers' then TRACKINGTRANSFERS
95
+ when 'unpaidexpclm' then UNPAIDEXPCLM
96
+ when 'unrealisedcurrencygain' then UNREALISEDCURRENCYGAIN
97
+ when 'wagepayables' then WAGEPAYABLES
98
+ when 'cisassets' then CISASSETS
99
+ when 'cisasset' then CISASSET
100
+ when 'cislabour' then CISLABOUR
101
+ when 'cislabourexpense' then CISLABOUREXPENSE
102
+ when 'cislabourincome' then CISLABOURINCOME
103
+ when 'cisliability' then CISLIABILITY
104
+ when 'cismaterials' then CISMATERIALS
105
+ else
106
+ default_value
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,234 @@
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
+ # Task Model.
8
+ class Task < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Identifier of the task.
13
+ # @return [UUID | String]
14
+ attr_accessor :task_id
15
+
16
+ # Name of the task.
17
+ # @return [String]
18
+ attr_accessor :name
19
+
20
+ # Name of the task.
21
+ # @return [Amount]
22
+ attr_accessor :rate
23
+
24
+ # Can be `TIME`, `FIXED` or `NON_CHARGEABLE`, defines how the task will be
25
+ # charged. Use `TIME` when you want to charge per hour and `FIXED` to charge
26
+ # as a fixed amount. If the task will not be charged use `NON_CHARGEABLE`.
27
+ # @return [ChargeType]
28
+ attr_accessor :charge_type
29
+
30
+ # An estimated time to perform the task
31
+ # @return [Integer]
32
+ attr_accessor :estimate_minutes
33
+
34
+ # Identifier of the project task belongs to.
35
+ # @return [UUID | String]
36
+ attr_accessor :project_id
37
+
38
+ # Total minutes which have been logged against the task. Logged by assigning
39
+ # a time entry to a task
40
+ # @return [Integer]
41
+ attr_accessor :total_minutes
42
+
43
+ # Total minutes which have been logged against the task. Logged by assigning
44
+ # a time entry to a task
45
+ # @return [Amount]
46
+ attr_accessor :total_amount
47
+
48
+ # Minutes on this task which have been invoiced.
49
+ # @return [Integer]
50
+ attr_accessor :minutes_invoiced
51
+
52
+ # Minutes on this task which have not been invoiced.
53
+ # @return [Integer]
54
+ attr_accessor :minutes_to_be_invoiced
55
+
56
+ # Minutes logged against this task if its charge type is `FIXED`.
57
+ # @return [Integer]
58
+ attr_accessor :fixed_minutes
59
+
60
+ # Minutes logged against this task if its charge type is `NON_CHARGEABLE`.
61
+ # @return [Integer]
62
+ attr_accessor :non_chargeable_minutes
63
+
64
+ # Minutes logged against this task if its charge type is `NON_CHARGEABLE`.
65
+ # @return [Amount]
66
+ attr_accessor :amount_to_be_invoiced
67
+
68
+ # Minutes logged against this task if its charge type is `NON_CHARGEABLE`.
69
+ # @return [Amount]
70
+ attr_accessor :amount_invoiced
71
+
72
+ # Status of the task. When a task of ChargeType is `FIXED` and the rate
73
+ # amount is invoiced the status will be set to `INVOICED` and can't be
74
+ # modified. A task with ChargeType of `TIME` or `NON_CHARGEABLE` cannot have
75
+ # a status of `INVOICED`. A `LOCKED` state indicates that the task is
76
+ # currently changing state (for example being invoiced) and can't be
77
+ # modified.
78
+ # @return [Status22]
79
+ attr_accessor :status
80
+
81
+ # A mapping from model property names to API property names.
82
+ def self.names
83
+ @_hash = {} if @_hash.nil?
84
+ @_hash['task_id'] = 'taskId'
85
+ @_hash['name'] = 'name'
86
+ @_hash['rate'] = 'rate'
87
+ @_hash['charge_type'] = 'chargeType'
88
+ @_hash['estimate_minutes'] = 'estimateMinutes'
89
+ @_hash['project_id'] = 'projectId'
90
+ @_hash['total_minutes'] = 'totalMinutes'
91
+ @_hash['total_amount'] = 'totalAmount'
92
+ @_hash['minutes_invoiced'] = 'minutesInvoiced'
93
+ @_hash['minutes_to_be_invoiced'] = 'minutesToBeInvoiced'
94
+ @_hash['fixed_minutes'] = 'fixedMinutes'
95
+ @_hash['non_chargeable_minutes'] = 'nonChargeableMinutes'
96
+ @_hash['amount_to_be_invoiced'] = 'amountToBeInvoiced'
97
+ @_hash['amount_invoiced'] = 'amountInvoiced'
98
+ @_hash['status'] = 'status'
99
+ @_hash
100
+ end
101
+
102
+ # An array for optional fields
103
+ def self.optionals
104
+ %w[
105
+ task_id
106
+ name
107
+ rate
108
+ charge_type
109
+ estimate_minutes
110
+ project_id
111
+ total_minutes
112
+ total_amount
113
+ minutes_invoiced
114
+ minutes_to_be_invoiced
115
+ fixed_minutes
116
+ non_chargeable_minutes
117
+ amount_to_be_invoiced
118
+ amount_invoiced
119
+ status
120
+ ]
121
+ end
122
+
123
+ # An array for nullable fields
124
+ def self.nullables
125
+ []
126
+ end
127
+
128
+ def initialize(task_id: SKIP, name: SKIP, rate: SKIP, charge_type: SKIP,
129
+ estimate_minutes: SKIP, project_id: SKIP,
130
+ total_minutes: SKIP, total_amount: SKIP,
131
+ minutes_invoiced: SKIP, minutes_to_be_invoiced: SKIP,
132
+ fixed_minutes: SKIP, non_chargeable_minutes: SKIP,
133
+ amount_to_be_invoiced: SKIP, amount_invoiced: SKIP,
134
+ status: SKIP, additional_properties: nil)
135
+ # Add additional model properties to the instance
136
+ additional_properties = {} if additional_properties.nil?
137
+
138
+ @task_id = task_id unless task_id == SKIP
139
+ @name = name unless name == SKIP
140
+ @rate = rate unless rate == SKIP
141
+ @charge_type = charge_type unless charge_type == SKIP
142
+ @estimate_minutes = estimate_minutes unless estimate_minutes == SKIP
143
+ @project_id = project_id unless project_id == SKIP
144
+ @total_minutes = total_minutes unless total_minutes == SKIP
145
+ @total_amount = total_amount unless total_amount == SKIP
146
+ @minutes_invoiced = minutes_invoiced unless minutes_invoiced == SKIP
147
+ @minutes_to_be_invoiced = minutes_to_be_invoiced unless minutes_to_be_invoiced == SKIP
148
+ @fixed_minutes = fixed_minutes unless fixed_minutes == SKIP
149
+ @non_chargeable_minutes = non_chargeable_minutes unless non_chargeable_minutes == SKIP
150
+ @amount_to_be_invoiced = amount_to_be_invoiced unless amount_to_be_invoiced == SKIP
151
+ @amount_invoiced = amount_invoiced unless amount_invoiced == SKIP
152
+ @status = status unless status == SKIP
153
+ @additional_properties = additional_properties
154
+ end
155
+
156
+ # Creates an instance of the object from a hash.
157
+ def self.from_hash(hash)
158
+ return nil unless hash
159
+
160
+ # Extract variables from the hash.
161
+ task_id = hash.key?('taskId') ? hash['taskId'] : SKIP
162
+ name = hash.key?('name') ? hash['name'] : SKIP
163
+ rate = Amount.from_hash(hash['rate']) if hash['rate']
164
+ charge_type = hash.key?('chargeType') ? hash['chargeType'] : SKIP
165
+ estimate_minutes =
166
+ hash.key?('estimateMinutes') ? hash['estimateMinutes'] : SKIP
167
+ project_id = hash.key?('projectId') ? hash['projectId'] : SKIP
168
+ total_minutes = hash.key?('totalMinutes') ? hash['totalMinutes'] : SKIP
169
+ total_amount = Amount.from_hash(hash['totalAmount']) if hash['totalAmount']
170
+ minutes_invoiced =
171
+ hash.key?('minutesInvoiced') ? hash['minutesInvoiced'] : SKIP
172
+ minutes_to_be_invoiced =
173
+ hash.key?('minutesToBeInvoiced') ? hash['minutesToBeInvoiced'] : SKIP
174
+ fixed_minutes = hash.key?('fixedMinutes') ? hash['fixedMinutes'] : SKIP
175
+ non_chargeable_minutes =
176
+ hash.key?('nonChargeableMinutes') ? hash['nonChargeableMinutes'] : SKIP
177
+ amount_to_be_invoiced = Amount.from_hash(hash['amountToBeInvoiced']) if
178
+ hash['amountToBeInvoiced']
179
+ amount_invoiced = Amount.from_hash(hash['amountInvoiced']) if hash['amountInvoiced']
180
+ status = hash.key?('status') ? hash['status'] : SKIP
181
+
182
+ # Create a new hash for additional properties, removing known properties.
183
+ new_hash = hash.reject { |k, _| names.value?(k) }
184
+
185
+ additional_properties = APIHelper.get_additional_properties(
186
+ new_hash, proc { |value| value }
187
+ )
188
+
189
+ # Create object from extracted values.
190
+ Task.new(task_id: task_id,
191
+ name: name,
192
+ rate: rate,
193
+ charge_type: charge_type,
194
+ estimate_minutes: estimate_minutes,
195
+ project_id: project_id,
196
+ total_minutes: total_minutes,
197
+ total_amount: total_amount,
198
+ minutes_invoiced: minutes_invoiced,
199
+ minutes_to_be_invoiced: minutes_to_be_invoiced,
200
+ fixed_minutes: fixed_minutes,
201
+ non_chargeable_minutes: non_chargeable_minutes,
202
+ amount_to_be_invoiced: amount_to_be_invoiced,
203
+ amount_invoiced: amount_invoiced,
204
+ status: status,
205
+ additional_properties: additional_properties)
206
+ end
207
+
208
+ # Provides a human-readable string representation of the object.
209
+ def to_s
210
+ class_name = self.class.name.split('::').last
211
+ "<#{class_name} task_id: #{@task_id}, name: #{@name}, rate: #{@rate}, charge_type:"\
212
+ " #{@charge_type}, estimate_minutes: #{@estimate_minutes}, project_id: #{@project_id},"\
213
+ " total_minutes: #{@total_minutes}, total_amount: #{@total_amount}, minutes_invoiced:"\
214
+ " #{@minutes_invoiced}, minutes_to_be_invoiced: #{@minutes_to_be_invoiced}, fixed_minutes:"\
215
+ " #{@fixed_minutes}, non_chargeable_minutes: #{@non_chargeable_minutes},"\
216
+ " amount_to_be_invoiced: #{@amount_to_be_invoiced}, amount_invoiced: #{@amount_invoiced},"\
217
+ " status: #{@status}, additional_properties: #{@additional_properties}>"
218
+ end
219
+
220
+ # Provides a debugging-friendly string with detailed object information.
221
+ def inspect
222
+ class_name = self.class.name.split('::').last
223
+ "<#{class_name} task_id: #{@task_id.inspect}, name: #{@name.inspect}, rate:"\
224
+ " #{@rate.inspect}, charge_type: #{@charge_type.inspect}, estimate_minutes:"\
225
+ " #{@estimate_minutes.inspect}, project_id: #{@project_id.inspect}, total_minutes:"\
226
+ " #{@total_minutes.inspect}, total_amount: #{@total_amount.inspect}, minutes_invoiced:"\
227
+ " #{@minutes_invoiced.inspect}, minutes_to_be_invoiced: #{@minutes_to_be_invoiced.inspect},"\
228
+ " fixed_minutes: #{@fixed_minutes.inspect}, non_chargeable_minutes:"\
229
+ " #{@non_chargeable_minutes.inspect}, amount_to_be_invoiced:"\
230
+ " #{@amount_to_be_invoiced.inspect}, amount_invoiced: #{@amount_invoiced.inspect}, status:"\
231
+ " #{@status.inspect}, additional_properties: #{@additional_properties}>"
232
+ end
233
+ end
234
+ end