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,259 @@
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
+ # Item Model.
8
+ class Item < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # User defined item code (max length = 30)
13
+ # @return [String]
14
+ attr_accessor :code
15
+
16
+ # The inventory asset account for the item. The account must be of type
17
+ # INVENTORY. The COGSAccountCode in PurchaseDetails is also required to
18
+ # create a tracked item
19
+ # @return [String]
20
+ attr_accessor :inventory_asset_account_code
21
+
22
+ # The name of the item (max length = 50)
23
+ # @return [String]
24
+ attr_accessor :name
25
+
26
+ # Boolean value, defaults to true. When IsSold is true the item will be
27
+ # available on sales transactions in the Xero UI. If IsSold is updated to
28
+ # false then Description and SalesDetails values will be nulled.
29
+ # @return [TrueClass | FalseClass]
30
+ attr_accessor :is_sold
31
+
32
+ # Boolean value, defaults to true. When IsPurchased is true the item is
33
+ # available for purchase transactions in the Xero UI. If IsPurchased is
34
+ # updated to false then PurchaseDescription and PurchaseDetails values will
35
+ # be nulled.
36
+ # @return [TrueClass | FalseClass]
37
+ attr_accessor :is_purchased
38
+
39
+ # The sales description of the item (max length = 4000)
40
+ # @return [String]
41
+ attr_accessor :description
42
+
43
+ # The purchase description of the item (max length = 4000)
44
+ # @return [String]
45
+ attr_accessor :purchase_description
46
+
47
+ # The purchase description of the item (max length = 4000)
48
+ # @return [Purchase]
49
+ attr_accessor :purchase_details
50
+
51
+ # The purchase description of the item (max length = 4000)
52
+ # @return [Purchase]
53
+ attr_accessor :sales_details
54
+
55
+ # True for items that are tracked as inventory. An item will be tracked as
56
+ # inventory if the InventoryAssetAccountCode and COGSAccountCode are set.
57
+ # @return [TrueClass | FalseClass]
58
+ attr_accessor :is_tracked_as_inventory
59
+
60
+ # The value of the item on hand. Calculated using average cost accounting.
61
+ # @return [Float]
62
+ attr_accessor :total_cost_pool
63
+
64
+ # The quantity of the item on hand
65
+ # @return [Float]
66
+ attr_accessor :quantity_on_hand
67
+
68
+ # Last modified date in UTC format
69
+ # @return [String]
70
+ attr_accessor :updated_date_utc
71
+
72
+ # The Xero identifier for an Item
73
+ # @return [UUID | String]
74
+ attr_accessor :item_id
75
+
76
+ # Status of object
77
+ # @return [String]
78
+ attr_accessor :status_attribute_string
79
+
80
+ # Displays array of validation error messages from the API
81
+ # @return [Array[ValidationError]]
82
+ attr_accessor :validation_errors
83
+
84
+ # A mapping from model property names to API property names.
85
+ def self.names
86
+ @_hash = {} if @_hash.nil?
87
+ @_hash['code'] = 'Code'
88
+ @_hash['inventory_asset_account_code'] = 'InventoryAssetAccountCode'
89
+ @_hash['name'] = 'Name'
90
+ @_hash['is_sold'] = 'IsSold'
91
+ @_hash['is_purchased'] = 'IsPurchased'
92
+ @_hash['description'] = 'Description'
93
+ @_hash['purchase_description'] = 'PurchaseDescription'
94
+ @_hash['purchase_details'] = 'PurchaseDetails'
95
+ @_hash['sales_details'] = 'SalesDetails'
96
+ @_hash['is_tracked_as_inventory'] = 'IsTrackedAsInventory'
97
+ @_hash['total_cost_pool'] = 'TotalCostPool'
98
+ @_hash['quantity_on_hand'] = 'QuantityOnHand'
99
+ @_hash['updated_date_utc'] = 'UpdatedDateUTC'
100
+ @_hash['item_id'] = 'ItemID'
101
+ @_hash['status_attribute_string'] = 'StatusAttributeString'
102
+ @_hash['validation_errors'] = 'ValidationErrors'
103
+ @_hash
104
+ end
105
+
106
+ # An array for optional fields
107
+ def self.optionals
108
+ %w[
109
+ inventory_asset_account_code
110
+ name
111
+ is_sold
112
+ is_purchased
113
+ description
114
+ purchase_description
115
+ purchase_details
116
+ sales_details
117
+ is_tracked_as_inventory
118
+ total_cost_pool
119
+ quantity_on_hand
120
+ updated_date_utc
121
+ item_id
122
+ status_attribute_string
123
+ validation_errors
124
+ ]
125
+ end
126
+
127
+ # An array for nullable fields
128
+ def self.nullables
129
+ []
130
+ end
131
+
132
+ def initialize(code:, inventory_asset_account_code: SKIP, name: SKIP,
133
+ is_sold: SKIP, is_purchased: SKIP, description: SKIP,
134
+ purchase_description: SKIP, purchase_details: SKIP,
135
+ sales_details: SKIP, is_tracked_as_inventory: SKIP,
136
+ total_cost_pool: SKIP, quantity_on_hand: SKIP,
137
+ updated_date_utc: SKIP, item_id: SKIP,
138
+ status_attribute_string: SKIP, validation_errors: SKIP,
139
+ additional_properties: nil)
140
+ # Add additional model properties to the instance
141
+ additional_properties = {} if additional_properties.nil?
142
+
143
+ @code = code
144
+ unless inventory_asset_account_code == SKIP
145
+ @inventory_asset_account_code =
146
+ inventory_asset_account_code
147
+ end
148
+ @name = name unless name == SKIP
149
+ @is_sold = is_sold unless is_sold == SKIP
150
+ @is_purchased = is_purchased unless is_purchased == SKIP
151
+ @description = description unless description == SKIP
152
+ @purchase_description = purchase_description unless purchase_description == SKIP
153
+ @purchase_details = purchase_details unless purchase_details == SKIP
154
+ @sales_details = sales_details unless sales_details == SKIP
155
+ @is_tracked_as_inventory = is_tracked_as_inventory unless is_tracked_as_inventory == SKIP
156
+ @total_cost_pool = total_cost_pool unless total_cost_pool == SKIP
157
+ @quantity_on_hand = quantity_on_hand unless quantity_on_hand == SKIP
158
+ @updated_date_utc = updated_date_utc unless updated_date_utc == SKIP
159
+ @item_id = item_id unless item_id == SKIP
160
+ @status_attribute_string = status_attribute_string unless status_attribute_string == SKIP
161
+ @validation_errors = validation_errors unless validation_errors == SKIP
162
+ @additional_properties = additional_properties
163
+ end
164
+
165
+ # Creates an instance of the object from a hash.
166
+ def self.from_hash(hash)
167
+ return nil unless hash
168
+
169
+ # Extract variables from the hash.
170
+ code = hash.key?('Code') ? hash['Code'] : nil
171
+ inventory_asset_account_code =
172
+ hash.key?('InventoryAssetAccountCode') ? hash['InventoryAssetAccountCode'] : SKIP
173
+ name = hash.key?('Name') ? hash['Name'] : SKIP
174
+ is_sold = hash.key?('IsSold') ? hash['IsSold'] : SKIP
175
+ is_purchased = hash.key?('IsPurchased') ? hash['IsPurchased'] : SKIP
176
+ description = hash.key?('Description') ? hash['Description'] : SKIP
177
+ purchase_description =
178
+ hash.key?('PurchaseDescription') ? hash['PurchaseDescription'] : SKIP
179
+ purchase_details = Purchase.from_hash(hash['PurchaseDetails']) if hash['PurchaseDetails']
180
+ sales_details = Purchase.from_hash(hash['SalesDetails']) if hash['SalesDetails']
181
+ is_tracked_as_inventory =
182
+ hash.key?('IsTrackedAsInventory') ? hash['IsTrackedAsInventory'] : SKIP
183
+ total_cost_pool =
184
+ hash.key?('TotalCostPool') ? hash['TotalCostPool'] : SKIP
185
+ quantity_on_hand =
186
+ hash.key?('QuantityOnHand') ? hash['QuantityOnHand'] : SKIP
187
+ updated_date_utc =
188
+ hash.key?('UpdatedDateUTC') ? hash['UpdatedDateUTC'] : SKIP
189
+ item_id = hash.key?('ItemID') ? hash['ItemID'] : SKIP
190
+ status_attribute_string =
191
+ hash.key?('StatusAttributeString') ? hash['StatusAttributeString'] : SKIP
192
+ # Parameter is an array, so we need to iterate through it
193
+ validation_errors = nil
194
+ unless hash['ValidationErrors'].nil?
195
+ validation_errors = []
196
+ hash['ValidationErrors'].each do |structure|
197
+ validation_errors << (ValidationError.from_hash(structure) if structure)
198
+ end
199
+ end
200
+
201
+ validation_errors = SKIP unless hash.key?('ValidationErrors')
202
+
203
+ # Create a new hash for additional properties, removing known properties.
204
+ new_hash = hash.reject { |k, _| names.value?(k) }
205
+
206
+ additional_properties = APIHelper.get_additional_properties(
207
+ new_hash, proc { |value| value }
208
+ )
209
+
210
+ # Create object from extracted values.
211
+ Item.new(code: code,
212
+ inventory_asset_account_code: inventory_asset_account_code,
213
+ name: name,
214
+ is_sold: is_sold,
215
+ is_purchased: is_purchased,
216
+ description: description,
217
+ purchase_description: purchase_description,
218
+ purchase_details: purchase_details,
219
+ sales_details: sales_details,
220
+ is_tracked_as_inventory: is_tracked_as_inventory,
221
+ total_cost_pool: total_cost_pool,
222
+ quantity_on_hand: quantity_on_hand,
223
+ updated_date_utc: updated_date_utc,
224
+ item_id: item_id,
225
+ status_attribute_string: status_attribute_string,
226
+ validation_errors: validation_errors,
227
+ additional_properties: additional_properties)
228
+ end
229
+
230
+ # Provides a human-readable string representation of the object.
231
+ def to_s
232
+ class_name = self.class.name.split('::').last
233
+ "<#{class_name} code: #{@code}, inventory_asset_account_code:"\
234
+ " #{@inventory_asset_account_code}, name: #{@name}, is_sold: #{@is_sold}, is_purchased:"\
235
+ " #{@is_purchased}, description: #{@description}, purchase_description:"\
236
+ " #{@purchase_description}, purchase_details: #{@purchase_details}, sales_details:"\
237
+ " #{@sales_details}, is_tracked_as_inventory: #{@is_tracked_as_inventory}, total_cost_pool:"\
238
+ " #{@total_cost_pool}, quantity_on_hand: #{@quantity_on_hand}, updated_date_utc:"\
239
+ " #{@updated_date_utc}, item_id: #{@item_id}, status_attribute_string:"\
240
+ " #{@status_attribute_string}, validation_errors: #{@validation_errors},"\
241
+ " additional_properties: #{@additional_properties}>"
242
+ end
243
+
244
+ # Provides a debugging-friendly string with detailed object information.
245
+ def inspect
246
+ class_name = self.class.name.split('::').last
247
+ "<#{class_name} code: #{@code.inspect}, inventory_asset_account_code:"\
248
+ " #{@inventory_asset_account_code.inspect}, name: #{@name.inspect}, is_sold:"\
249
+ " #{@is_sold.inspect}, is_purchased: #{@is_purchased.inspect}, description:"\
250
+ " #{@description.inspect}, purchase_description: #{@purchase_description.inspect},"\
251
+ " purchase_details: #{@purchase_details.inspect}, sales_details: #{@sales_details.inspect},"\
252
+ " is_tracked_as_inventory: #{@is_tracked_as_inventory.inspect}, total_cost_pool:"\
253
+ " #{@total_cost_pool.inspect}, quantity_on_hand: #{@quantity_on_hand.inspect},"\
254
+ " updated_date_utc: #{@updated_date_utc.inspect}, item_id: #{@item_id.inspect},"\
255
+ " status_attribute_string: #{@status_attribute_string.inspect}, validation_errors:"\
256
+ " #{@validation_errors.inspect}, additional_properties: #{@additional_properties}>"
257
+ end
258
+ end
259
+ 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
+ # Items Model.
8
+ class Items < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [Array[Item]]
14
+ attr_accessor :items
15
+
16
+ # A mapping from model property names to API property names.
17
+ def self.names
18
+ @_hash = {} if @_hash.nil?
19
+ @_hash['items'] = 'Items'
20
+ @_hash
21
+ end
22
+
23
+ # An array for optional fields
24
+ def self.optionals
25
+ %w[
26
+ items
27
+ ]
28
+ end
29
+
30
+ # An array for nullable fields
31
+ def self.nullables
32
+ []
33
+ end
34
+
35
+ def initialize(items: SKIP, additional_properties: nil)
36
+ # Add additional model properties to the instance
37
+ additional_properties = {} if additional_properties.nil?
38
+
39
+ @items = items unless items == 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
+ items = nil
50
+ unless hash['Items'].nil?
51
+ items = []
52
+ hash['Items'].each do |structure|
53
+ items << (Item.from_hash(structure) if structure)
54
+ end
55
+ end
56
+
57
+ items = SKIP unless hash.key?('Items')
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
+ Items.new(items: items,
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} items: #{@items}, 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} items: #{@items.inspect}, additional_properties:"\
81
+ " #{@additional_properties}>"
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,157 @@
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
+ # Journal Model.
8
+ class Journal < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Xero identifier
13
+ # @return [UUID | String]
14
+ attr_accessor :journal_id
15
+
16
+ # Date the journal was posted
17
+ # @return [String]
18
+ attr_accessor :journal_date
19
+
20
+ # Xero generated journal number
21
+ # @return [Integer]
22
+ attr_accessor :journal_number
23
+
24
+ # Created date UTC format
25
+ # @return [String]
26
+ attr_accessor :created_date_utc
27
+
28
+ # reference field for additional indetifying information
29
+ # @return [String]
30
+ attr_accessor :reference
31
+
32
+ # The identifier for the source transaction (e.g. InvoiceID)
33
+ # @return [UUID | String]
34
+ attr_accessor :source_id
35
+
36
+ # The journal source type. The type of transaction that created the journal
37
+ # @return [SourceType]
38
+ attr_accessor :source_type
39
+
40
+ # See JournalLines
41
+ # @return [Array[JournalLine]]
42
+ attr_accessor :journal_lines
43
+
44
+ # A mapping from model property names to API property names.
45
+ def self.names
46
+ @_hash = {} if @_hash.nil?
47
+ @_hash['journal_id'] = 'JournalID'
48
+ @_hash['journal_date'] = 'JournalDate'
49
+ @_hash['journal_number'] = 'JournalNumber'
50
+ @_hash['created_date_utc'] = 'CreatedDateUTC'
51
+ @_hash['reference'] = 'Reference'
52
+ @_hash['source_id'] = 'SourceID'
53
+ @_hash['source_type'] = 'SourceType'
54
+ @_hash['journal_lines'] = 'JournalLines'
55
+ @_hash
56
+ end
57
+
58
+ # An array for optional fields
59
+ def self.optionals
60
+ %w[
61
+ journal_id
62
+ journal_date
63
+ journal_number
64
+ created_date_utc
65
+ reference
66
+ source_id
67
+ source_type
68
+ journal_lines
69
+ ]
70
+ end
71
+
72
+ # An array for nullable fields
73
+ def self.nullables
74
+ []
75
+ end
76
+
77
+ def initialize(journal_id: SKIP, journal_date: SKIP, journal_number: SKIP,
78
+ created_date_utc: SKIP, reference: SKIP, source_id: SKIP,
79
+ source_type: SKIP, journal_lines: SKIP,
80
+ additional_properties: nil)
81
+ # Add additional model properties to the instance
82
+ additional_properties = {} if additional_properties.nil?
83
+
84
+ @journal_id = journal_id unless journal_id == SKIP
85
+ @journal_date = journal_date unless journal_date == SKIP
86
+ @journal_number = journal_number unless journal_number == SKIP
87
+ @created_date_utc = created_date_utc unless created_date_utc == SKIP
88
+ @reference = reference unless reference == SKIP
89
+ @source_id = source_id unless source_id == SKIP
90
+ @source_type = source_type unless source_type == SKIP
91
+ @journal_lines = journal_lines unless journal_lines == SKIP
92
+ @additional_properties = additional_properties
93
+ end
94
+
95
+ # Creates an instance of the object from a hash.
96
+ def self.from_hash(hash)
97
+ return nil unless hash
98
+
99
+ # Extract variables from the hash.
100
+ journal_id = hash.key?('JournalID') ? hash['JournalID'] : SKIP
101
+ journal_date = hash.key?('JournalDate') ? hash['JournalDate'] : SKIP
102
+ journal_number = hash.key?('JournalNumber') ? hash['JournalNumber'] : SKIP
103
+ created_date_utc =
104
+ hash.key?('CreatedDateUTC') ? hash['CreatedDateUTC'] : SKIP
105
+ reference = hash.key?('Reference') ? hash['Reference'] : SKIP
106
+ source_id = hash.key?('SourceID') ? hash['SourceID'] : SKIP
107
+ source_type = hash.key?('SourceType') ? hash['SourceType'] : SKIP
108
+ # Parameter is an array, so we need to iterate through it
109
+ journal_lines = nil
110
+ unless hash['JournalLines'].nil?
111
+ journal_lines = []
112
+ hash['JournalLines'].each do |structure|
113
+ journal_lines << (JournalLine.from_hash(structure) if structure)
114
+ end
115
+ end
116
+
117
+ journal_lines = SKIP unless hash.key?('JournalLines')
118
+
119
+ # Create a new hash for additional properties, removing known properties.
120
+ new_hash = hash.reject { |k, _| names.value?(k) }
121
+
122
+ additional_properties = APIHelper.get_additional_properties(
123
+ new_hash, proc { |value| value }
124
+ )
125
+
126
+ # Create object from extracted values.
127
+ Journal.new(journal_id: journal_id,
128
+ journal_date: journal_date,
129
+ journal_number: journal_number,
130
+ created_date_utc: created_date_utc,
131
+ reference: reference,
132
+ source_id: source_id,
133
+ source_type: source_type,
134
+ journal_lines: journal_lines,
135
+ additional_properties: additional_properties)
136
+ end
137
+
138
+ # Provides a human-readable string representation of the object.
139
+ def to_s
140
+ class_name = self.class.name.split('::').last
141
+ "<#{class_name} journal_id: #{@journal_id}, journal_date: #{@journal_date}, journal_number:"\
142
+ " #{@journal_number}, created_date_utc: #{@created_date_utc}, reference: #{@reference},"\
143
+ " source_id: #{@source_id}, source_type: #{@source_type}, journal_lines: #{@journal_lines},"\
144
+ " additional_properties: #{@additional_properties}>"
145
+ end
146
+
147
+ # Provides a debugging-friendly string with detailed object information.
148
+ def inspect
149
+ class_name = self.class.name.split('::').last
150
+ "<#{class_name} journal_id: #{@journal_id.inspect}, journal_date: #{@journal_date.inspect},"\
151
+ " journal_number: #{@journal_number.inspect}, created_date_utc:"\
152
+ " #{@created_date_utc.inspect}, reference: #{@reference.inspect}, source_id:"\
153
+ " #{@source_id.inspect}, source_type: #{@source_type.inspect}, journal_lines:"\
154
+ " #{@journal_lines.inspect}, additional_properties: #{@additional_properties}>"
155
+ end
156
+ end
157
+ end