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,287 @@
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
+ # Receipt Model.
8
+ class Receipt < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Date of receipt – YYYY-MM-DD
13
+ # @return [String]
14
+ attr_accessor :date
15
+
16
+ # Date of receipt – YYYY-MM-DD
17
+ # @return [Contact]
18
+ attr_accessor :contact
19
+
20
+ # Date of receipt – YYYY-MM-DD
21
+ # @return [Array[LineItem]]
22
+ attr_accessor :line_items
23
+
24
+ # Date of receipt – YYYY-MM-DD
25
+ # @return [User]
26
+ attr_accessor :user
27
+
28
+ # Additional reference number
29
+ # @return [String]
30
+ attr_accessor :reference
31
+
32
+ # Line amounts are exclusive of tax by default if you don’t specify this
33
+ # element. See Line Amount Types
34
+ # @return [LineAmountTypes]
35
+ attr_accessor :line_amount_types
36
+
37
+ # Total of receipt excluding taxes
38
+ # @return [Float]
39
+ attr_accessor :sub_total
40
+
41
+ # Total tax on receipt
42
+ # @return [Float]
43
+ attr_accessor :total_tax
44
+
45
+ # Total of receipt tax inclusive (i.e. SubTotal + TotalTax)
46
+ # @return [Float]
47
+ attr_accessor :total
48
+
49
+ # Xero generated unique identifier for receipt
50
+ # @return [UUID | String]
51
+ attr_accessor :receipt_id
52
+
53
+ # Current status of receipt – see status types
54
+ # @return [Status13]
55
+ attr_accessor :status
56
+
57
+ # Xero generated sequence number for receipt in current claim for a given
58
+ # user
59
+ # @return [String]
60
+ attr_accessor :receipt_number
61
+
62
+ # Last modified date UTC format
63
+ # @return [String]
64
+ attr_accessor :updated_date_utc
65
+
66
+ # boolean to indicate if a receipt has an attachment
67
+ # @return [TrueClass | FalseClass]
68
+ attr_accessor :has_attachments
69
+
70
+ # URL link to a source document – shown as “Go to [appName]” in the Xero app
71
+ # @return [String]
72
+ attr_accessor :url
73
+
74
+ # Displays array of validation error messages from the API
75
+ # @return [Array[ValidationError]]
76
+ attr_accessor :validation_errors
77
+
78
+ # Displays array of warning messages from the API
79
+ # @return [Array[ValidationError]]
80
+ attr_accessor :warnings
81
+
82
+ # Displays array of attachments from the API
83
+ # @return [Array[Attachment]]
84
+ attr_accessor :attachments
85
+
86
+ # A mapping from model property names to API property names.
87
+ def self.names
88
+ @_hash = {} if @_hash.nil?
89
+ @_hash['date'] = 'Date'
90
+ @_hash['contact'] = 'Contact'
91
+ @_hash['line_items'] = 'LineItems'
92
+ @_hash['user'] = 'User'
93
+ @_hash['reference'] = 'Reference'
94
+ @_hash['line_amount_types'] = 'LineAmountTypes'
95
+ @_hash['sub_total'] = 'SubTotal'
96
+ @_hash['total_tax'] = 'TotalTax'
97
+ @_hash['total'] = 'Total'
98
+ @_hash['receipt_id'] = 'ReceiptID'
99
+ @_hash['status'] = 'Status'
100
+ @_hash['receipt_number'] = 'ReceiptNumber'
101
+ @_hash['updated_date_utc'] = 'UpdatedDateUTC'
102
+ @_hash['has_attachments'] = 'HasAttachments'
103
+ @_hash['url'] = 'Url'
104
+ @_hash['validation_errors'] = 'ValidationErrors'
105
+ @_hash['warnings'] = 'Warnings'
106
+ @_hash['attachments'] = 'Attachments'
107
+ @_hash
108
+ end
109
+
110
+ # An array for optional fields
111
+ def self.optionals
112
+ %w[
113
+ date
114
+ contact
115
+ line_items
116
+ user
117
+ reference
118
+ line_amount_types
119
+ sub_total
120
+ total_tax
121
+ total
122
+ receipt_id
123
+ status
124
+ receipt_number
125
+ updated_date_utc
126
+ has_attachments
127
+ url
128
+ validation_errors
129
+ warnings
130
+ attachments
131
+ ]
132
+ end
133
+
134
+ # An array for nullable fields
135
+ def self.nullables
136
+ []
137
+ end
138
+
139
+ def initialize(date: SKIP, contact: SKIP, line_items: SKIP, user: SKIP,
140
+ reference: SKIP, line_amount_types: SKIP, sub_total: SKIP,
141
+ total_tax: SKIP, total: SKIP, receipt_id: SKIP, status: SKIP,
142
+ receipt_number: SKIP, updated_date_utc: SKIP,
143
+ has_attachments: false, url: SKIP, validation_errors: SKIP,
144
+ warnings: SKIP, attachments: SKIP,
145
+ additional_properties: nil)
146
+ # Add additional model properties to the instance
147
+ additional_properties = {} if additional_properties.nil?
148
+
149
+ @date = date unless date == SKIP
150
+ @contact = contact unless contact == SKIP
151
+ @line_items = line_items unless line_items == SKIP
152
+ @user = user unless user == SKIP
153
+ @reference = reference unless reference == SKIP
154
+ @line_amount_types = line_amount_types unless line_amount_types == SKIP
155
+ @sub_total = sub_total unless sub_total == SKIP
156
+ @total_tax = total_tax unless total_tax == SKIP
157
+ @total = total unless total == SKIP
158
+ @receipt_id = receipt_id unless receipt_id == SKIP
159
+ @status = status unless status == SKIP
160
+ @receipt_number = receipt_number unless receipt_number == SKIP
161
+ @updated_date_utc = updated_date_utc unless updated_date_utc == SKIP
162
+ @has_attachments = has_attachments unless has_attachments == SKIP
163
+ @url = url unless url == SKIP
164
+ @validation_errors = validation_errors unless validation_errors == SKIP
165
+ @warnings = warnings unless warnings == SKIP
166
+ @attachments = attachments unless attachments == SKIP
167
+ @additional_properties = additional_properties
168
+ end
169
+
170
+ # Creates an instance of the object from a hash.
171
+ def self.from_hash(hash)
172
+ return nil unless hash
173
+
174
+ # Extract variables from the hash.
175
+ date = hash.key?('Date') ? hash['Date'] : SKIP
176
+ contact = Contact.from_hash(hash['Contact']) if hash['Contact']
177
+ # Parameter is an array, so we need to iterate through it
178
+ line_items = nil
179
+ unless hash['LineItems'].nil?
180
+ line_items = []
181
+ hash['LineItems'].each do |structure|
182
+ line_items << (LineItem.from_hash(structure) if structure)
183
+ end
184
+ end
185
+
186
+ line_items = SKIP unless hash.key?('LineItems')
187
+ user = User.from_hash(hash['User']) if hash['User']
188
+ reference = hash.key?('Reference') ? hash['Reference'] : SKIP
189
+ line_amount_types =
190
+ hash.key?('LineAmountTypes') ? hash['LineAmountTypes'] : SKIP
191
+ sub_total = hash.key?('SubTotal') ? hash['SubTotal'] : SKIP
192
+ total_tax = hash.key?('TotalTax') ? hash['TotalTax'] : SKIP
193
+ total = hash.key?('Total') ? hash['Total'] : SKIP
194
+ receipt_id = hash.key?('ReceiptID') ? hash['ReceiptID'] : SKIP
195
+ status = hash.key?('Status') ? hash['Status'] : SKIP
196
+ receipt_number = hash.key?('ReceiptNumber') ? hash['ReceiptNumber'] : SKIP
197
+ updated_date_utc =
198
+ hash.key?('UpdatedDateUTC') ? hash['UpdatedDateUTC'] : SKIP
199
+ has_attachments = hash['HasAttachments'] ||= false
200
+ url = hash.key?('Url') ? hash['Url'] : SKIP
201
+ # Parameter is an array, so we need to iterate through it
202
+ validation_errors = nil
203
+ unless hash['ValidationErrors'].nil?
204
+ validation_errors = []
205
+ hash['ValidationErrors'].each do |structure|
206
+ validation_errors << (ValidationError.from_hash(structure) if structure)
207
+ end
208
+ end
209
+
210
+ validation_errors = SKIP unless hash.key?('ValidationErrors')
211
+ # Parameter is an array, so we need to iterate through it
212
+ warnings = nil
213
+ unless hash['Warnings'].nil?
214
+ warnings = []
215
+ hash['Warnings'].each do |structure|
216
+ warnings << (ValidationError.from_hash(structure) if structure)
217
+ end
218
+ end
219
+
220
+ warnings = SKIP unless hash.key?('Warnings')
221
+ # Parameter is an array, so we need to iterate through it
222
+ attachments = nil
223
+ unless hash['Attachments'].nil?
224
+ attachments = []
225
+ hash['Attachments'].each do |structure|
226
+ attachments << (Attachment.from_hash(structure) if structure)
227
+ end
228
+ end
229
+
230
+ attachments = SKIP unless hash.key?('Attachments')
231
+
232
+ # Create a new hash for additional properties, removing known properties.
233
+ new_hash = hash.reject { |k, _| names.value?(k) }
234
+
235
+ additional_properties = APIHelper.get_additional_properties(
236
+ new_hash, proc { |value| value }
237
+ )
238
+
239
+ # Create object from extracted values.
240
+ Receipt.new(date: date,
241
+ contact: contact,
242
+ line_items: line_items,
243
+ user: user,
244
+ reference: reference,
245
+ line_amount_types: line_amount_types,
246
+ sub_total: sub_total,
247
+ total_tax: total_tax,
248
+ total: total,
249
+ receipt_id: receipt_id,
250
+ status: status,
251
+ receipt_number: receipt_number,
252
+ updated_date_utc: updated_date_utc,
253
+ has_attachments: has_attachments,
254
+ url: url,
255
+ validation_errors: validation_errors,
256
+ warnings: warnings,
257
+ attachments: attachments,
258
+ additional_properties: additional_properties)
259
+ end
260
+
261
+ # Provides a human-readable string representation of the object.
262
+ def to_s
263
+ class_name = self.class.name.split('::').last
264
+ "<#{class_name} date: #{@date}, contact: #{@contact}, line_items: #{@line_items}, user:"\
265
+ " #{@user}, reference: #{@reference}, line_amount_types: #{@line_amount_types}, sub_total:"\
266
+ " #{@sub_total}, total_tax: #{@total_tax}, total: #{@total}, receipt_id: #{@receipt_id},"\
267
+ " status: #{@status}, receipt_number: #{@receipt_number}, updated_date_utc:"\
268
+ " #{@updated_date_utc}, has_attachments: #{@has_attachments}, url: #{@url},"\
269
+ " validation_errors: #{@validation_errors}, warnings: #{@warnings}, attachments:"\
270
+ " #{@attachments}, additional_properties: #{@additional_properties}>"
271
+ end
272
+
273
+ # Provides a debugging-friendly string with detailed object information.
274
+ def inspect
275
+ class_name = self.class.name.split('::').last
276
+ "<#{class_name} date: #{@date.inspect}, contact: #{@contact.inspect}, line_items:"\
277
+ " #{@line_items.inspect}, user: #{@user.inspect}, reference: #{@reference.inspect},"\
278
+ " line_amount_types: #{@line_amount_types.inspect}, sub_total: #{@sub_total.inspect},"\
279
+ " total_tax: #{@total_tax.inspect}, total: #{@total.inspect}, receipt_id:"\
280
+ " #{@receipt_id.inspect}, status: #{@status.inspect}, receipt_number:"\
281
+ " #{@receipt_number.inspect}, updated_date_utc: #{@updated_date_utc.inspect},"\
282
+ " has_attachments: #{@has_attachments.inspect}, url: #{@url.inspect}, validation_errors:"\
283
+ " #{@validation_errors.inspect}, warnings: #{@warnings.inspect}, attachments:"\
284
+ " #{@attachments.inspect}, additional_properties: #{@additional_properties}>"
285
+ end
286
+ end
287
+ end
@@ -0,0 +1,84 @@
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
+ # Receipts Model.
8
+ class Receipts < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[Receipt]]
14
+ attr_accessor :receipts
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['receipts'] = 'Receipts'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ receipts
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(receipts: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @receipts = receipts unless receipts == 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
+ receipts = nil
50
+ unless hash['Receipts'].nil?
51
+ receipts = []
52
+ hash['Receipts'].each do |structure|
53
+ receipts << (Receipt.from_hash(structure) if structure)
54
+ end
55
+ end
56
+
57
+ receipts = SKIP unless hash.key?('Receipts')
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
+ Receipts.new(receipts: receipts,
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} receipts: #{@receipts}, additional_properties: #{@additional_properties}>"
75
+ end
76
+
77
+ # Provides a debugging-friendly string with detailed object information.
78
+ def inspect
79
+ class_name = self.class.name.split('::').last
80
+ "<#{class_name} receipts: #{@receipts.inspect}, additional_properties:"\
81
+ " #{@additional_properties}>"
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,106 @@
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
+ # RefreshToken Model.
8
+ class RefreshToken < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Xero grant type
13
+ # @return [String]
14
+ attr_accessor :grant_type
15
+
16
+ # refresh token provided during authentication flow
17
+ # @return [String]
18
+ attr_accessor :refresh_token
19
+
20
+ # client id for Xero app
21
+ # @return [String]
22
+ attr_accessor :client_id
23
+
24
+ # client secret for Xero app 2
25
+ # @return [String]
26
+ attr_accessor :client_secret
27
+
28
+ # A mapping from model property names to API property names.
29
+ def self.names
30
+ @_hash = {} if @_hash.nil?
31
+ @_hash['grant_type'] = 'grant_type'
32
+ @_hash['refresh_token'] = 'refresh_token'
33
+ @_hash['client_id'] = 'client_id'
34
+ @_hash['client_secret'] = 'client_secret'
35
+ @_hash
36
+ end
37
+
38
+ # An array for optional fields
39
+ def self.optionals
40
+ %w[
41
+ grant_type
42
+ refresh_token
43
+ client_id
44
+ client_secret
45
+ ]
46
+ end
47
+
48
+ # An array for nullable fields
49
+ def self.nullables
50
+ []
51
+ end
52
+
53
+ def initialize(grant_type: SKIP, refresh_token: SKIP, client_id: SKIP,
54
+ client_secret: SKIP, additional_properties: nil)
55
+ # Add additional model properties to the instance
56
+ additional_properties = {} if additional_properties.nil?
57
+
58
+ @grant_type = grant_type unless grant_type == SKIP
59
+ @refresh_token = refresh_token unless refresh_token == SKIP
60
+ @client_id = client_id unless client_id == SKIP
61
+ @client_secret = client_secret unless client_secret == 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
+ grant_type = hash.key?('grant_type') ? hash['grant_type'] : SKIP
71
+ refresh_token = hash.key?('refresh_token') ? hash['refresh_token'] : SKIP
72
+ client_id = hash.key?('client_id') ? hash['client_id'] : SKIP
73
+ client_secret = hash.key?('client_secret') ? hash['client_secret'] : 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
+ RefreshToken.new(grant_type: grant_type,
84
+ refresh_token: refresh_token,
85
+ client_id: client_id,
86
+ client_secret: client_secret,
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} grant_type: #{@grant_type}, refresh_token: #{@refresh_token}, client_id:"\
94
+ " #{@client_id}, client_secret: #{@client_secret}, additional_properties:"\
95
+ " #{@additional_properties}>"
96
+ end
97
+
98
+ # Provides a debugging-friendly string with detailed object information.
99
+ def inspect
100
+ class_name = self.class.name.split('::').last
101
+ "<#{class_name} grant_type: #{@grant_type.inspect}, refresh_token:"\
102
+ " #{@refresh_token.inspect}, client_id: #{@client_id.inspect}, client_secret:"\
103
+ " #{@client_secret.inspect}, additional_properties: #{@additional_properties}>"
104
+ end
105
+ end
106
+ end