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,95 @@
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
+ # ExternalLink Model.
8
+ class ExternalLink < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # See External link types
13
+ # @return [LinkType]
14
+ attr_accessor :link_type
15
+
16
+ # URL for service e.g. http://twitter.com/xeroapi
17
+ # @return [String]
18
+ attr_accessor :url
19
+
20
+ # URL for service e.g. http://twitter.com/xeroapi
21
+ # @return [String]
22
+ attr_accessor :description
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['link_type'] = 'LinkType'
28
+ @_hash['url'] = 'Url'
29
+ @_hash['description'] = 'Description'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ link_type
37
+ url
38
+ description
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(link_type: SKIP, url: SKIP, description: SKIP,
48
+ additional_properties: nil)
49
+ # Add additional model properties to the instance
50
+ additional_properties = {} if additional_properties.nil?
51
+
52
+ @link_type = link_type unless link_type == SKIP
53
+ @url = url unless url == SKIP
54
+ @description = description unless description == SKIP
55
+ @additional_properties = additional_properties
56
+ end
57
+
58
+ # Creates an instance of the object from a hash.
59
+ def self.from_hash(hash)
60
+ return nil unless hash
61
+
62
+ # Extract variables from the hash.
63
+ link_type = hash.key?('LinkType') ? hash['LinkType'] : SKIP
64
+ url = hash.key?('Url') ? hash['Url'] : SKIP
65
+ description = hash.key?('Description') ? hash['Description'] : SKIP
66
+
67
+ # Create a new hash for additional properties, removing known properties.
68
+ new_hash = hash.reject { |k, _| names.value?(k) }
69
+
70
+ additional_properties = APIHelper.get_additional_properties(
71
+ new_hash, proc { |value| value }
72
+ )
73
+
74
+ # Create object from extracted values.
75
+ ExternalLink.new(link_type: link_type,
76
+ url: url,
77
+ description: description,
78
+ additional_properties: additional_properties)
79
+ end
80
+
81
+ # Provides a human-readable string representation of the object.
82
+ def to_s
83
+ class_name = self.class.name.split('::').last
84
+ "<#{class_name} link_type: #{@link_type}, url: #{@url}, description: #{@description},"\
85
+ " additional_properties: #{@additional_properties}>"
86
+ end
87
+
88
+ # Provides a debugging-friendly string with detailed object information.
89
+ def inspect
90
+ class_name = self.class.name.split('::').last
91
+ "<#{class_name} link_type: #{@link_type.inspect}, url: #{@url.inspect}, description:"\
92
+ " #{@description.inspect}, additional_properties: #{@additional_properties}>"
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,56 @@
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
+ # Contact federal tax classification
8
+ class FederalTaxClassification
9
+ FEDERAL_TAX_CLASSIFICATION = [
10
+ # TODO: Write general description for SOLE_PROPRIETOR
11
+ SOLE_PROPRIETOR = 'SOLE_PROPRIETOR'.freeze,
12
+
13
+ # TODO: Write general description for PARTNERSHIP
14
+ PARTNERSHIP = 'PARTNERSHIP'.freeze,
15
+
16
+ # TODO: Write general description for TRUST_OR_ESTATE
17
+ TRUST_OR_ESTATE = 'TRUST_OR_ESTATE'.freeze,
18
+
19
+ # TODO: Write general description for NONPROFIT
20
+ NONPROFIT = 'NONPROFIT'.freeze,
21
+
22
+ # TODO: Write general description for C_CORP
23
+ C_CORP = 'C_CORP'.freeze,
24
+
25
+ # TODO: Write general description for S_CORP
26
+ S_CORP = 'S_CORP'.freeze,
27
+
28
+ # TODO: Write general description for OTHER
29
+ OTHER = 'OTHER'.freeze
30
+ ].freeze
31
+
32
+ def self.validate(value)
33
+ return false if value.nil?
34
+
35
+ FEDERAL_TAX_CLASSIFICATION.include?(value)
36
+ end
37
+
38
+ def self.from_value(value, default_value = SOLE_PROPRIETOR)
39
+ return default_value if value.nil?
40
+
41
+ str = value.to_s.strip
42
+
43
+ case str.downcase
44
+ when 'sole_proprietor' then SOLE_PROPRIETOR
45
+ when 'partnership' then PARTNERSHIP
46
+ when 'trust_or_estate' then TRUST_OR_ESTATE
47
+ when 'nonprofit' then NONPROFIT
48
+ when 'c_corp' then C_CORP
49
+ when 's_corp' then S_CORP
50
+ when 'other' then OTHER
51
+ else
52
+ default_value
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,177 @@
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
+ # FeedConnection Model.
8
+ class FeedConnection < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # GUID used to identify the Account.
13
+ # @return [UUID | String]
14
+ attr_accessor :id
15
+
16
+ # This account identifier is generated by the financial institute (FI). This
17
+ # must be unique for your financial institute.
18
+ # @return [String]
19
+ attr_accessor :account_token
20
+
21
+ # String(40) when AccountType is BANK String(4) when AccountType is
22
+ # CREDITCARD The Account Number is used to match the feed to a Xero Bank
23
+ # Account. The API will create a new Xero Bank Account if a match to an
24
+ # existing Xero Bank Account is not found. Only the last 4 digits must be
25
+ # supplied for Credit Card numbers. Must be included if AccountId is not
26
+ # specified.
27
+ # @return [String]
28
+ attr_accessor :account_number
29
+
30
+ # The Account Name will be used for the creation of a new Xero Bank Account
31
+ # if a matching Xero Bank Account is not found.
32
+ # @return [String]
33
+ attr_accessor :account_name
34
+
35
+ # Xero identifier for a bank account in Xero. Must be included if
36
+ # AccountNumber is not specified.
37
+ # @return [UUID | String]
38
+ attr_accessor :account_id
39
+
40
+ # High level bank account type - BANK CREDITCARD BANK encompasses all bank
41
+ # account types other than credit cards.
42
+ # @return [AccountType1]
43
+ attr_accessor :account_type
44
+
45
+ # 3 letter alpha code for the ISO-4217 currency code, e.g. USD, AUD.
46
+ # @return [CurrencyCode1]
47
+ attr_accessor :currency
48
+
49
+ # ISO-3166 alpha-2 country code, e.g. US, AU This element is required only
50
+ # when the Application supports multi-region. Talk to your Partner Manager
51
+ # to confirm if this is the case.
52
+ # @return [CountryCode]
53
+ attr_accessor :country
54
+
55
+ # the current status of the feed connection
56
+ # @return [Status21]
57
+ attr_accessor :status
58
+
59
+ # On error, the API consumer will receive an HTTP response with a HTTP
60
+ # Status Code of 4xx or 5xx and a Content-Type of application/problem+json.
61
+ # @return [Error2]
62
+ attr_accessor :error
63
+
64
+ # A mapping from model property names to API property names.
65
+ def self.names
66
+ @_hash = {} if @_hash.nil?
67
+ @_hash['id'] = 'id'
68
+ @_hash['account_token'] = 'accountToken'
69
+ @_hash['account_number'] = 'accountNumber'
70
+ @_hash['account_name'] = 'accountName'
71
+ @_hash['account_id'] = 'accountId'
72
+ @_hash['account_type'] = 'accountType'
73
+ @_hash['currency'] = 'currency'
74
+ @_hash['country'] = 'country'
75
+ @_hash['status'] = 'status'
76
+ @_hash['error'] = 'error'
77
+ @_hash
78
+ end
79
+
80
+ # An array for optional fields
81
+ def self.optionals
82
+ %w[
83
+ id
84
+ account_token
85
+ account_number
86
+ account_name
87
+ account_id
88
+ account_type
89
+ currency
90
+ country
91
+ status
92
+ error
93
+ ]
94
+ end
95
+
96
+ # An array for nullable fields
97
+ def self.nullables
98
+ []
99
+ end
100
+
101
+ def initialize(id: SKIP, account_token: SKIP, account_number: SKIP,
102
+ account_name: SKIP, account_id: SKIP, account_type: SKIP,
103
+ currency: SKIP, country: SKIP, status: SKIP, error: SKIP,
104
+ additional_properties: nil)
105
+ # Add additional model properties to the instance
106
+ additional_properties = {} if additional_properties.nil?
107
+
108
+ @id = id unless id == SKIP
109
+ @account_token = account_token unless account_token == SKIP
110
+ @account_number = account_number unless account_number == SKIP
111
+ @account_name = account_name unless account_name == SKIP
112
+ @account_id = account_id unless account_id == SKIP
113
+ @account_type = account_type unless account_type == SKIP
114
+ @currency = currency unless currency == SKIP
115
+ @country = country unless country == SKIP
116
+ @status = status unless status == SKIP
117
+ @error = error unless error == SKIP
118
+ @additional_properties = additional_properties
119
+ end
120
+
121
+ # Creates an instance of the object from a hash.
122
+ def self.from_hash(hash)
123
+ return nil unless hash
124
+
125
+ # Extract variables from the hash.
126
+ id = hash.key?('id') ? hash['id'] : SKIP
127
+ account_token = hash.key?('accountToken') ? hash['accountToken'] : SKIP
128
+ account_number = hash.key?('accountNumber') ? hash['accountNumber'] : SKIP
129
+ account_name = hash.key?('accountName') ? hash['accountName'] : SKIP
130
+ account_id = hash.key?('accountId') ? hash['accountId'] : SKIP
131
+ account_type = hash.key?('accountType') ? hash['accountType'] : SKIP
132
+ currency = hash.key?('currency') ? hash['currency'] : SKIP
133
+ country = hash.key?('country') ? hash['country'] : SKIP
134
+ status = hash.key?('status') ? hash['status'] : SKIP
135
+ error = Error2.from_hash(hash['error']) if hash['error']
136
+
137
+ # Create a new hash for additional properties, removing known properties.
138
+ new_hash = hash.reject { |k, _| names.value?(k) }
139
+
140
+ additional_properties = APIHelper.get_additional_properties(
141
+ new_hash, proc { |value| value }
142
+ )
143
+
144
+ # Create object from extracted values.
145
+ FeedConnection.new(id: id,
146
+ account_token: account_token,
147
+ account_number: account_number,
148
+ account_name: account_name,
149
+ account_id: account_id,
150
+ account_type: account_type,
151
+ currency: currency,
152
+ country: country,
153
+ status: status,
154
+ error: error,
155
+ additional_properties: additional_properties)
156
+ end
157
+
158
+ # Provides a human-readable string representation of the object.
159
+ def to_s
160
+ class_name = self.class.name.split('::').last
161
+ "<#{class_name} id: #{@id}, account_token: #{@account_token}, account_number:"\
162
+ " #{@account_number}, account_name: #{@account_name}, account_id: #{@account_id},"\
163
+ " account_type: #{@account_type}, currency: #{@currency}, country: #{@country}, status:"\
164
+ " #{@status}, error: #{@error}, additional_properties: #{@additional_properties}>"
165
+ end
166
+
167
+ # Provides a debugging-friendly string with detailed object information.
168
+ def inspect
169
+ class_name = self.class.name.split('::').last
170
+ "<#{class_name} id: #{@id.inspect}, account_token: #{@account_token.inspect},"\
171
+ " account_number: #{@account_number.inspect}, account_name: #{@account_name.inspect},"\
172
+ " account_id: #{@account_id.inspect}, account_type: #{@account_type.inspect}, currency:"\
173
+ " #{@currency.inspect}, country: #{@country.inspect}, status: #{@status.inspect}, error:"\
174
+ " #{@error.inspect}, additional_properties: #{@additional_properties}>"
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,94 @@
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
+ # FeedConnections Model.
8
+ class FeedConnections < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Pagination]
14
+ attr_accessor :pagination
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [Array[FeedConnection]]
18
+ attr_accessor :items
19
+
20
+ # A mapping from model property names to API property names.
21
+ def self.names
22
+ @_hash = {} if @_hash.nil?
23
+ @_hash['pagination'] = 'pagination'
24
+ @_hash['items'] = 'items'
25
+ @_hash
26
+ end
27
+
28
+ # An array for optional fields
29
+ def self.optionals
30
+ %w[
31
+ pagination
32
+ items
33
+ ]
34
+ end
35
+
36
+ # An array for nullable fields
37
+ def self.nullables
38
+ []
39
+ end
40
+
41
+ def initialize(pagination: SKIP, items: SKIP, additional_properties: nil)
42
+ # Add additional model properties to the instance
43
+ additional_properties = {} if additional_properties.nil?
44
+
45
+ @pagination = pagination unless pagination == SKIP
46
+ @items = items unless items == SKIP
47
+ @additional_properties = additional_properties
48
+ end
49
+
50
+ # Creates an instance of the object from a hash.
51
+ def self.from_hash(hash)
52
+ return nil unless hash
53
+
54
+ # Extract variables from the hash.
55
+ pagination = Pagination.from_hash(hash['pagination']) if hash['pagination']
56
+ # Parameter is an array, so we need to iterate through it
57
+ items = nil
58
+ unless hash['items'].nil?
59
+ items = []
60
+ hash['items'].each do |structure|
61
+ items << (FeedConnection.from_hash(structure) if structure)
62
+ end
63
+ end
64
+
65
+ items = SKIP unless hash.key?('items')
66
+
67
+ # Create a new hash for additional properties, removing known properties.
68
+ new_hash = hash.reject { |k, _| names.value?(k) }
69
+
70
+ additional_properties = APIHelper.get_additional_properties(
71
+ new_hash, proc { |value| value }
72
+ )
73
+
74
+ # Create object from extracted values.
75
+ FeedConnections.new(pagination: pagination,
76
+ items: items,
77
+ additional_properties: additional_properties)
78
+ end
79
+
80
+ # Provides a human-readable string representation of the object.
81
+ def to_s
82
+ class_name = self.class.name.split('::').last
83
+ "<#{class_name} pagination: #{@pagination}, items: #{@items}, additional_properties:"\
84
+ " #{@additional_properties}>"
85
+ end
86
+
87
+ # Provides a debugging-friendly string with detailed object information.
88
+ def inspect
89
+ class_name = self.class.name.split('::').last
90
+ "<#{class_name} pagination: #{@pagination.inspect}, items: #{@items.inspect},"\
91
+ " additional_properties: #{@additional_properties}>"
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,127 @@
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
+ # FieldValidationErrorsElement Model.
8
+ class FieldValidationErrorsElement < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The field name of the erroneous field
13
+ # @return [String]
14
+ attr_accessor :field_name
15
+
16
+ # The provided value
17
+ # @return [String]
18
+ attr_accessor :value_provided
19
+
20
+ # Explanation of the field validation error
21
+ # @return [String]
22
+ attr_accessor :localised_message
23
+
24
+ # Internal type of the field validation error message
25
+ # @return [String]
26
+ attr_accessor :type
27
+
28
+ # Title of the field validation error
29
+ # @return [String]
30
+ attr_accessor :title
31
+
32
+ # Detail of the field validation error
33
+ # @return [String]
34
+ attr_accessor :detail
35
+
36
+ # A mapping from model property names to API property names.
37
+ def self.names
38
+ @_hash = {} if @_hash.nil?
39
+ @_hash['field_name'] = 'fieldName'
40
+ @_hash['value_provided'] = 'valueProvided'
41
+ @_hash['localised_message'] = 'localisedMessage'
42
+ @_hash['type'] = 'type'
43
+ @_hash['title'] = 'title'
44
+ @_hash['detail'] = 'detail'
45
+ @_hash
46
+ end
47
+
48
+ # An array for optional fields
49
+ def self.optionals
50
+ %w[
51
+ field_name
52
+ value_provided
53
+ localised_message
54
+ type
55
+ title
56
+ detail
57
+ ]
58
+ end
59
+
60
+ # An array for nullable fields
61
+ def self.nullables
62
+ []
63
+ end
64
+
65
+ def initialize(field_name: SKIP, value_provided: SKIP,
66
+ localised_message: SKIP, type: SKIP, title: SKIP,
67
+ detail: SKIP, additional_properties: nil)
68
+ # Add additional model properties to the instance
69
+ additional_properties = {} if additional_properties.nil?
70
+
71
+ @field_name = field_name unless field_name == SKIP
72
+ @value_provided = value_provided unless value_provided == SKIP
73
+ @localised_message = localised_message unless localised_message == SKIP
74
+ @type = type unless type == SKIP
75
+ @title = title unless title == SKIP
76
+ @detail = detail unless detail == SKIP
77
+ @additional_properties = additional_properties
78
+ end
79
+
80
+ # Creates an instance of the object from a hash.
81
+ def self.from_hash(hash)
82
+ return nil unless hash
83
+
84
+ # Extract variables from the hash.
85
+ field_name = hash.key?('fieldName') ? hash['fieldName'] : SKIP
86
+ value_provided = hash.key?('valueProvided') ? hash['valueProvided'] : SKIP
87
+ localised_message =
88
+ hash.key?('localisedMessage') ? hash['localisedMessage'] : SKIP
89
+ type = hash.key?('type') ? hash['type'] : SKIP
90
+ title = hash.key?('title') ? hash['title'] : SKIP
91
+ detail = hash.key?('detail') ? hash['detail'] : SKIP
92
+
93
+ # Create a new hash for additional properties, removing known properties.
94
+ new_hash = hash.reject { |k, _| names.value?(k) }
95
+
96
+ additional_properties = APIHelper.get_additional_properties(
97
+ new_hash, proc { |value| value }
98
+ )
99
+
100
+ # Create object from extracted values.
101
+ FieldValidationErrorsElement.new(field_name: field_name,
102
+ value_provided: value_provided,
103
+ localised_message: localised_message,
104
+ type: type,
105
+ title: title,
106
+ detail: detail,
107
+ additional_properties: additional_properties)
108
+ end
109
+
110
+ # Provides a human-readable string representation of the object.
111
+ def to_s
112
+ class_name = self.class.name.split('::').last
113
+ "<#{class_name} field_name: #{@field_name}, value_provided: #{@value_provided},"\
114
+ " localised_message: #{@localised_message}, type: #{@type}, title: #{@title}, detail:"\
115
+ " #{@detail}, additional_properties: #{@additional_properties}>"
116
+ end
117
+
118
+ # Provides a debugging-friendly string with detailed object information.
119
+ def inspect
120
+ class_name = self.class.name.split('::').last
121
+ "<#{class_name} field_name: #{@field_name.inspect}, value_provided:"\
122
+ " #{@value_provided.inspect}, localised_message: #{@localised_message.inspect}, type:"\
123
+ " #{@type.inspect}, title: #{@title.inspect}, detail: #{@detail.inspect},"\
124
+ " additional_properties: #{@additional_properties}>"
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,105 @@
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
+ # HistoryRecord Model.
8
+ class HistoryRecord < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # details
13
+ # @return [String]
14
+ attr_accessor :details
15
+
16
+ # Name of branding theme
17
+ # @return [String]
18
+ attr_accessor :changes
19
+
20
+ # has a value of 0
21
+ # @return [String]
22
+ attr_accessor :user
23
+
24
+ # UTC timestamp of creation date of branding theme
25
+ # @return [String]
26
+ attr_accessor :date_utc
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['details'] = 'Details'
32
+ @_hash['changes'] = 'Changes'
33
+ @_hash['user'] = 'User'
34
+ @_hash['date_utc'] = 'DateUTC'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ details
42
+ changes
43
+ user
44
+ date_utc
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(details: SKIP, changes: SKIP, user: SKIP, date_utc: SKIP,
54
+ additional_properties: nil)
55
+ # Add additional model properties to the instance
56
+ additional_properties = {} if additional_properties.nil?
57
+
58
+ @details = details unless details == SKIP
59
+ @changes = changes unless changes == SKIP
60
+ @user = user unless user == SKIP
61
+ @date_utc = date_utc unless date_utc == SKIP
62
+ @additional_properties = additional_properties
63
+ end
64
+
65
+ # Creates an instance of the object from a hash.
66
+ def self.from_hash(hash)
67
+ return nil unless hash
68
+
69
+ # Extract variables from the hash.
70
+ details = hash.key?('Details') ? hash['Details'] : SKIP
71
+ changes = hash.key?('Changes') ? hash['Changes'] : SKIP
72
+ user = hash.key?('User') ? hash['User'] : SKIP
73
+ date_utc = hash.key?('DateUTC') ? hash['DateUTC'] : SKIP
74
+
75
+ # Create a new hash for additional properties, removing known properties.
76
+ new_hash = hash.reject { |k, _| names.value?(k) }
77
+
78
+ additional_properties = APIHelper.get_additional_properties(
79
+ new_hash, proc { |value| value }
80
+ )
81
+
82
+ # Create object from extracted values.
83
+ HistoryRecord.new(details: details,
84
+ changes: changes,
85
+ user: user,
86
+ date_utc: date_utc,
87
+ additional_properties: additional_properties)
88
+ end
89
+
90
+ # Provides a human-readable string representation of the object.
91
+ def to_s
92
+ class_name = self.class.name.split('::').last
93
+ "<#{class_name} details: #{@details}, changes: #{@changes}, user: #{@user}, date_utc:"\
94
+ " #{@date_utc}, additional_properties: #{@additional_properties}>"
95
+ end
96
+
97
+ # Provides a debugging-friendly string with detailed object information.
98
+ def inspect
99
+ class_name = self.class.name.split('::').last
100
+ "<#{class_name} details: #{@details.inspect}, changes: #{@changes.inspect}, user:"\
101
+ " #{@user.inspect}, date_utc: #{@date_utc.inspect}, additional_properties:"\
102
+ " #{@additional_properties}>"
103
+ end
104
+ end
105
+ end