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,255 @@
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
+ # ManualJournal Model.
8
+ class ManualJournal < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # Description of journal being posted
13
+ # @return [String]
14
+ attr_accessor :narration
15
+
16
+ # See JournalLines
17
+ # @return [Array[ManualJournalLine]]
18
+ attr_accessor :journal_lines
19
+
20
+ # Date journal was posted – YYYY-MM-DD
21
+ # @return [String]
22
+ attr_accessor :date
23
+
24
+ # Line amounts are exclusive of tax by default if you don’t specify this
25
+ # element. See Line Amount Types
26
+ # @return [LineAmountTypes]
27
+ attr_accessor :line_amount_types
28
+
29
+ # See Manual Journal Status Codes
30
+ # @return [Status15]
31
+ attr_accessor :status
32
+
33
+ # Url link to a source document – shown as “Go to [appName]” in the Xero app
34
+ # @return [String]
35
+ attr_accessor :url
36
+
37
+ # Boolean – default is true if not specified
38
+ # @return [TrueClass | FalseClass]
39
+ attr_accessor :show_on_cash_basis_reports
40
+
41
+ # Boolean to indicate if a manual journal has an attachment
42
+ # @return [TrueClass | FalseClass]
43
+ attr_accessor :has_attachments
44
+
45
+ # Last modified date UTC format
46
+ # @return [String]
47
+ attr_accessor :updated_date_utc
48
+
49
+ # The Xero identifier for a Manual Journal
50
+ # @return [UUID | String]
51
+ attr_accessor :manual_journal_id
52
+
53
+ # A string to indicate if a invoice status
54
+ # @return [String]
55
+ attr_accessor :status_attribute_string
56
+
57
+ # Displays array of warning messages from the API
58
+ # @return [Array[ValidationError]]
59
+ attr_accessor :warnings
60
+
61
+ # Displays array of validation error messages from the API
62
+ # @return [Array[ValidationError]]
63
+ attr_accessor :validation_errors
64
+
65
+ # Displays array of attachments from the API
66
+ # @return [Array[Attachment]]
67
+ attr_accessor :attachments
68
+
69
+ # A mapping from model property names to API property names.
70
+ def self.names
71
+ @_hash = {} if @_hash.nil?
72
+ @_hash['narration'] = 'Narration'
73
+ @_hash['journal_lines'] = 'JournalLines'
74
+ @_hash['date'] = 'Date'
75
+ @_hash['line_amount_types'] = 'LineAmountTypes'
76
+ @_hash['status'] = 'Status'
77
+ @_hash['url'] = 'Url'
78
+ @_hash['show_on_cash_basis_reports'] = 'ShowOnCashBasisReports'
79
+ @_hash['has_attachments'] = 'HasAttachments'
80
+ @_hash['updated_date_utc'] = 'UpdatedDateUTC'
81
+ @_hash['manual_journal_id'] = 'ManualJournalID'
82
+ @_hash['status_attribute_string'] = 'StatusAttributeString'
83
+ @_hash['warnings'] = 'Warnings'
84
+ @_hash['validation_errors'] = 'ValidationErrors'
85
+ @_hash['attachments'] = 'Attachments'
86
+ @_hash
87
+ end
88
+
89
+ # An array for optional fields
90
+ def self.optionals
91
+ %w[
92
+ journal_lines
93
+ date
94
+ line_amount_types
95
+ status
96
+ url
97
+ show_on_cash_basis_reports
98
+ has_attachments
99
+ updated_date_utc
100
+ manual_journal_id
101
+ status_attribute_string
102
+ warnings
103
+ validation_errors
104
+ attachments
105
+ ]
106
+ end
107
+
108
+ # An array for nullable fields
109
+ def self.nullables
110
+ []
111
+ end
112
+
113
+ def initialize(narration:, journal_lines: SKIP, date: SKIP,
114
+ line_amount_types: SKIP, status: SKIP, url: SKIP,
115
+ show_on_cash_basis_reports: SKIP, has_attachments: false,
116
+ updated_date_utc: SKIP, manual_journal_id: SKIP,
117
+ status_attribute_string: SKIP, warnings: SKIP,
118
+ validation_errors: SKIP, attachments: SKIP,
119
+ additional_properties: nil)
120
+ # Add additional model properties to the instance
121
+ additional_properties = {} if additional_properties.nil?
122
+
123
+ @narration = narration
124
+ @journal_lines = journal_lines unless journal_lines == SKIP
125
+ @date = date unless date == SKIP
126
+ @line_amount_types = line_amount_types unless line_amount_types == SKIP
127
+ @status = status unless status == SKIP
128
+ @url = url unless url == SKIP
129
+ unless show_on_cash_basis_reports == SKIP
130
+ @show_on_cash_basis_reports =
131
+ show_on_cash_basis_reports
132
+ end
133
+ @has_attachments = has_attachments unless has_attachments == SKIP
134
+ @updated_date_utc = updated_date_utc unless updated_date_utc == SKIP
135
+ @manual_journal_id = manual_journal_id unless manual_journal_id == SKIP
136
+ @status_attribute_string = status_attribute_string unless status_attribute_string == SKIP
137
+ @warnings = warnings unless warnings == SKIP
138
+ @validation_errors = validation_errors unless validation_errors == SKIP
139
+ @attachments = attachments unless attachments == SKIP
140
+ @additional_properties = additional_properties
141
+ end
142
+
143
+ # Creates an instance of the object from a hash.
144
+ def self.from_hash(hash)
145
+ return nil unless hash
146
+
147
+ # Extract variables from the hash.
148
+ narration = hash.key?('Narration') ? hash['Narration'] : nil
149
+ # Parameter is an array, so we need to iterate through it
150
+ journal_lines = nil
151
+ unless hash['JournalLines'].nil?
152
+ journal_lines = []
153
+ hash['JournalLines'].each do |structure|
154
+ journal_lines << (ManualJournalLine.from_hash(structure) if structure)
155
+ end
156
+ end
157
+
158
+ journal_lines = SKIP unless hash.key?('JournalLines')
159
+ date = hash.key?('Date') ? hash['Date'] : SKIP
160
+ line_amount_types =
161
+ hash.key?('LineAmountTypes') ? hash['LineAmountTypes'] : SKIP
162
+ status = hash.key?('Status') ? hash['Status'] : SKIP
163
+ url = hash.key?('Url') ? hash['Url'] : SKIP
164
+ show_on_cash_basis_reports =
165
+ hash.key?('ShowOnCashBasisReports') ? hash['ShowOnCashBasisReports'] : SKIP
166
+ has_attachments = hash['HasAttachments'] ||= false
167
+ updated_date_utc =
168
+ hash.key?('UpdatedDateUTC') ? hash['UpdatedDateUTC'] : SKIP
169
+ manual_journal_id =
170
+ hash.key?('ManualJournalID') ? hash['ManualJournalID'] : SKIP
171
+ status_attribute_string =
172
+ hash.key?('StatusAttributeString') ? hash['StatusAttributeString'] : SKIP
173
+ # Parameter is an array, so we need to iterate through it
174
+ warnings = nil
175
+ unless hash['Warnings'].nil?
176
+ warnings = []
177
+ hash['Warnings'].each do |structure|
178
+ warnings << (ValidationError.from_hash(structure) if structure)
179
+ end
180
+ end
181
+
182
+ warnings = SKIP unless hash.key?('Warnings')
183
+ # Parameter is an array, so we need to iterate through it
184
+ validation_errors = nil
185
+ unless hash['ValidationErrors'].nil?
186
+ validation_errors = []
187
+ hash['ValidationErrors'].each do |structure|
188
+ validation_errors << (ValidationError.from_hash(structure) if structure)
189
+ end
190
+ end
191
+
192
+ validation_errors = SKIP unless hash.key?('ValidationErrors')
193
+ # Parameter is an array, so we need to iterate through it
194
+ attachments = nil
195
+ unless hash['Attachments'].nil?
196
+ attachments = []
197
+ hash['Attachments'].each do |structure|
198
+ attachments << (Attachment.from_hash(structure) if structure)
199
+ end
200
+ end
201
+
202
+ attachments = SKIP unless hash.key?('Attachments')
203
+
204
+ # Create a new hash for additional properties, removing known properties.
205
+ new_hash = hash.reject { |k, _| names.value?(k) }
206
+
207
+ additional_properties = APIHelper.get_additional_properties(
208
+ new_hash, proc { |value| value }
209
+ )
210
+
211
+ # Create object from extracted values.
212
+ ManualJournal.new(narration: narration,
213
+ journal_lines: journal_lines,
214
+ date: date,
215
+ line_amount_types: line_amount_types,
216
+ status: status,
217
+ url: url,
218
+ show_on_cash_basis_reports: show_on_cash_basis_reports,
219
+ has_attachments: has_attachments,
220
+ updated_date_utc: updated_date_utc,
221
+ manual_journal_id: manual_journal_id,
222
+ status_attribute_string: status_attribute_string,
223
+ warnings: warnings,
224
+ validation_errors: validation_errors,
225
+ attachments: attachments,
226
+ additional_properties: additional_properties)
227
+ end
228
+
229
+ # Provides a human-readable string representation of the object.
230
+ def to_s
231
+ class_name = self.class.name.split('::').last
232
+ "<#{class_name} narration: #{@narration}, journal_lines: #{@journal_lines}, date: #{@date},"\
233
+ " line_amount_types: #{@line_amount_types}, status: #{@status}, url: #{@url},"\
234
+ " show_on_cash_basis_reports: #{@show_on_cash_basis_reports}, has_attachments:"\
235
+ " #{@has_attachments}, updated_date_utc: #{@updated_date_utc}, manual_journal_id:"\
236
+ " #{@manual_journal_id}, status_attribute_string: #{@status_attribute_string}, warnings:"\
237
+ " #{@warnings}, validation_errors: #{@validation_errors}, attachments: #{@attachments},"\
238
+ " additional_properties: #{@additional_properties}>"
239
+ end
240
+
241
+ # Provides a debugging-friendly string with detailed object information.
242
+ def inspect
243
+ class_name = self.class.name.split('::').last
244
+ "<#{class_name} narration: #{@narration.inspect}, journal_lines: #{@journal_lines.inspect},"\
245
+ " date: #{@date.inspect}, line_amount_types: #{@line_amount_types.inspect}, status:"\
246
+ " #{@status.inspect}, url: #{@url.inspect}, show_on_cash_basis_reports:"\
247
+ " #{@show_on_cash_basis_reports.inspect}, has_attachments: #{@has_attachments.inspect},"\
248
+ " updated_date_utc: #{@updated_date_utc.inspect}, manual_journal_id:"\
249
+ " #{@manual_journal_id.inspect}, status_attribute_string:"\
250
+ " #{@status_attribute_string.inspect}, warnings: #{@warnings.inspect}, validation_errors:"\
251
+ " #{@validation_errors.inspect}, attachments: #{@attachments.inspect},"\
252
+ " additional_properties: #{@additional_properties}>"
253
+ end
254
+ end
255
+ end
@@ -0,0 +1,156 @@
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
+ # ManualJournalLine Model.
8
+ class ManualJournalLine < BaseModel
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # total for line. Debits are positive, credits are negative value
13
+ # @return [Float]
14
+ attr_accessor :line_amount
15
+
16
+ # See Accounts
17
+ # @return [String]
18
+ attr_accessor :account_code
19
+
20
+ # See Accounts
21
+ # @return [UUID | String]
22
+ attr_accessor :account_id
23
+
24
+ # Description for journal line
25
+ # @return [String]
26
+ attr_accessor :description
27
+
28
+ # The tax type from TaxRates
29
+ # @return [String]
30
+ attr_accessor :tax_type
31
+
32
+ # Optional Tracking Category – see Tracking. Any JournalLine can have a
33
+ # maximum of 2 <TrackingCategory> elements.
34
+ # @return [Array[TrackingCategory]]
35
+ attr_accessor :tracking
36
+
37
+ # The calculated tax amount based on the TaxType and LineAmount
38
+ # @return [Float]
39
+ attr_accessor :tax_amount
40
+
41
+ # is the line blank
42
+ # @return [TrueClass | FalseClass]
43
+ attr_accessor :is_blank
44
+
45
+ # A mapping from model property names to API property names.
46
+ def self.names
47
+ @_hash = {} if @_hash.nil?
48
+ @_hash['line_amount'] = 'LineAmount'
49
+ @_hash['account_code'] = 'AccountCode'
50
+ @_hash['account_id'] = 'AccountID'
51
+ @_hash['description'] = 'Description'
52
+ @_hash['tax_type'] = 'TaxType'
53
+ @_hash['tracking'] = 'Tracking'
54
+ @_hash['tax_amount'] = 'TaxAmount'
55
+ @_hash['is_blank'] = 'IsBlank'
56
+ @_hash
57
+ end
58
+
59
+ # An array for optional fields
60
+ def self.optionals
61
+ %w[
62
+ line_amount
63
+ account_code
64
+ account_id
65
+ description
66
+ tax_type
67
+ tracking
68
+ tax_amount
69
+ is_blank
70
+ ]
71
+ end
72
+
73
+ # An array for nullable fields
74
+ def self.nullables
75
+ []
76
+ end
77
+
78
+ def initialize(line_amount: SKIP, account_code: SKIP, account_id: SKIP,
79
+ description: SKIP, tax_type: SKIP, tracking: SKIP,
80
+ tax_amount: SKIP, is_blank: SKIP, additional_properties: nil)
81
+ # Add additional model properties to the instance
82
+ additional_properties = {} if additional_properties.nil?
83
+
84
+ @line_amount = line_amount unless line_amount == SKIP
85
+ @account_code = account_code unless account_code == SKIP
86
+ @account_id = account_id unless account_id == SKIP
87
+ @description = description unless description == SKIP
88
+ @tax_type = tax_type unless tax_type == SKIP
89
+ @tracking = tracking unless tracking == SKIP
90
+ @tax_amount = tax_amount unless tax_amount == SKIP
91
+ @is_blank = is_blank unless is_blank == 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
+ line_amount = hash.key?('LineAmount') ? hash['LineAmount'] : SKIP
101
+ account_code = hash.key?('AccountCode') ? hash['AccountCode'] : SKIP
102
+ account_id = hash.key?('AccountID') ? hash['AccountID'] : SKIP
103
+ description = hash.key?('Description') ? hash['Description'] : SKIP
104
+ tax_type = hash.key?('TaxType') ? hash['TaxType'] : SKIP
105
+ # Parameter is an array, so we need to iterate through it
106
+ tracking = nil
107
+ unless hash['Tracking'].nil?
108
+ tracking = []
109
+ hash['Tracking'].each do |structure|
110
+ tracking << (TrackingCategory.from_hash(structure) if structure)
111
+ end
112
+ end
113
+
114
+ tracking = SKIP unless hash.key?('Tracking')
115
+ tax_amount = hash.key?('TaxAmount') ? hash['TaxAmount'] : SKIP
116
+ is_blank = hash.key?('IsBlank') ? hash['IsBlank'] : SKIP
117
+
118
+ # Create a new hash for additional properties, removing known properties.
119
+ new_hash = hash.reject { |k, _| names.value?(k) }
120
+
121
+ additional_properties = APIHelper.get_additional_properties(
122
+ new_hash, proc { |value| value }
123
+ )
124
+
125
+ # Create object from extracted values.
126
+ ManualJournalLine.new(line_amount: line_amount,
127
+ account_code: account_code,
128
+ account_id: account_id,
129
+ description: description,
130
+ tax_type: tax_type,
131
+ tracking: tracking,
132
+ tax_amount: tax_amount,
133
+ is_blank: is_blank,
134
+ additional_properties: additional_properties)
135
+ end
136
+
137
+ # Provides a human-readable string representation of the object.
138
+ def to_s
139
+ class_name = self.class.name.split('::').last
140
+ "<#{class_name} line_amount: #{@line_amount}, account_code: #{@account_code}, account_id:"\
141
+ " #{@account_id}, description: #{@description}, tax_type: #{@tax_type}, tracking:"\
142
+ " #{@tracking}, tax_amount: #{@tax_amount}, is_blank: #{@is_blank}, additional_properties:"\
143
+ " #{@additional_properties}>"
144
+ end
145
+
146
+ # Provides a debugging-friendly string with detailed object information.
147
+ def inspect
148
+ class_name = self.class.name.split('::').last
149
+ "<#{class_name} line_amount: #{@line_amount.inspect}, account_code:"\
150
+ " #{@account_code.inspect}, account_id: #{@account_id.inspect}, description:"\
151
+ " #{@description.inspect}, tax_type: #{@tax_type.inspect}, tracking: #{@tracking.inspect},"\
152
+ " tax_amount: #{@tax_amount.inspect}, is_blank: #{@is_blank.inspect}, additional_properties:"\
153
+ " #{@additional_properties}>"
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,114 @@
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
+ # ManualJournals Model.
8
+ class ManualJournals < 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
+ # Displays array of warning messages from the API
17
+ # @return [Array[ValidationError]]
18
+ attr_accessor :warnings
19
+
20
+ # Displays array of warning messages from the API
21
+ # @return [Array[ManualJournal]]
22
+ attr_accessor :manual_journals
23
+
24
+ # A mapping from model property names to API property names.
25
+ def self.names
26
+ @_hash = {} if @_hash.nil?
27
+ @_hash['pagination'] = 'pagination'
28
+ @_hash['warnings'] = 'Warnings'
29
+ @_hash['manual_journals'] = 'ManualJournals'
30
+ @_hash
31
+ end
32
+
33
+ # An array for optional fields
34
+ def self.optionals
35
+ %w[
36
+ pagination
37
+ warnings
38
+ manual_journals
39
+ ]
40
+ end
41
+
42
+ # An array for nullable fields
43
+ def self.nullables
44
+ []
45
+ end
46
+
47
+ def initialize(pagination: SKIP, warnings: SKIP, manual_journals: SKIP,
48
+ additional_properties: nil)
49
+ # Add additional model properties to the instance
50
+ additional_properties = {} if additional_properties.nil?
51
+
52
+ @pagination = pagination unless pagination == SKIP
53
+ @warnings = warnings unless warnings == SKIP
54
+ @manual_journals = manual_journals unless manual_journals == 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
+ pagination = Pagination.from_hash(hash['pagination']) if hash['pagination']
64
+ # Parameter is an array, so we need to iterate through it
65
+ warnings = nil
66
+ unless hash['Warnings'].nil?
67
+ warnings = []
68
+ hash['Warnings'].each do |structure|
69
+ warnings << (ValidationError.from_hash(structure) if structure)
70
+ end
71
+ end
72
+
73
+ warnings = SKIP unless hash.key?('Warnings')
74
+ # Parameter is an array, so we need to iterate through it
75
+ manual_journals = nil
76
+ unless hash['ManualJournals'].nil?
77
+ manual_journals = []
78
+ hash['ManualJournals'].each do |structure|
79
+ manual_journals << (ManualJournal.from_hash(structure) if structure)
80
+ end
81
+ end
82
+
83
+ manual_journals = SKIP unless hash.key?('ManualJournals')
84
+
85
+ # Create a new hash for additional properties, removing known properties.
86
+ new_hash = hash.reject { |k, _| names.value?(k) }
87
+
88
+ additional_properties = APIHelper.get_additional_properties(
89
+ new_hash, proc { |value| value }
90
+ )
91
+
92
+ # Create object from extracted values.
93
+ ManualJournals.new(pagination: pagination,
94
+ warnings: warnings,
95
+ manual_journals: manual_journals,
96
+ additional_properties: additional_properties)
97
+ end
98
+
99
+ # Provides a human-readable string representation of the object.
100
+ def to_s
101
+ class_name = self.class.name.split('::').last
102
+ "<#{class_name} pagination: #{@pagination}, warnings: #{@warnings}, manual_journals:"\
103
+ " #{@manual_journals}, additional_properties: #{@additional_properties}>"
104
+ end
105
+
106
+ # Provides a debugging-friendly string with detailed object information.
107
+ def inspect
108
+ class_name = self.class.name.split('::').last
109
+ "<#{class_name} pagination: #{@pagination.inspect}, warnings: #{@warnings.inspect},"\
110
+ " manual_journals: #{@manual_journals.inspect}, additional_properties:"\
111
+ " #{@additional_properties}>"
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,48 @@
1
+ # xero_ap_is
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module XeroApIs
7
+ # See Account Class Types
8
+ class Class
9
+ MCLASS = [
10
+ # TODO: Write general description for ASSET
11
+ ASSET = 'ASSET'.freeze,
12
+
13
+ # TODO: Write general description for EQUITY
14
+ EQUITY = 'EQUITY'.freeze,
15
+
16
+ # TODO: Write general description for EXPENSE
17
+ EXPENSE = 'EXPENSE'.freeze,
18
+
19
+ # TODO: Write general description for LIABILITY
20
+ LIABILITY = 'LIABILITY'.freeze,
21
+
22
+ # TODO: Write general description for REVENUE
23
+ REVENUE = 'REVENUE'.freeze
24
+ ].freeze
25
+
26
+ def self.validate(value)
27
+ return false if value.nil?
28
+
29
+ MCLASS.include?(value)
30
+ end
31
+
32
+ def self.from_value(value, default_value = ASSET)
33
+ return default_value if value.nil?
34
+
35
+ str = value.to_s.strip
36
+
37
+ case str.downcase
38
+ when 'asset' then ASSET
39
+ when 'equity' then EQUITY
40
+ when 'expense' then EXPENSE
41
+ when 'liability' then LIABILITY
42
+ when 'revenue' then REVENUE
43
+ else
44
+ default_value
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,62 @@
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
+ # OAuth 2 Authorization error codes
8
+ class OauthProviderError
9
+ OAUTH_PROVIDER_ERROR = [
10
+ # The request is missing a required parameter, includes an unsupported
11
+ # parameter value (other than grant type), repeats a parameter, includes
12
+ # multiple credentials, utilizes more than one mechanism for
13
+ # authenticating the client, or is otherwise malformed.
14
+ INVALID_REQUEST = 'invalid_request'.freeze,
15
+
16
+ # Client authentication failed (e.g., unknown client, no client
17
+ # authentication included, or unsupported authentication method).
18
+ INVALID_CLIENT = 'invalid_client'.freeze,
19
+
20
+ # The provided authorization grant (e.g., authorization code, resource
21
+ # owner credentials) or refresh token is invalid, expired, revoked, does
22
+ # not match the redirection URI used in the authorization request, or was
23
+ # issued to another client.
24
+ INVALID_GRANT = 'invalid_grant'.freeze,
25
+
26
+ # The authenticated client is not authorized to use this authorization
27
+ # grant type.
28
+ UNAUTHORIZED_CLIENT = 'unauthorized_client'.freeze,
29
+
30
+ # The authorization grant type is not supported by the authorization
31
+ # server.
32
+ UNSUPPORTED_GRANT_TYPE = 'unsupported_grant_type'.freeze,
33
+
34
+ # The requested scope is invalid, unknown, malformed, or exceeds the scope
35
+ # granted by the resource owner.
36
+ INVALID_SCOPE = 'invalid_scope'.freeze
37
+ ].freeze
38
+
39
+ def self.validate(value)
40
+ return false if value.nil?
41
+
42
+ OAUTH_PROVIDER_ERROR.include?(value)
43
+ end
44
+
45
+ def self.from_value(value, default_value = INVALID_REQUEST)
46
+ return default_value if value.nil?
47
+
48
+ str = value.to_s.strip
49
+
50
+ case str.downcase
51
+ when 'invalid_request' then INVALID_REQUEST
52
+ when 'invalid_client' then INVALID_CLIENT
53
+ when 'invalid_grant' then INVALID_GRANT
54
+ when 'unauthorized_client' then UNAUTHORIZED_CLIENT
55
+ when 'unsupported_grant_type' then UNSUPPORTED_GRANT_TYPE
56
+ when 'invalid_scope' then INVALID_SCOPE
57
+ else
58
+ default_value
59
+ end
60
+ end
61
+ end
62
+ end