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.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +175 -0
- data/bin/console +15 -0
- data/lib/xero_ap_is/api_helper.rb +10 -0
- data/lib/xero_ap_is/apis/accounting_api.rb +8328 -0
- data/lib/xero_ap_is/apis/asset_api.rb +210 -0
- data/lib/xero_ap_is/apis/bank_feeds_api.rb +268 -0
- data/lib/xero_ap_is/apis/base_api.rb +67 -0
- data/lib/xero_ap_is/apis/identity_api.rb +51 -0
- data/lib/xero_ap_is/apis/oauth_authorization_api.rb +87 -0
- data/lib/xero_ap_is/apis/project_api.rb +662 -0
- data/lib/xero_ap_is/client.rb +110 -0
- data/lib/xero_ap_is/configuration.rb +196 -0
- data/lib/xero_ap_is/exceptions/api_exception.rb +21 -0
- data/lib/xero_ap_is/exceptions/asset_types400_error_exception.rb +72 -0
- data/lib/xero_ap_is/exceptions/assets400_error_exception.rb +72 -0
- data/lib/xero_ap_is/exceptions/error_error1_exception.rb +63 -0
- data/lib/xero_ap_is/exceptions/error_error2_exception.rb +51 -0
- data/lib/xero_ap_is/exceptions/error_exception.rb +72 -0
- data/lib/xero_ap_is/exceptions/feed_connections_error_exception.rb +60 -0
- data/lib/xero_ap_is/exceptions/oauth_provider_exception.rb +64 -0
- data/lib/xero_ap_is/exceptions/statements_error_exception.rb +60 -0
- data/lib/xero_ap_is/http/api_response.rb +19 -0
- data/lib/xero_ap_is/http/auth/basic_auth.rb +62 -0
- data/lib/xero_ap_is/http/auth/oauth_2.rb +161 -0
- data/lib/xero_ap_is/http/http_call_back.rb +10 -0
- data/lib/xero_ap_is/http/http_method_enum.rb +10 -0
- data/lib/xero_ap_is/http/http_request.rb +10 -0
- data/lib/xero_ap_is/http/http_response.rb +10 -0
- data/lib/xero_ap_is/http/proxy_settings.rb +22 -0
- data/lib/xero_ap_is/logging/configuration/api_logging_configuration.rb +186 -0
- data/lib/xero_ap_is/logging/sdk_logger.rb +17 -0
- data/lib/xero_ap_is/models/access_token.rb +116 -0
- data/lib/xero_ap_is/models/account.rb +300 -0
- data/lib/xero_ap_is/models/account_type.rb +100 -0
- data/lib/xero_ap_is/models/account_type1.rb +37 -0
- data/lib/xero_ap_is/models/accounts.rb +84 -0
- data/lib/xero_ap_is/models/accounts_payable.rb +85 -0
- data/lib/xero_ap_is/models/accounts_receivable.rb +85 -0
- data/lib/xero_ap_is/models/action.rb +85 -0
- data/lib/xero_ap_is/models/actions.rb +84 -0
- data/lib/xero_ap_is/models/address.rb +167 -0
- data/lib/xero_ap_is/models/address_for_organisation.rb +167 -0
- data/lib/xero_ap_is/models/address_type.rb +40 -0
- data/lib/xero_ap_is/models/address_type1.rb +36 -0
- data/lib/xero_ap_is/models/allocation.rb +174 -0
- data/lib/xero_ap_is/models/allocations.rb +85 -0
- data/lib/xero_ap_is/models/amount.rb +85 -0
- data/lib/xero_ap_is/models/asset.rb +249 -0
- data/lib/xero_ap_is/models/asset_status.rb +40 -0
- data/lib/xero_ap_is/models/asset_status_query_param.rb +40 -0
- data/lib/xero_ap_is/models/asset_type.rb +154 -0
- data/lib/xero_ap_is/models/assets.rb +94 -0
- data/lib/xero_ap_is/models/attachment.rb +126 -0
- data/lib/xero_ap_is/models/attachments.rb +85 -0
- data/lib/xero_ap_is/models/averaging_method.rb +36 -0
- data/lib/xero_ap_is/models/balance_details.rb +98 -0
- data/lib/xero_ap_is/models/balances.rb +89 -0
- data/lib/xero_ap_is/models/bank_account_type.rb +44 -0
- data/lib/xero_ap_is/models/bank_transaction.rb +319 -0
- data/lib/xero_ap_is/models/bank_transactions.rb +114 -0
- data/lib/xero_ap_is/models/bank_transfer.rb +224 -0
- data/lib/xero_ap_is/models/bank_transfers.rb +85 -0
- data/lib/xero_ap_is/models/base_model.rb +110 -0
- data/lib/xero_ap_is/models/batch_payment.rb +275 -0
- data/lib/xero_ap_is/models/batch_payment_delete.rb +84 -0
- data/lib/xero_ap_is/models/batch_payment_delete_by_url_param.rb +73 -0
- data/lib/xero_ap_is/models/batch_payment_details.rb +128 -0
- data/lib/xero_ap_is/models/batch_payments.rb +85 -0
- data/lib/xero_ap_is/models/bill.rb +85 -0
- data/lib/xero_ap_is/models/book_depreciation_detail.rb +243 -0
- data/lib/xero_ap_is/models/book_depreciation_setting.rb +170 -0
- data/lib/xero_ap_is/models/branding_theme.rb +129 -0
- data/lib/xero_ap_is/models/branding_themes.rb +85 -0
- data/lib/xero_ap_is/models/budget.rb +145 -0
- data/lib/xero_ap_is/models/budget_balance.rb +105 -0
- data/lib/xero_ap_is/models/budget_line.rb +105 -0
- data/lib/xero_ap_is/models/budgets.rb +84 -0
- data/lib/xero_ap_is/models/charge_type.rb +42 -0
- data/lib/xero_ap_is/models/cis_org_setting.rb +105 -0
- data/lib/xero_ap_is/models/cis_org_settings.rb +85 -0
- data/lib/xero_ap_is/models/cis_setting.rb +86 -0
- data/lib/xero_ap_is/models/cis_settings.rb +85 -0
- data/lib/xero_ap_is/models/class1.rb +113 -0
- data/lib/xero_ap_is/models/connection.rb +155 -0
- data/lib/xero_ap_is/models/contact.rb +661 -0
- data/lib/xero_ap_is/models/contact_group.rb +119 -0
- data/lib/xero_ap_is/models/contact_groups.rb +85 -0
- data/lib/xero_ap_is/models/contact_person.rb +108 -0
- data/lib/xero_ap_is/models/contact_status.rb +40 -0
- data/lib/xero_ap_is/models/contacts.rb +113 -0
- data/lib/xero_ap_is/models/conversion_balances.rb +108 -0
- data/lib/xero_ap_is/models/conversion_date.rb +87 -0
- data/lib/xero_ap_is/models/country_code.rb +990 -0
- data/lib/xero_ap_is/models/credit_debit_indicator.rb +37 -0
- data/lib/xero_ap_is/models/credit_note.rb +453 -0
- data/lib/xero_ap_is/models/credit_notes.rb +113 -0
- data/lib/xero_ap_is/models/currencies.rb +85 -0
- data/lib/xero_ap_is/models/currency.rb +85 -0
- data/lib/xero_ap_is/models/currency_code.rb +700 -0
- data/lib/xero_ap_is/models/currency_code1.rb +680 -0
- data/lib/xero_ap_is/models/depreciation_calculation_method.rb +40 -0
- data/lib/xero_ap_is/models/depreciation_method.rb +52 -0
- data/lib/xero_ap_is/models/due_date_type.rb +52 -0
- data/lib/xero_ap_is/models/edition.rb +38 -0
- data/lib/xero_ap_is/models/element.rb +160 -0
- data/lib/xero_ap_is/models/employee.rb +160 -0
- data/lib/xero_ap_is/models/employees.rb +85 -0
- data/lib/xero_ap_is/models/end_balance.rb +89 -0
- data/lib/xero_ap_is/models/error1.rb +138 -0
- data/lib/xero_ap_is/models/error2.rb +106 -0
- data/lib/xero_ap_is/models/error3.rb +85 -0
- data/lib/xero_ap_is/models/expense_claim.rb +209 -0
- data/lib/xero_ap_is/models/expense_claims.rb +85 -0
- data/lib/xero_ap_is/models/external_link.rb +95 -0
- data/lib/xero_ap_is/models/federal_tax_classification.rb +56 -0
- data/lib/xero_ap_is/models/feed_connection.rb +177 -0
- data/lib/xero_ap_is/models/feed_connections.rb +94 -0
- data/lib/xero_ap_is/models/field_validation_errors_element.rb +127 -0
- data/lib/xero_ap_is/models/history_record.rb +105 -0
- data/lib/xero_ap_is/models/history_records.rb +85 -0
- data/lib/xero_ap_is/models/import_summary.rb +87 -0
- data/lib/xero_ap_is/models/import_summary_accounts.rb +154 -0
- data/lib/xero_ap_is/models/import_summary_object.rb +76 -0
- data/lib/xero_ap_is/models/import_summary_organisation.rb +75 -0
- data/lib/xero_ap_is/models/invoice.rb +586 -0
- data/lib/xero_ap_is/models/invoice_address.rb +158 -0
- data/lib/xero_ap_is/models/invoice_address_type.rb +37 -0
- data/lib/xero_ap_is/models/invoice_reminder.rb +75 -0
- data/lib/xero_ap_is/models/invoice_reminders.rb +85 -0
- data/lib/xero_ap_is/models/invoices.rb +113 -0
- data/lib/xero_ap_is/models/item.rb +259 -0
- data/lib/xero_ap_is/models/items.rb +84 -0
- data/lib/xero_ap_is/models/journal.rb +157 -0
- data/lib/xero_ap_is/models/journal_line.rb +201 -0
- data/lib/xero_ap_is/models/journals.rb +103 -0
- data/lib/xero_ap_is/models/line_amount_types.rb +41 -0
- data/lib/xero_ap_is/models/line_item.rb +287 -0
- data/lib/xero_ap_is/models/line_item_item.rb +95 -0
- data/lib/xero_ap_is/models/line_item_tracking.rb +108 -0
- data/lib/xero_ap_is/models/link_type.rb +48 -0
- data/lib/xero_ap_is/models/linked_transaction.rb +215 -0
- data/lib/xero_ap_is/models/linked_transactions.rb +85 -0
- data/lib/xero_ap_is/models/manual_journal.rb +255 -0
- data/lib/xero_ap_is/models/manual_journal_line.rb +156 -0
- data/lib/xero_ap_is/models/manual_journals.rb +114 -0
- data/lib/xero_ap_is/models/mclass.rb +48 -0
- data/lib/xero_ap_is/models/oauth_provider_error.rb +62 -0
- data/lib/xero_ap_is/models/oauth_scope_oauth_2.rb +113 -0
- data/lib/xero_ap_is/models/oauth_token.rb +96 -0
- data/lib/xero_ap_is/models/online_invoice.rb +77 -0
- data/lib/xero_ap_is/models/online_invoices.rb +85 -0
- data/lib/xero_ap_is/models/order_by.rb +56 -0
- data/lib/xero_ap_is/models/organisation.rb +467 -0
- data/lib/xero_ap_is/models/organisation_entity_type.rb +80 -0
- data/lib/xero_ap_is/models/organisation_role.rb +61 -0
- data/lib/xero_ap_is/models/organisation_type.rb +80 -0
- data/lib/xero_ap_is/models/organisations.rb +85 -0
- data/lib/xero_ap_is/models/overpayment.rb +309 -0
- data/lib/xero_ap_is/models/overpayments.rb +113 -0
- data/lib/xero_ap_is/models/pagination.rb +105 -0
- data/lib/xero_ap_is/models/payment.rb +381 -0
- data/lib/xero_ap_is/models/payment_delete.rb +73 -0
- data/lib/xero_ap_is/models/payment_service.rb +143 -0
- data/lib/xero_ap_is/models/payment_services.rb +85 -0
- data/lib/xero_ap_is/models/payment_term.rb +85 -0
- data/lib/xero_ap_is/models/payment_term_type.rb +44 -0
- data/lib/xero_ap_is/models/payment_type.rb +60 -0
- data/lib/xero_ap_is/models/payments.rb +113 -0
- data/lib/xero_ap_is/models/phone.rb +108 -0
- data/lib/xero_ap_is/models/phone_type.rb +48 -0
- data/lib/xero_ap_is/models/prepayment.rb +309 -0
- data/lib/xero_ap_is/models/prepayments.rb +113 -0
- data/lib/xero_ap_is/models/project.rb +328 -0
- data/lib/xero_ap_is/models/project_create_or_update.rb +115 -0
- data/lib/xero_ap_is/models/project_patch.rb +73 -0
- data/lib/xero_ap_is/models/project_status.rb +36 -0
- data/lib/xero_ap_is/models/project_user.rb +95 -0
- data/lib/xero_ap_is/models/project_users.rb +94 -0
- data/lib/xero_ap_is/models/projects.rb +94 -0
- data/lib/xero_ap_is/models/purchase.rb +112 -0
- data/lib/xero_ap_is/models/purchase_order.rb +408 -0
- data/lib/xero_ap_is/models/purchase_orders.rb +114 -0
- data/lib/xero_ap_is/models/purchases_default_line_amount_type.rb +42 -0
- data/lib/xero_ap_is/models/quote.rb +338 -0
- data/lib/xero_ap_is/models/quote_line_amount_types.rb +41 -0
- data/lib/xero_ap_is/models/quote_status_codes.rb +52 -0
- data/lib/xero_ap_is/models/quotes.rb +84 -0
- data/lib/xero_ap_is/models/receipt.rb +287 -0
- data/lib/xero_ap_is/models/receipts.rb +84 -0
- data/lib/xero_ap_is/models/refresh_token.rb +106 -0
- data/lib/xero_ap_is/models/repeating_invoice.rb +290 -0
- data/lib/xero_ap_is/models/repeating_invoices.rb +85 -0
- data/lib/xero_ap_is/models/report.rb +136 -0
- data/lib/xero_ap_is/models/report_attribute.rb +85 -0
- data/lib/xero_ap_is/models/report_cell.rb +94 -0
- data/lib/xero_ap_is/models/report_fields.rb +95 -0
- data/lib/xero_ap_is/models/report_row.rb +104 -0
- data/lib/xero_ap_is/models/report_rows.rb +123 -0
- data/lib/xero_ap_is/models/report_tax_type.rb +424 -0
- data/lib/xero_ap_is/models/report_type.rb +26 -0
- data/lib/xero_ap_is/models/report_with_row.rb +176 -0
- data/lib/xero_ap_is/models/report_with_rows.rb +84 -0
- data/lib/xero_ap_is/models/reports.rb +84 -0
- data/lib/xero_ap_is/models/request_empty.rb +75 -0
- data/lib/xero_ap_is/models/resource_validation_errors_element.rb +116 -0
- data/lib/xero_ap_is/models/row_type.rb +44 -0
- data/lib/xero_ap_is/models/sales_default_line_amount_type.rb +42 -0
- data/lib/xero_ap_is/models/sales_tax_basis.rb +60 -0
- data/lib/xero_ap_is/models/sales_tax_period.rb +88 -0
- data/lib/xero_ap_is/models/sales_tracking_category.rb +89 -0
- data/lib/xero_ap_is/models/schedule.rb +140 -0
- data/lib/xero_ap_is/models/setting.rb +175 -0
- data/lib/xero_ap_is/models/setup.rb +117 -0
- data/lib/xero_ap_is/models/sort_direction.rb +36 -0
- data/lib/xero_ap_is/models/source_transaction_type_code.rb +38 -0
- data/lib/xero_ap_is/models/source_type.rb +128 -0
- data/lib/xero_ap_is/models/start_balance.rb +88 -0
- data/lib/xero_ap_is/models/statement.rb +194 -0
- data/lib/xero_ap_is/models/statement_line.rb +162 -0
- data/lib/xero_ap_is/models/statements.rb +94 -0
- data/lib/xero_ap_is/models/status.rb +41 -0
- data/lib/xero_ap_is/models/status1.rb +38 -0
- data/lib/xero_ap_is/models/status10.rb +40 -0
- data/lib/xero_ap_is/models/status11.rb +44 -0
- data/lib/xero_ap_is/models/status110.rb +40 -0
- data/lib/xero_ap_is/models/status111.rb +43 -0
- data/lib/xero_ap_is/models/status12.rb +48 -0
- data/lib/xero_ap_is/models/status13.rb +48 -0
- data/lib/xero_ap_is/models/status14.rb +52 -0
- data/lib/xero_ap_is/models/status15.rb +48 -0
- data/lib/xero_ap_is/models/status16.rb +36 -0
- data/lib/xero_ap_is/models/status17.rb +48 -0
- data/lib/xero_ap_is/models/status18.rb +40 -0
- data/lib/xero_ap_is/models/status19.rb +44 -0
- data/lib/xero_ap_is/models/status2.rb +40 -0
- data/lib/xero_ap_is/models/status20.rb +48 -0
- data/lib/xero_ap_is/models/status21.rb +36 -0
- data/lib/xero_ap_is/models/status22.rb +44 -0
- data/lib/xero_ap_is/models/status3.rb +52 -0
- data/lib/xero_ap_is/models/status4.rb +40 -0
- data/lib/xero_ap_is/models/status5.rb +40 -0
- data/lib/xero_ap_is/models/status6.rb +52 -0
- data/lib/xero_ap_is/models/status7.rb +36 -0
- data/lib/xero_ap_is/models/status8.rb +37 -0
- data/lib/xero_ap_is/models/status9.rb +40 -0
- data/lib/xero_ap_is/models/system_account.rb +110 -0
- data/lib/xero_ap_is/models/task.rb +234 -0
- data/lib/xero_ap_is/models/task_create_or_update.rb +105 -0
- data/lib/xero_ap_is/models/tasks.rb +94 -0
- data/lib/xero_ap_is/models/tax_breakdown_component.rb +172 -0
- data/lib/xero_ap_is/models/tax_component.rb +108 -0
- data/lib/xero_ap_is/models/tax_number_type.rb +45 -0
- data/lib/xero_ap_is/models/tax_rate.rb +213 -0
- data/lib/xero_ap_is/models/tax_rates.rb +85 -0
- data/lib/xero_ap_is/models/tax_type.rb +520 -0
- data/lib/xero_ap_is/models/taxability.rb +48 -0
- data/lib/xero_ap_is/models/ten_ninety_nine_contact.rb +318 -0
- data/lib/xero_ap_is/models/time_entries.rb +94 -0
- data/lib/xero_ap_is/models/time_entry.rb +179 -0
- data/lib/xero_ap_is/models/time_entry_create_or_update.rb +120 -0
- data/lib/xero_ap_is/models/time_zone.rb +592 -0
- data/lib/xero_ap_is/models/timeframe.rb +40 -0
- data/lib/xero_ap_is/models/tracking_categories.rb +85 -0
- data/lib/xero_ap_is/models/tracking_category.rb +140 -0
- data/lib/xero_ap_is/models/tracking_option.rb +109 -0
- data/lib/xero_ap_is/models/tracking_options.rb +84 -0
- data/lib/xero_ap_is/models/type.rb +60 -0
- data/lib/xero_ap_is/models/type1.rb +26 -0
- data/lib/xero_ap_is/models/type10.rb +36 -0
- data/lib/xero_ap_is/models/type11.rb +114 -0
- data/lib/xero_ap_is/models/type2.rb +48 -0
- data/lib/xero_ap_is/models/type3.rb +60 -0
- data/lib/xero_ap_is/models/type4.rb +44 -0
- data/lib/xero_ap_is/models/type5.rb +40 -0
- data/lib/xero_ap_is/models/type6.rb +36 -0
- data/lib/xero_ap_is/models/type7.rb +37 -0
- data/lib/xero_ap_is/models/type8.rb +36 -0
- data/lib/xero_ap_is/models/type9.rb +26 -0
- data/lib/xero_ap_is/models/unit.rb +36 -0
- data/lib/xero_ap_is/models/user.rb +139 -0
- data/lib/xero_ap_is/models/users.rb +84 -0
- data/lib/xero_ap_is/models/validation_error.rb +75 -0
- data/lib/xero_ap_is/models/version.rb +68 -0
- data/lib/xero_ap_is/utilities/date_time_helper.rb +11 -0
- data/lib/xero_ap_is/utilities/file_wrapper.rb +28 -0
- data/lib/xero_ap_is.rb +309 -0
- metadata +372 -0
|
@@ -0,0 +1,224 @@
|
|
|
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
|
+
# BankTransfer Model.
|
|
8
|
+
class BankTransfer < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [Account]
|
|
14
|
+
attr_accessor :from_bank_account
|
|
15
|
+
|
|
16
|
+
# TODO: Write general description for this method
|
|
17
|
+
# @return [Account]
|
|
18
|
+
attr_accessor :to_bank_account
|
|
19
|
+
|
|
20
|
+
# amount of the transaction
|
|
21
|
+
# @return [Float]
|
|
22
|
+
attr_accessor :amount
|
|
23
|
+
|
|
24
|
+
# The date of the Transfer YYYY-MM-DD
|
|
25
|
+
# @return [String]
|
|
26
|
+
attr_accessor :date
|
|
27
|
+
|
|
28
|
+
# The identifier of the Bank Transfer
|
|
29
|
+
# @return [UUID | String]
|
|
30
|
+
attr_accessor :bank_transfer_id
|
|
31
|
+
|
|
32
|
+
# The currency rate
|
|
33
|
+
# @return [Float]
|
|
34
|
+
attr_accessor :currency_rate
|
|
35
|
+
|
|
36
|
+
# The Bank Transaction ID for the source account
|
|
37
|
+
# @return [UUID | String]
|
|
38
|
+
attr_accessor :from_bank_transaction_id
|
|
39
|
+
|
|
40
|
+
# The Bank Transaction ID for the destination account
|
|
41
|
+
# @return [UUID | String]
|
|
42
|
+
attr_accessor :to_bank_transaction_id
|
|
43
|
+
|
|
44
|
+
# The Bank Transaction boolean to show if it is reconciled for the source
|
|
45
|
+
# account
|
|
46
|
+
# @return [TrueClass | FalseClass]
|
|
47
|
+
attr_accessor :from_is_reconciled
|
|
48
|
+
|
|
49
|
+
# The Bank Transaction boolean to show if it is reconciled for the
|
|
50
|
+
# destination account
|
|
51
|
+
# @return [TrueClass | FalseClass]
|
|
52
|
+
attr_accessor :to_is_reconciled
|
|
53
|
+
|
|
54
|
+
# Reference for the transactions.
|
|
55
|
+
# @return [String]
|
|
56
|
+
attr_accessor :reference
|
|
57
|
+
|
|
58
|
+
# Boolean to indicate if a Bank Transfer has an attachment
|
|
59
|
+
# @return [TrueClass | FalseClass]
|
|
60
|
+
attr_accessor :has_attachments
|
|
61
|
+
|
|
62
|
+
# UTC timestamp of creation date of bank transfer
|
|
63
|
+
# @return [String]
|
|
64
|
+
attr_accessor :created_date_utc
|
|
65
|
+
|
|
66
|
+
# Displays array of validation error messages from the API
|
|
67
|
+
# @return [Array[ValidationError]]
|
|
68
|
+
attr_accessor :validation_errors
|
|
69
|
+
|
|
70
|
+
# A mapping from model property names to API property names.
|
|
71
|
+
def self.names
|
|
72
|
+
@_hash = {} if @_hash.nil?
|
|
73
|
+
@_hash['from_bank_account'] = 'FromBankAccount'
|
|
74
|
+
@_hash['to_bank_account'] = 'ToBankAccount'
|
|
75
|
+
@_hash['amount'] = 'Amount'
|
|
76
|
+
@_hash['date'] = 'Date'
|
|
77
|
+
@_hash['bank_transfer_id'] = 'BankTransferID'
|
|
78
|
+
@_hash['currency_rate'] = 'CurrencyRate'
|
|
79
|
+
@_hash['from_bank_transaction_id'] = 'FromBankTransactionID'
|
|
80
|
+
@_hash['to_bank_transaction_id'] = 'ToBankTransactionID'
|
|
81
|
+
@_hash['from_is_reconciled'] = 'FromIsReconciled'
|
|
82
|
+
@_hash['to_is_reconciled'] = 'ToIsReconciled'
|
|
83
|
+
@_hash['reference'] = 'Reference'
|
|
84
|
+
@_hash['has_attachments'] = 'HasAttachments'
|
|
85
|
+
@_hash['created_date_utc'] = 'CreatedDateUTC'
|
|
86
|
+
@_hash['validation_errors'] = 'ValidationErrors'
|
|
87
|
+
@_hash
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# An array for optional fields
|
|
91
|
+
def self.optionals
|
|
92
|
+
%w[
|
|
93
|
+
date
|
|
94
|
+
bank_transfer_id
|
|
95
|
+
currency_rate
|
|
96
|
+
from_bank_transaction_id
|
|
97
|
+
to_bank_transaction_id
|
|
98
|
+
from_is_reconciled
|
|
99
|
+
to_is_reconciled
|
|
100
|
+
reference
|
|
101
|
+
has_attachments
|
|
102
|
+
created_date_utc
|
|
103
|
+
validation_errors
|
|
104
|
+
]
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# An array for nullable fields
|
|
108
|
+
def self.nullables
|
|
109
|
+
[]
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def initialize(from_bank_account:, to_bank_account:, amount:, date: SKIP,
|
|
113
|
+
bank_transfer_id: SKIP, currency_rate: SKIP,
|
|
114
|
+
from_bank_transaction_id: SKIP, to_bank_transaction_id: SKIP,
|
|
115
|
+
from_is_reconciled: false, to_is_reconciled: false,
|
|
116
|
+
reference: SKIP, has_attachments: false,
|
|
117
|
+
created_date_utc: SKIP, validation_errors: SKIP,
|
|
118
|
+
additional_properties: nil)
|
|
119
|
+
# Add additional model properties to the instance
|
|
120
|
+
additional_properties = {} if additional_properties.nil?
|
|
121
|
+
|
|
122
|
+
@from_bank_account = from_bank_account
|
|
123
|
+
@to_bank_account = to_bank_account
|
|
124
|
+
@amount = amount
|
|
125
|
+
@date = date unless date == SKIP
|
|
126
|
+
@bank_transfer_id = bank_transfer_id unless bank_transfer_id == SKIP
|
|
127
|
+
@currency_rate = currency_rate unless currency_rate == SKIP
|
|
128
|
+
@from_bank_transaction_id = from_bank_transaction_id unless from_bank_transaction_id == SKIP
|
|
129
|
+
@to_bank_transaction_id = to_bank_transaction_id unless to_bank_transaction_id == SKIP
|
|
130
|
+
@from_is_reconciled = from_is_reconciled unless from_is_reconciled == SKIP
|
|
131
|
+
@to_is_reconciled = to_is_reconciled unless to_is_reconciled == SKIP
|
|
132
|
+
@reference = reference unless reference == SKIP
|
|
133
|
+
@has_attachments = has_attachments unless has_attachments == SKIP
|
|
134
|
+
@created_date_utc = created_date_utc unless created_date_utc == SKIP
|
|
135
|
+
@validation_errors = validation_errors unless validation_errors == SKIP
|
|
136
|
+
@additional_properties = additional_properties
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
# Creates an instance of the object from a hash.
|
|
140
|
+
def self.from_hash(hash)
|
|
141
|
+
return nil unless hash
|
|
142
|
+
|
|
143
|
+
# Extract variables from the hash.
|
|
144
|
+
from_bank_account = Account.from_hash(hash['FromBankAccount']) if hash['FromBankAccount']
|
|
145
|
+
to_bank_account = Account.from_hash(hash['ToBankAccount']) if hash['ToBankAccount']
|
|
146
|
+
amount = hash.key?('Amount') ? hash['Amount'] : nil
|
|
147
|
+
date = hash.key?('Date') ? hash['Date'] : SKIP
|
|
148
|
+
bank_transfer_id =
|
|
149
|
+
hash.key?('BankTransferID') ? hash['BankTransferID'] : SKIP
|
|
150
|
+
currency_rate = hash.key?('CurrencyRate') ? hash['CurrencyRate'] : SKIP
|
|
151
|
+
from_bank_transaction_id =
|
|
152
|
+
hash.key?('FromBankTransactionID') ? hash['FromBankTransactionID'] : SKIP
|
|
153
|
+
to_bank_transaction_id =
|
|
154
|
+
hash.key?('ToBankTransactionID') ? hash['ToBankTransactionID'] : SKIP
|
|
155
|
+
from_is_reconciled = hash['FromIsReconciled'] ||= false
|
|
156
|
+
to_is_reconciled = hash['ToIsReconciled'] ||= false
|
|
157
|
+
reference = hash.key?('Reference') ? hash['Reference'] : SKIP
|
|
158
|
+
has_attachments = hash['HasAttachments'] ||= false
|
|
159
|
+
created_date_utc =
|
|
160
|
+
hash.key?('CreatedDateUTC') ? hash['CreatedDateUTC'] : SKIP
|
|
161
|
+
# Parameter is an array, so we need to iterate through it
|
|
162
|
+
validation_errors = nil
|
|
163
|
+
unless hash['ValidationErrors'].nil?
|
|
164
|
+
validation_errors = []
|
|
165
|
+
hash['ValidationErrors'].each do |structure|
|
|
166
|
+
validation_errors << (ValidationError.from_hash(structure) if structure)
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
validation_errors = SKIP unless hash.key?('ValidationErrors')
|
|
171
|
+
|
|
172
|
+
# Create a new hash for additional properties, removing known properties.
|
|
173
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
174
|
+
|
|
175
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
176
|
+
new_hash, proc { |value| value }
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
# Create object from extracted values.
|
|
180
|
+
BankTransfer.new(from_bank_account: from_bank_account,
|
|
181
|
+
to_bank_account: to_bank_account,
|
|
182
|
+
amount: amount,
|
|
183
|
+
date: date,
|
|
184
|
+
bank_transfer_id: bank_transfer_id,
|
|
185
|
+
currency_rate: currency_rate,
|
|
186
|
+
from_bank_transaction_id: from_bank_transaction_id,
|
|
187
|
+
to_bank_transaction_id: to_bank_transaction_id,
|
|
188
|
+
from_is_reconciled: from_is_reconciled,
|
|
189
|
+
to_is_reconciled: to_is_reconciled,
|
|
190
|
+
reference: reference,
|
|
191
|
+
has_attachments: has_attachments,
|
|
192
|
+
created_date_utc: created_date_utc,
|
|
193
|
+
validation_errors: validation_errors,
|
|
194
|
+
additional_properties: additional_properties)
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
# Provides a human-readable string representation of the object.
|
|
198
|
+
def to_s
|
|
199
|
+
class_name = self.class.name.split('::').last
|
|
200
|
+
"<#{class_name} from_bank_account: #{@from_bank_account}, to_bank_account:"\
|
|
201
|
+
" #{@to_bank_account}, amount: #{@amount}, date: #{@date}, bank_transfer_id:"\
|
|
202
|
+
" #{@bank_transfer_id}, currency_rate: #{@currency_rate}, from_bank_transaction_id:"\
|
|
203
|
+
" #{@from_bank_transaction_id}, to_bank_transaction_id: #{@to_bank_transaction_id},"\
|
|
204
|
+
" from_is_reconciled: #{@from_is_reconciled}, to_is_reconciled: #{@to_is_reconciled},"\
|
|
205
|
+
" reference: #{@reference}, has_attachments: #{@has_attachments}, created_date_utc:"\
|
|
206
|
+
" #{@created_date_utc}, validation_errors: #{@validation_errors}, additional_properties:"\
|
|
207
|
+
" #{@additional_properties}>"
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
211
|
+
def inspect
|
|
212
|
+
class_name = self.class.name.split('::').last
|
|
213
|
+
"<#{class_name} from_bank_account: #{@from_bank_account.inspect}, to_bank_account:"\
|
|
214
|
+
" #{@to_bank_account.inspect}, amount: #{@amount.inspect}, date: #{@date.inspect},"\
|
|
215
|
+
" bank_transfer_id: #{@bank_transfer_id.inspect}, currency_rate: #{@currency_rate.inspect},"\
|
|
216
|
+
" from_bank_transaction_id: #{@from_bank_transaction_id.inspect}, to_bank_transaction_id:"\
|
|
217
|
+
" #{@to_bank_transaction_id.inspect}, from_is_reconciled: #{@from_is_reconciled.inspect},"\
|
|
218
|
+
" to_is_reconciled: #{@to_is_reconciled.inspect}, reference: #{@reference.inspect},"\
|
|
219
|
+
" has_attachments: #{@has_attachments.inspect}, created_date_utc:"\
|
|
220
|
+
" #{@created_date_utc.inspect}, validation_errors: #{@validation_errors.inspect},"\
|
|
221
|
+
" additional_properties: #{@additional_properties}>"
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
end
|
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
# BankTransfers Model.
|
|
8
|
+
class BankTransfers < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [Array[BankTransfer]]
|
|
14
|
+
attr_accessor :bank_transfers
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['bank_transfers'] = 'BankTransfers'
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def self.optionals
|
|
25
|
+
%w[
|
|
26
|
+
bank_transfers
|
|
27
|
+
]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# An array for nullable fields
|
|
31
|
+
def self.nullables
|
|
32
|
+
[]
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def initialize(bank_transfers: SKIP, additional_properties: nil)
|
|
36
|
+
# Add additional model properties to the instance
|
|
37
|
+
additional_properties = {} if additional_properties.nil?
|
|
38
|
+
|
|
39
|
+
@bank_transfers = bank_transfers unless bank_transfers == 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
|
+
bank_transfers = nil
|
|
50
|
+
unless hash['BankTransfers'].nil?
|
|
51
|
+
bank_transfers = []
|
|
52
|
+
hash['BankTransfers'].each do |structure|
|
|
53
|
+
bank_transfers << (BankTransfer.from_hash(structure) if structure)
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
bank_transfers = SKIP unless hash.key?('BankTransfers')
|
|
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
|
+
BankTransfers.new(bank_transfers: bank_transfers,
|
|
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} bank_transfers: #{@bank_transfers}, additional_properties:"\
|
|
75
|
+
" #{@additional_properties}>"
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
79
|
+
def inspect
|
|
80
|
+
class_name = self.class.name.split('::').last
|
|
81
|
+
"<#{class_name} bank_transfers: #{@bank_transfers.inspect}, additional_properties:"\
|
|
82
|
+
" #{@additional_properties}>"
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# Base model.
|
|
8
|
+
# rubocop:disable all
|
|
9
|
+
class BaseModel < CoreLibrary::BaseModel
|
|
10
|
+
# Returns a Hash representation of the current object.
|
|
11
|
+
def to_hash
|
|
12
|
+
# validating the model being serialized
|
|
13
|
+
self.class.validate(self) if self.class.respond_to?(:validate)
|
|
14
|
+
|
|
15
|
+
hash = {}
|
|
16
|
+
instance_variables.each do |name|
|
|
17
|
+
value = instance_variable_get(name)
|
|
18
|
+
name = name[1..]
|
|
19
|
+
if name == 'additional_properties'
|
|
20
|
+
additional_properties = process_additional_properties(value, self.class.names)
|
|
21
|
+
hash.merge!(additional_properties)
|
|
22
|
+
else
|
|
23
|
+
key = self.class.names.key?(name) ? self.class.names[name] : name
|
|
24
|
+
optional_fields = self.class.optionals
|
|
25
|
+
nullable_fields = self.class.nullables
|
|
26
|
+
if value.nil?
|
|
27
|
+
next unless nullable_fields.include?(name)
|
|
28
|
+
|
|
29
|
+
if !optional_fields.include?(name) && !nullable_fields.include?(name)
|
|
30
|
+
raise ArgumentError,
|
|
31
|
+
"`#{name}` cannot be nil in `#{self.class}`. Please specify a valid value."
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
hash[key] = nil
|
|
36
|
+
unless value.nil?
|
|
37
|
+
if respond_to?("to_custom_#{name}")
|
|
38
|
+
if (value.instance_of? Array) || (value.instance_of? Hash)
|
|
39
|
+
params = [hash, key]
|
|
40
|
+
hash[key] = send("to_custom_#{name}", *params)
|
|
41
|
+
else
|
|
42
|
+
hash[key] = send("to_custom_#{name}")
|
|
43
|
+
end
|
|
44
|
+
elsif respond_to?("to_union_type_#{name}")
|
|
45
|
+
hash[key] = send("to_union_type_#{name}")
|
|
46
|
+
elsif value.instance_of? Array
|
|
47
|
+
hash[key] = value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
|
|
48
|
+
elsif value.instance_of? Hash
|
|
49
|
+
hash[key] = {}
|
|
50
|
+
value.each do |k, v|
|
|
51
|
+
hash[key][k] = v.is_a?(BaseModel) ? v.to_hash : v
|
|
52
|
+
end
|
|
53
|
+
else
|
|
54
|
+
hash[key] = value.is_a?(BaseModel) ? value.to_hash : value
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
hash
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Processes additional properties, ensuring no conflicts with existing properties.
|
|
63
|
+
def process_additional_properties(additional_properties, existing_prop_names)
|
|
64
|
+
hash = {}
|
|
65
|
+
additional_properties.each do |name, value|
|
|
66
|
+
check_for_conflict(name, existing_prop_names)
|
|
67
|
+
|
|
68
|
+
hash[name] = if value.is_a?(Array)
|
|
69
|
+
process_array(value)
|
|
70
|
+
elsif value.is_a?(Hash)
|
|
71
|
+
process_hash(value)
|
|
72
|
+
else
|
|
73
|
+
process_basic_value(value)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
hash
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Checks if an additional property conflicts with a model's existing property.
|
|
80
|
+
def check_for_conflict(name, existing_prop_names)
|
|
81
|
+
return unless existing_prop_names.key?(name)
|
|
82
|
+
|
|
83
|
+
raise ArgumentError, "An additional property key, '#{name}' conflicts with one of the model's properties"
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# Processes an array of values, recursively calling `to_hash` on BaseModel objects.
|
|
87
|
+
def process_array(value)
|
|
88
|
+
value.map { |v| v.is_a?(BaseModel) ? v.to_hash : v }
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Processes a hash of values, recursively calling `to_hash` on BaseModel objects.
|
|
92
|
+
def process_hash(value)
|
|
93
|
+
value.transform_values do |v|
|
|
94
|
+
v.is_a?(BaseModel) ? v.to_hash : v
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Processes a basic value (non-array, non-hash).
|
|
99
|
+
def process_basic_value(value)
|
|
100
|
+
value.is_a?(BaseModel) ? value.to_hash : value
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Returns a JSON representation of the curent object.
|
|
104
|
+
def to_json(options = {})
|
|
105
|
+
hash = to_hash
|
|
106
|
+
hash.to_json(options)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
# rubocop:enable all
|
|
110
|
+
end
|
|
@@ -0,0 +1,275 @@
|
|
|
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
|
+
# BatchPayment Model.
|
|
8
|
+
class BatchPayment < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# TODO: Write general description for this method
|
|
13
|
+
# @return [Account]
|
|
14
|
+
attr_accessor :account
|
|
15
|
+
|
|
16
|
+
# (NZ Only) Optional references for the batch payment transaction. It will
|
|
17
|
+
# also show with the batch payment transaction in the bank reconciliation
|
|
18
|
+
# Find & Match screen. Depending on your individual bank, the detail may
|
|
19
|
+
# also show on the bank statement you import into Xero.
|
|
20
|
+
# @return [String]
|
|
21
|
+
attr_accessor :reference
|
|
22
|
+
|
|
23
|
+
# (NZ Only) Optional references for the batch payment transaction. It will
|
|
24
|
+
# also show with the batch payment transaction in the bank reconciliation
|
|
25
|
+
# Find & Match screen. Depending on your individual bank, the detail may
|
|
26
|
+
# also show on the bank statement you import into Xero.
|
|
27
|
+
# @return [String]
|
|
28
|
+
attr_accessor :particulars
|
|
29
|
+
|
|
30
|
+
# (NZ Only) Optional references for the batch payment transaction. It will
|
|
31
|
+
# also show with the batch payment transaction in the bank reconciliation
|
|
32
|
+
# Find & Match screen. Depending on your individual bank, the detail may
|
|
33
|
+
# also show on the bank statement you import into Xero.
|
|
34
|
+
# @return [String]
|
|
35
|
+
attr_accessor :code
|
|
36
|
+
|
|
37
|
+
# (Non-NZ Only) These details are sent to the org’s bank as a reference for
|
|
38
|
+
# the batch payment transaction. They will also show with the batch payment
|
|
39
|
+
# transaction in the bank reconciliation Find & Match screen. Depending on
|
|
40
|
+
# your individual bank, the detail may also show on the bank statement
|
|
41
|
+
# imported into Xero. Maximum field length = 18
|
|
42
|
+
# @return [String]
|
|
43
|
+
attr_accessor :details
|
|
44
|
+
|
|
45
|
+
# (UK Only) Only shows on the statement line in Xero. Max length =18
|
|
46
|
+
# @return [String]
|
|
47
|
+
attr_accessor :narrative
|
|
48
|
+
|
|
49
|
+
# The Xero generated unique identifier for the bank transaction (read-only)
|
|
50
|
+
# @return [UUID | String]
|
|
51
|
+
attr_accessor :batch_payment_id
|
|
52
|
+
|
|
53
|
+
# Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06
|
|
54
|
+
# @return [String]
|
|
55
|
+
attr_accessor :date_string
|
|
56
|
+
|
|
57
|
+
# Date the payment is being made (YYYY-MM-DD) e.g. 2009-09-06
|
|
58
|
+
# @return [String]
|
|
59
|
+
attr_accessor :date
|
|
60
|
+
|
|
61
|
+
# The amount of the payment. Must be less than or equal to the outstanding
|
|
62
|
+
# amount owing on the invoice e.g. 200.00
|
|
63
|
+
# @return [Float]
|
|
64
|
+
attr_accessor :amount
|
|
65
|
+
|
|
66
|
+
# An array of payments
|
|
67
|
+
# @return [Array[Payment]]
|
|
68
|
+
attr_accessor :payments
|
|
69
|
+
|
|
70
|
+
# PAYBATCH for bill payments or RECBATCH for sales invoice payments
|
|
71
|
+
# (read-only)
|
|
72
|
+
# @return [Type7]
|
|
73
|
+
attr_accessor :type
|
|
74
|
+
|
|
75
|
+
# AUTHORISED or DELETED (read-only). New batch payments will have a status
|
|
76
|
+
# of AUTHORISED. It is not possible to delete batch payments via the API.
|
|
77
|
+
# @return [Status8]
|
|
78
|
+
attr_accessor :status
|
|
79
|
+
|
|
80
|
+
# The total of the payments that make up the batch (read-only)
|
|
81
|
+
# @return [Float]
|
|
82
|
+
attr_accessor :total_amount
|
|
83
|
+
|
|
84
|
+
# UTC timestamp of last update to the payment
|
|
85
|
+
# @return [String]
|
|
86
|
+
attr_accessor :updated_date_utc
|
|
87
|
+
|
|
88
|
+
# Booelan that tells you if the batch payment has been reconciled
|
|
89
|
+
# (read-only)
|
|
90
|
+
# @return [TrueClass | FalseClass]
|
|
91
|
+
attr_accessor :is_reconciled
|
|
92
|
+
|
|
93
|
+
# Displays array of validation error messages from the API
|
|
94
|
+
# @return [Array[ValidationError]]
|
|
95
|
+
attr_accessor :validation_errors
|
|
96
|
+
|
|
97
|
+
# A mapping from model property names to API property names.
|
|
98
|
+
def self.names
|
|
99
|
+
@_hash = {} if @_hash.nil?
|
|
100
|
+
@_hash['account'] = 'Account'
|
|
101
|
+
@_hash['reference'] = 'Reference'
|
|
102
|
+
@_hash['particulars'] = 'Particulars'
|
|
103
|
+
@_hash['code'] = 'Code'
|
|
104
|
+
@_hash['details'] = 'Details'
|
|
105
|
+
@_hash['narrative'] = 'Narrative'
|
|
106
|
+
@_hash['batch_payment_id'] = 'BatchPaymentID'
|
|
107
|
+
@_hash['date_string'] = 'DateString'
|
|
108
|
+
@_hash['date'] = 'Date'
|
|
109
|
+
@_hash['amount'] = 'Amount'
|
|
110
|
+
@_hash['payments'] = 'Payments'
|
|
111
|
+
@_hash['type'] = 'Type'
|
|
112
|
+
@_hash['status'] = 'Status'
|
|
113
|
+
@_hash['total_amount'] = 'TotalAmount'
|
|
114
|
+
@_hash['updated_date_utc'] = 'UpdatedDateUTC'
|
|
115
|
+
@_hash['is_reconciled'] = 'IsReconciled'
|
|
116
|
+
@_hash['validation_errors'] = 'ValidationErrors'
|
|
117
|
+
@_hash
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# An array for optional fields
|
|
121
|
+
def self.optionals
|
|
122
|
+
%w[
|
|
123
|
+
account
|
|
124
|
+
reference
|
|
125
|
+
particulars
|
|
126
|
+
code
|
|
127
|
+
details
|
|
128
|
+
narrative
|
|
129
|
+
batch_payment_id
|
|
130
|
+
date_string
|
|
131
|
+
date
|
|
132
|
+
amount
|
|
133
|
+
payments
|
|
134
|
+
type
|
|
135
|
+
status
|
|
136
|
+
total_amount
|
|
137
|
+
updated_date_utc
|
|
138
|
+
is_reconciled
|
|
139
|
+
validation_errors
|
|
140
|
+
]
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# An array for nullable fields
|
|
144
|
+
def self.nullables
|
|
145
|
+
[]
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def initialize(account: SKIP, reference: SKIP, particulars: SKIP,
|
|
149
|
+
code: SKIP, details: SKIP, narrative: SKIP,
|
|
150
|
+
batch_payment_id: SKIP, date_string: SKIP, date: SKIP,
|
|
151
|
+
amount: SKIP, payments: SKIP, type: SKIP, status: SKIP,
|
|
152
|
+
total_amount: SKIP, updated_date_utc: SKIP,
|
|
153
|
+
is_reconciled: SKIP, validation_errors: SKIP,
|
|
154
|
+
additional_properties: nil)
|
|
155
|
+
# Add additional model properties to the instance
|
|
156
|
+
additional_properties = {} if additional_properties.nil?
|
|
157
|
+
|
|
158
|
+
@account = account unless account == SKIP
|
|
159
|
+
@reference = reference unless reference == SKIP
|
|
160
|
+
@particulars = particulars unless particulars == SKIP
|
|
161
|
+
@code = code unless code == SKIP
|
|
162
|
+
@details = details unless details == SKIP
|
|
163
|
+
@narrative = narrative unless narrative == SKIP
|
|
164
|
+
@batch_payment_id = batch_payment_id unless batch_payment_id == SKIP
|
|
165
|
+
@date_string = date_string unless date_string == SKIP
|
|
166
|
+
@date = date unless date == SKIP
|
|
167
|
+
@amount = amount unless amount == SKIP
|
|
168
|
+
@payments = payments unless payments == SKIP
|
|
169
|
+
@type = type unless type == SKIP
|
|
170
|
+
@status = status unless status == SKIP
|
|
171
|
+
@total_amount = total_amount unless total_amount == SKIP
|
|
172
|
+
@updated_date_utc = updated_date_utc unless updated_date_utc == SKIP
|
|
173
|
+
@is_reconciled = is_reconciled unless is_reconciled == SKIP
|
|
174
|
+
@validation_errors = validation_errors unless validation_errors == SKIP
|
|
175
|
+
@additional_properties = additional_properties
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Creates an instance of the object from a hash.
|
|
179
|
+
def self.from_hash(hash)
|
|
180
|
+
return nil unless hash
|
|
181
|
+
|
|
182
|
+
# Extract variables from the hash.
|
|
183
|
+
account = Account.from_hash(hash['Account']) if hash['Account']
|
|
184
|
+
reference = hash.key?('Reference') ? hash['Reference'] : SKIP
|
|
185
|
+
particulars = hash.key?('Particulars') ? hash['Particulars'] : SKIP
|
|
186
|
+
code = hash.key?('Code') ? hash['Code'] : SKIP
|
|
187
|
+
details = hash.key?('Details') ? hash['Details'] : SKIP
|
|
188
|
+
narrative = hash.key?('Narrative') ? hash['Narrative'] : SKIP
|
|
189
|
+
batch_payment_id =
|
|
190
|
+
hash.key?('BatchPaymentID') ? hash['BatchPaymentID'] : SKIP
|
|
191
|
+
date_string = hash.key?('DateString') ? hash['DateString'] : SKIP
|
|
192
|
+
date = hash.key?('Date') ? hash['Date'] : SKIP
|
|
193
|
+
amount = hash.key?('Amount') ? hash['Amount'] : SKIP
|
|
194
|
+
# Parameter is an array, so we need to iterate through it
|
|
195
|
+
payments = nil
|
|
196
|
+
unless hash['Payments'].nil?
|
|
197
|
+
payments = []
|
|
198
|
+
hash['Payments'].each do |structure|
|
|
199
|
+
payments << (Payment.from_hash(structure) if structure)
|
|
200
|
+
end
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
payments = SKIP unless hash.key?('Payments')
|
|
204
|
+
type = hash.key?('Type') ? hash['Type'] : SKIP
|
|
205
|
+
status = hash.key?('Status') ? hash['Status'] : SKIP
|
|
206
|
+
total_amount = hash.key?('TotalAmount') ? hash['TotalAmount'] : SKIP
|
|
207
|
+
updated_date_utc =
|
|
208
|
+
hash.key?('UpdatedDateUTC') ? hash['UpdatedDateUTC'] : SKIP
|
|
209
|
+
is_reconciled = hash.key?('IsReconciled') ? hash['IsReconciled'] : SKIP
|
|
210
|
+
# Parameter is an array, so we need to iterate through it
|
|
211
|
+
validation_errors = nil
|
|
212
|
+
unless hash['ValidationErrors'].nil?
|
|
213
|
+
validation_errors = []
|
|
214
|
+
hash['ValidationErrors'].each do |structure|
|
|
215
|
+
validation_errors << (ValidationError.from_hash(structure) if structure)
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
validation_errors = SKIP unless hash.key?('ValidationErrors')
|
|
220
|
+
|
|
221
|
+
# Create a new hash for additional properties, removing known properties.
|
|
222
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
223
|
+
|
|
224
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
225
|
+
new_hash, proc { |value| value }
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
# Create object from extracted values.
|
|
229
|
+
BatchPayment.new(account: account,
|
|
230
|
+
reference: reference,
|
|
231
|
+
particulars: particulars,
|
|
232
|
+
code: code,
|
|
233
|
+
details: details,
|
|
234
|
+
narrative: narrative,
|
|
235
|
+
batch_payment_id: batch_payment_id,
|
|
236
|
+
date_string: date_string,
|
|
237
|
+
date: date,
|
|
238
|
+
amount: amount,
|
|
239
|
+
payments: payments,
|
|
240
|
+
type: type,
|
|
241
|
+
status: status,
|
|
242
|
+
total_amount: total_amount,
|
|
243
|
+
updated_date_utc: updated_date_utc,
|
|
244
|
+
is_reconciled: is_reconciled,
|
|
245
|
+
validation_errors: validation_errors,
|
|
246
|
+
additional_properties: additional_properties)
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
# Provides a human-readable string representation of the object.
|
|
250
|
+
def to_s
|
|
251
|
+
class_name = self.class.name.split('::').last
|
|
252
|
+
"<#{class_name} account: #{@account}, reference: #{@reference}, particulars:"\
|
|
253
|
+
" #{@particulars}, code: #{@code}, details: #{@details}, narrative: #{@narrative},"\
|
|
254
|
+
" batch_payment_id: #{@batch_payment_id}, date_string: #{@date_string}, date: #{@date},"\
|
|
255
|
+
" amount: #{@amount}, payments: #{@payments}, type: #{@type}, status: #{@status},"\
|
|
256
|
+
" total_amount: #{@total_amount}, updated_date_utc: #{@updated_date_utc}, is_reconciled:"\
|
|
257
|
+
" #{@is_reconciled}, validation_errors: #{@validation_errors}, additional_properties:"\
|
|
258
|
+
" #{@additional_properties}>"
|
|
259
|
+
end
|
|
260
|
+
|
|
261
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
262
|
+
def inspect
|
|
263
|
+
class_name = self.class.name.split('::').last
|
|
264
|
+
"<#{class_name} account: #{@account.inspect}, reference: #{@reference.inspect},"\
|
|
265
|
+
" particulars: #{@particulars.inspect}, code: #{@code.inspect}, details:"\
|
|
266
|
+
" #{@details.inspect}, narrative: #{@narrative.inspect}, batch_payment_id:"\
|
|
267
|
+
" #{@batch_payment_id.inspect}, date_string: #{@date_string.inspect}, date:"\
|
|
268
|
+
" #{@date.inspect}, amount: #{@amount.inspect}, payments: #{@payments.inspect}, type:"\
|
|
269
|
+
" #{@type.inspect}, status: #{@status.inspect}, total_amount: #{@total_amount.inspect},"\
|
|
270
|
+
" updated_date_utc: #{@updated_date_utc.inspect}, is_reconciled: #{@is_reconciled.inspect},"\
|
|
271
|
+
" validation_errors: #{@validation_errors.inspect}, additional_properties:"\
|
|
272
|
+
" #{@additional_properties}>"
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
end
|