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,328 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'date'
|
|
7
|
+
module XeroApIs
|
|
8
|
+
# Project Model.
|
|
9
|
+
class Project < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# Identifier of the project.
|
|
14
|
+
# @return [UUID | String]
|
|
15
|
+
attr_accessor :project_id
|
|
16
|
+
|
|
17
|
+
# Identifier of the contact this project was created for.
|
|
18
|
+
# @return [UUID | String]
|
|
19
|
+
attr_accessor :contact_id
|
|
20
|
+
|
|
21
|
+
# Name of the project.
|
|
22
|
+
# @return [String]
|
|
23
|
+
attr_accessor :name
|
|
24
|
+
|
|
25
|
+
# 3 letter alpha code for the ISO-4217 currency code, e.g. USD, AUD.
|
|
26
|
+
# @return [CurrencyCode1]
|
|
27
|
+
attr_accessor :currency_code
|
|
28
|
+
|
|
29
|
+
# A total of minutes logged against all tasks on the Project.
|
|
30
|
+
# @return [Integer]
|
|
31
|
+
attr_accessor :minutes_logged
|
|
32
|
+
|
|
33
|
+
# A total of minutes logged against all tasks on the Project.
|
|
34
|
+
# @return [Amount]
|
|
35
|
+
attr_accessor :total_task_amount
|
|
36
|
+
|
|
37
|
+
# A total of minutes logged against all tasks on the Project.
|
|
38
|
+
# @return [Amount]
|
|
39
|
+
attr_accessor :total_expense_amount
|
|
40
|
+
|
|
41
|
+
# A total of minutes logged against all tasks on the Project.
|
|
42
|
+
# @return [Amount]
|
|
43
|
+
attr_accessor :estimate_amount
|
|
44
|
+
|
|
45
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
46
|
+
# project.
|
|
47
|
+
# @return [Integer]
|
|
48
|
+
attr_accessor :minutes_to_be_invoiced
|
|
49
|
+
|
|
50
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
51
|
+
# project.
|
|
52
|
+
# @return [Amount]
|
|
53
|
+
attr_accessor :task_amount_to_be_invoiced
|
|
54
|
+
|
|
55
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
56
|
+
# project.
|
|
57
|
+
# @return [Amount]
|
|
58
|
+
attr_accessor :task_amount_invoiced
|
|
59
|
+
|
|
60
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
61
|
+
# project.
|
|
62
|
+
# @return [Amount]
|
|
63
|
+
attr_accessor :expense_amount_to_be_invoiced
|
|
64
|
+
|
|
65
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
66
|
+
# project.
|
|
67
|
+
# @return [Amount]
|
|
68
|
+
attr_accessor :expense_amount_invoiced
|
|
69
|
+
|
|
70
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
71
|
+
# project.
|
|
72
|
+
# @return [Amount]
|
|
73
|
+
attr_accessor :project_amount_invoiced
|
|
74
|
+
|
|
75
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
76
|
+
# project.
|
|
77
|
+
# @return [Amount]
|
|
78
|
+
attr_accessor :deposit
|
|
79
|
+
|
|
80
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
81
|
+
# project.
|
|
82
|
+
# @return [Amount]
|
|
83
|
+
attr_accessor :deposit_applied
|
|
84
|
+
|
|
85
|
+
# Minutes which have not been invoiced across all chargeable tasks in the
|
|
86
|
+
# project.
|
|
87
|
+
# @return [Amount]
|
|
88
|
+
attr_accessor :credit_note_amount
|
|
89
|
+
|
|
90
|
+
# Deadline for the project. UTC Date Time in ISO-8601 format.
|
|
91
|
+
# @return [DateTime]
|
|
92
|
+
attr_accessor :deadline_utc
|
|
93
|
+
|
|
94
|
+
# Deadline for the project. UTC Date Time in ISO-8601 format.
|
|
95
|
+
# @return [Amount]
|
|
96
|
+
attr_accessor :total_invoiced
|
|
97
|
+
|
|
98
|
+
# Deadline for the project. UTC Date Time in ISO-8601 format.
|
|
99
|
+
# @return [Amount]
|
|
100
|
+
attr_accessor :total_to_be_invoiced
|
|
101
|
+
|
|
102
|
+
# Deadline for the project. UTC Date Time in ISO-8601 format.
|
|
103
|
+
# @return [Amount]
|
|
104
|
+
attr_accessor :estimate
|
|
105
|
+
|
|
106
|
+
# Status for project
|
|
107
|
+
# @return [ProjectStatus]
|
|
108
|
+
attr_accessor :status
|
|
109
|
+
|
|
110
|
+
# A mapping from model property names to API property names.
|
|
111
|
+
def self.names
|
|
112
|
+
@_hash = {} if @_hash.nil?
|
|
113
|
+
@_hash['project_id'] = 'projectId'
|
|
114
|
+
@_hash['contact_id'] = 'contactId'
|
|
115
|
+
@_hash['name'] = 'name'
|
|
116
|
+
@_hash['currency_code'] = 'currencyCode'
|
|
117
|
+
@_hash['minutes_logged'] = 'minutesLogged'
|
|
118
|
+
@_hash['total_task_amount'] = 'totalTaskAmount'
|
|
119
|
+
@_hash['total_expense_amount'] = 'totalExpenseAmount'
|
|
120
|
+
@_hash['estimate_amount'] = 'estimateAmount'
|
|
121
|
+
@_hash['minutes_to_be_invoiced'] = 'minutesToBeInvoiced'
|
|
122
|
+
@_hash['task_amount_to_be_invoiced'] = 'taskAmountToBeInvoiced'
|
|
123
|
+
@_hash['task_amount_invoiced'] = 'taskAmountInvoiced'
|
|
124
|
+
@_hash['expense_amount_to_be_invoiced'] = 'expenseAmountToBeInvoiced'
|
|
125
|
+
@_hash['expense_amount_invoiced'] = 'expenseAmountInvoiced'
|
|
126
|
+
@_hash['project_amount_invoiced'] = 'projectAmountInvoiced'
|
|
127
|
+
@_hash['deposit'] = 'deposit'
|
|
128
|
+
@_hash['deposit_applied'] = 'depositApplied'
|
|
129
|
+
@_hash['credit_note_amount'] = 'creditNoteAmount'
|
|
130
|
+
@_hash['deadline_utc'] = 'deadlineUtc'
|
|
131
|
+
@_hash['total_invoiced'] = 'totalInvoiced'
|
|
132
|
+
@_hash['total_to_be_invoiced'] = 'totalToBeInvoiced'
|
|
133
|
+
@_hash['estimate'] = 'estimate'
|
|
134
|
+
@_hash['status'] = 'status'
|
|
135
|
+
@_hash
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
# An array for optional fields
|
|
139
|
+
def self.optionals
|
|
140
|
+
%w[
|
|
141
|
+
project_id
|
|
142
|
+
contact_id
|
|
143
|
+
currency_code
|
|
144
|
+
minutes_logged
|
|
145
|
+
total_task_amount
|
|
146
|
+
total_expense_amount
|
|
147
|
+
estimate_amount
|
|
148
|
+
minutes_to_be_invoiced
|
|
149
|
+
task_amount_to_be_invoiced
|
|
150
|
+
task_amount_invoiced
|
|
151
|
+
expense_amount_to_be_invoiced
|
|
152
|
+
expense_amount_invoiced
|
|
153
|
+
project_amount_invoiced
|
|
154
|
+
deposit
|
|
155
|
+
deposit_applied
|
|
156
|
+
credit_note_amount
|
|
157
|
+
deadline_utc
|
|
158
|
+
total_invoiced
|
|
159
|
+
total_to_be_invoiced
|
|
160
|
+
estimate
|
|
161
|
+
status
|
|
162
|
+
]
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
# An array for nullable fields
|
|
166
|
+
def self.nullables
|
|
167
|
+
[]
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
def initialize(name:, project_id: SKIP, contact_id: SKIP,
|
|
171
|
+
currency_code: SKIP, minutes_logged: SKIP,
|
|
172
|
+
total_task_amount: SKIP, total_expense_amount: SKIP,
|
|
173
|
+
estimate_amount: SKIP, minutes_to_be_invoiced: SKIP,
|
|
174
|
+
task_amount_to_be_invoiced: SKIP, task_amount_invoiced: SKIP,
|
|
175
|
+
expense_amount_to_be_invoiced: SKIP,
|
|
176
|
+
expense_amount_invoiced: SKIP, project_amount_invoiced: SKIP,
|
|
177
|
+
deposit: SKIP, deposit_applied: SKIP,
|
|
178
|
+
credit_note_amount: SKIP, deadline_utc: SKIP,
|
|
179
|
+
total_invoiced: SKIP, total_to_be_invoiced: SKIP,
|
|
180
|
+
estimate: SKIP, status: SKIP, additional_properties: nil)
|
|
181
|
+
# Add additional model properties to the instance
|
|
182
|
+
additional_properties = {} if additional_properties.nil?
|
|
183
|
+
|
|
184
|
+
@project_id = project_id unless project_id == SKIP
|
|
185
|
+
@contact_id = contact_id unless contact_id == SKIP
|
|
186
|
+
@name = name
|
|
187
|
+
@currency_code = currency_code unless currency_code == SKIP
|
|
188
|
+
@minutes_logged = minutes_logged unless minutes_logged == SKIP
|
|
189
|
+
@total_task_amount = total_task_amount unless total_task_amount == SKIP
|
|
190
|
+
@total_expense_amount = total_expense_amount unless total_expense_amount == SKIP
|
|
191
|
+
@estimate_amount = estimate_amount unless estimate_amount == SKIP
|
|
192
|
+
@minutes_to_be_invoiced = minutes_to_be_invoiced unless minutes_to_be_invoiced == SKIP
|
|
193
|
+
unless task_amount_to_be_invoiced == SKIP
|
|
194
|
+
@task_amount_to_be_invoiced =
|
|
195
|
+
task_amount_to_be_invoiced
|
|
196
|
+
end
|
|
197
|
+
@task_amount_invoiced = task_amount_invoiced unless task_amount_invoiced == SKIP
|
|
198
|
+
unless expense_amount_to_be_invoiced == SKIP
|
|
199
|
+
@expense_amount_to_be_invoiced =
|
|
200
|
+
expense_amount_to_be_invoiced
|
|
201
|
+
end
|
|
202
|
+
@expense_amount_invoiced = expense_amount_invoiced unless expense_amount_invoiced == SKIP
|
|
203
|
+
@project_amount_invoiced = project_amount_invoiced unless project_amount_invoiced == SKIP
|
|
204
|
+
@deposit = deposit unless deposit == SKIP
|
|
205
|
+
@deposit_applied = deposit_applied unless deposit_applied == SKIP
|
|
206
|
+
@credit_note_amount = credit_note_amount unless credit_note_amount == SKIP
|
|
207
|
+
@deadline_utc = deadline_utc unless deadline_utc == SKIP
|
|
208
|
+
@total_invoiced = total_invoiced unless total_invoiced == SKIP
|
|
209
|
+
@total_to_be_invoiced = total_to_be_invoiced unless total_to_be_invoiced == SKIP
|
|
210
|
+
@estimate = estimate unless estimate == SKIP
|
|
211
|
+
@status = status unless status == SKIP
|
|
212
|
+
@additional_properties = additional_properties
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
# Creates an instance of the object from a hash.
|
|
216
|
+
def self.from_hash(hash)
|
|
217
|
+
return nil unless hash
|
|
218
|
+
|
|
219
|
+
# Extract variables from the hash.
|
|
220
|
+
name = hash.key?('name') ? hash['name'] : nil
|
|
221
|
+
project_id = hash.key?('projectId') ? hash['projectId'] : SKIP
|
|
222
|
+
contact_id = hash.key?('contactId') ? hash['contactId'] : SKIP
|
|
223
|
+
currency_code = hash.key?('currencyCode') ? hash['currencyCode'] : SKIP
|
|
224
|
+
minutes_logged = hash.key?('minutesLogged') ? hash['minutesLogged'] : SKIP
|
|
225
|
+
total_task_amount = Amount.from_hash(hash['totalTaskAmount']) if hash['totalTaskAmount']
|
|
226
|
+
total_expense_amount = Amount.from_hash(hash['totalExpenseAmount']) if
|
|
227
|
+
hash['totalExpenseAmount']
|
|
228
|
+
estimate_amount = Amount.from_hash(hash['estimateAmount']) if hash['estimateAmount']
|
|
229
|
+
minutes_to_be_invoiced =
|
|
230
|
+
hash.key?('minutesToBeInvoiced') ? hash['minutesToBeInvoiced'] : SKIP
|
|
231
|
+
task_amount_to_be_invoiced = Amount.from_hash(hash['taskAmountToBeInvoiced']) if
|
|
232
|
+
hash['taskAmountToBeInvoiced']
|
|
233
|
+
task_amount_invoiced = Amount.from_hash(hash['taskAmountInvoiced']) if
|
|
234
|
+
hash['taskAmountInvoiced']
|
|
235
|
+
expense_amount_to_be_invoiced = Amount.from_hash(hash['expenseAmountToBeInvoiced']) if
|
|
236
|
+
hash['expenseAmountToBeInvoiced']
|
|
237
|
+
expense_amount_invoiced = Amount.from_hash(hash['expenseAmountInvoiced']) if
|
|
238
|
+
hash['expenseAmountInvoiced']
|
|
239
|
+
project_amount_invoiced = Amount.from_hash(hash['projectAmountInvoiced']) if
|
|
240
|
+
hash['projectAmountInvoiced']
|
|
241
|
+
deposit = Amount.from_hash(hash['deposit']) if hash['deposit']
|
|
242
|
+
deposit_applied = Amount.from_hash(hash['depositApplied']) if hash['depositApplied']
|
|
243
|
+
credit_note_amount = Amount.from_hash(hash['creditNoteAmount']) if hash['creditNoteAmount']
|
|
244
|
+
deadline_utc = if hash.key?('deadlineUtc')
|
|
245
|
+
(DateTimeHelper.from_rfc3339(hash['deadlineUtc']) if hash['deadlineUtc'])
|
|
246
|
+
else
|
|
247
|
+
SKIP
|
|
248
|
+
end
|
|
249
|
+
total_invoiced = Amount.from_hash(hash['totalInvoiced']) if hash['totalInvoiced']
|
|
250
|
+
total_to_be_invoiced = Amount.from_hash(hash['totalToBeInvoiced']) if
|
|
251
|
+
hash['totalToBeInvoiced']
|
|
252
|
+
estimate = Amount.from_hash(hash['estimate']) if hash['estimate']
|
|
253
|
+
status = hash.key?('status') ? hash['status'] : SKIP
|
|
254
|
+
|
|
255
|
+
# Create a new hash for additional properties, removing known properties.
|
|
256
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
257
|
+
|
|
258
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
259
|
+
new_hash, proc { |value| value }
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
# Create object from extracted values.
|
|
263
|
+
Project.new(name: name,
|
|
264
|
+
project_id: project_id,
|
|
265
|
+
contact_id: contact_id,
|
|
266
|
+
currency_code: currency_code,
|
|
267
|
+
minutes_logged: minutes_logged,
|
|
268
|
+
total_task_amount: total_task_amount,
|
|
269
|
+
total_expense_amount: total_expense_amount,
|
|
270
|
+
estimate_amount: estimate_amount,
|
|
271
|
+
minutes_to_be_invoiced: minutes_to_be_invoiced,
|
|
272
|
+
task_amount_to_be_invoiced: task_amount_to_be_invoiced,
|
|
273
|
+
task_amount_invoiced: task_amount_invoiced,
|
|
274
|
+
expense_amount_to_be_invoiced: expense_amount_to_be_invoiced,
|
|
275
|
+
expense_amount_invoiced: expense_amount_invoiced,
|
|
276
|
+
project_amount_invoiced: project_amount_invoiced,
|
|
277
|
+
deposit: deposit,
|
|
278
|
+
deposit_applied: deposit_applied,
|
|
279
|
+
credit_note_amount: credit_note_amount,
|
|
280
|
+
deadline_utc: deadline_utc,
|
|
281
|
+
total_invoiced: total_invoiced,
|
|
282
|
+
total_to_be_invoiced: total_to_be_invoiced,
|
|
283
|
+
estimate: estimate,
|
|
284
|
+
status: status,
|
|
285
|
+
additional_properties: additional_properties)
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
def to_custom_deadline_utc
|
|
289
|
+
DateTimeHelper.to_rfc3339(deadline_utc)
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
# Provides a human-readable string representation of the object.
|
|
293
|
+
def to_s
|
|
294
|
+
class_name = self.class.name.split('::').last
|
|
295
|
+
"<#{class_name} project_id: #{@project_id}, contact_id: #{@contact_id}, name: #{@name},"\
|
|
296
|
+
" currency_code: #{@currency_code}, minutes_logged: #{@minutes_logged}, total_task_amount:"\
|
|
297
|
+
" #{@total_task_amount}, total_expense_amount: #{@total_expense_amount}, estimate_amount:"\
|
|
298
|
+
" #{@estimate_amount}, minutes_to_be_invoiced: #{@minutes_to_be_invoiced},"\
|
|
299
|
+
" task_amount_to_be_invoiced: #{@task_amount_to_be_invoiced}, task_amount_invoiced:"\
|
|
300
|
+
" #{@task_amount_invoiced}, expense_amount_to_be_invoiced:"\
|
|
301
|
+
" #{@expense_amount_to_be_invoiced}, expense_amount_invoiced: #{@expense_amount_invoiced},"\
|
|
302
|
+
" project_amount_invoiced: #{@project_amount_invoiced}, deposit: #{@deposit},"\
|
|
303
|
+
" deposit_applied: #{@deposit_applied}, credit_note_amount: #{@credit_note_amount},"\
|
|
304
|
+
" deadline_utc: #{@deadline_utc}, total_invoiced: #{@total_invoiced}, total_to_be_invoiced:"\
|
|
305
|
+
" #{@total_to_be_invoiced}, estimate: #{@estimate}, status: #{@status},"\
|
|
306
|
+
" additional_properties: #{@additional_properties}>"
|
|
307
|
+
end
|
|
308
|
+
|
|
309
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
310
|
+
def inspect
|
|
311
|
+
class_name = self.class.name.split('::').last
|
|
312
|
+
"<#{class_name} project_id: #{@project_id.inspect}, contact_id: #{@contact_id.inspect},"\
|
|
313
|
+
" name: #{@name.inspect}, currency_code: #{@currency_code.inspect}, minutes_logged:"\
|
|
314
|
+
" #{@minutes_logged.inspect}, total_task_amount: #{@total_task_amount.inspect},"\
|
|
315
|
+
" total_expense_amount: #{@total_expense_amount.inspect}, estimate_amount:"\
|
|
316
|
+
" #{@estimate_amount.inspect}, minutes_to_be_invoiced: #{@minutes_to_be_invoiced.inspect},"\
|
|
317
|
+
" task_amount_to_be_invoiced: #{@task_amount_to_be_invoiced.inspect}, task_amount_invoiced:"\
|
|
318
|
+
" #{@task_amount_invoiced.inspect}, expense_amount_to_be_invoiced:"\
|
|
319
|
+
" #{@expense_amount_to_be_invoiced.inspect}, expense_amount_invoiced:"\
|
|
320
|
+
" #{@expense_amount_invoiced.inspect}, project_amount_invoiced:"\
|
|
321
|
+
" #{@project_amount_invoiced.inspect}, deposit: #{@deposit.inspect}, deposit_applied:"\
|
|
322
|
+
" #{@deposit_applied.inspect}, credit_note_amount: #{@credit_note_amount.inspect},"\
|
|
323
|
+
" deadline_utc: #{@deadline_utc.inspect}, total_invoiced: #{@total_invoiced.inspect},"\
|
|
324
|
+
" total_to_be_invoiced: #{@total_to_be_invoiced.inspect}, estimate: #{@estimate.inspect},"\
|
|
325
|
+
" status: #{@status.inspect}, additional_properties: #{@additional_properties}>"
|
|
326
|
+
end
|
|
327
|
+
end
|
|
328
|
+
end
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
require 'date'
|
|
7
|
+
module XeroApIs
|
|
8
|
+
# ProjectCreateOrUpdate Model.
|
|
9
|
+
class ProjectCreateOrUpdate < BaseModel
|
|
10
|
+
SKIP = Object.new
|
|
11
|
+
private_constant :SKIP
|
|
12
|
+
|
|
13
|
+
# Identifier of the contact this project was created for.
|
|
14
|
+
# @return [UUID | String]
|
|
15
|
+
attr_accessor :contact_id
|
|
16
|
+
|
|
17
|
+
# Name of the project.
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_accessor :name
|
|
20
|
+
|
|
21
|
+
# Name of the project.
|
|
22
|
+
# @return [Float]
|
|
23
|
+
attr_accessor :estimate_amount
|
|
24
|
+
|
|
25
|
+
# Deadline for the project. UTC Date Time in ISO-8601 format.
|
|
26
|
+
# @return [DateTime]
|
|
27
|
+
attr_accessor :deadline_utc
|
|
28
|
+
|
|
29
|
+
# A mapping from model property names to API property names.
|
|
30
|
+
def self.names
|
|
31
|
+
@_hash = {} if @_hash.nil?
|
|
32
|
+
@_hash['contact_id'] = 'contactId'
|
|
33
|
+
@_hash['name'] = 'name'
|
|
34
|
+
@_hash['estimate_amount'] = 'estimateAmount'
|
|
35
|
+
@_hash['deadline_utc'] = 'deadlineUtc'
|
|
36
|
+
@_hash
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# An array for optional fields
|
|
40
|
+
def self.optionals
|
|
41
|
+
%w[
|
|
42
|
+
contact_id
|
|
43
|
+
estimate_amount
|
|
44
|
+
deadline_utc
|
|
45
|
+
]
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# An array for nullable fields
|
|
49
|
+
def self.nullables
|
|
50
|
+
[]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def initialize(name:, contact_id: SKIP, estimate_amount: SKIP,
|
|
54
|
+
deadline_utc: SKIP, additional_properties: nil)
|
|
55
|
+
# Add additional model properties to the instance
|
|
56
|
+
additional_properties = {} if additional_properties.nil?
|
|
57
|
+
|
|
58
|
+
@contact_id = contact_id unless contact_id == SKIP
|
|
59
|
+
@name = name
|
|
60
|
+
@estimate_amount = estimate_amount unless estimate_amount == SKIP
|
|
61
|
+
@deadline_utc = deadline_utc unless deadline_utc == SKIP
|
|
62
|
+
@additional_properties = additional_properties
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Creates an instance of the object from a hash.
|
|
66
|
+
def self.from_hash(hash)
|
|
67
|
+
return nil unless hash
|
|
68
|
+
|
|
69
|
+
# Extract variables from the hash.
|
|
70
|
+
name = hash.key?('name') ? hash['name'] : nil
|
|
71
|
+
contact_id = hash.key?('contactId') ? hash['contactId'] : SKIP
|
|
72
|
+
estimate_amount =
|
|
73
|
+
hash.key?('estimateAmount') ? hash['estimateAmount'] : SKIP
|
|
74
|
+
deadline_utc = if hash.key?('deadlineUtc')
|
|
75
|
+
(DateTimeHelper.from_rfc3339(hash['deadlineUtc']) if hash['deadlineUtc'])
|
|
76
|
+
else
|
|
77
|
+
SKIP
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Create a new hash for additional properties, removing known properties.
|
|
81
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
82
|
+
|
|
83
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
84
|
+
new_hash, proc { |value| value }
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
# Create object from extracted values.
|
|
88
|
+
ProjectCreateOrUpdate.new(name: name,
|
|
89
|
+
contact_id: contact_id,
|
|
90
|
+
estimate_amount: estimate_amount,
|
|
91
|
+
deadline_utc: deadline_utc,
|
|
92
|
+
additional_properties: additional_properties)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
def to_custom_deadline_utc
|
|
96
|
+
DateTimeHelper.to_rfc3339(deadline_utc)
|
|
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} contact_id: #{@contact_id}, name: #{@name}, estimate_amount:"\
|
|
103
|
+
" #{@estimate_amount}, deadline_utc: #{@deadline_utc}, additional_properties:"\
|
|
104
|
+
" #{@additional_properties}>"
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
108
|
+
def inspect
|
|
109
|
+
class_name = self.class.name.split('::').last
|
|
110
|
+
"<#{class_name} contact_id: #{@contact_id.inspect}, name: #{@name.inspect},"\
|
|
111
|
+
" estimate_amount: #{@estimate_amount.inspect}, deadline_utc: #{@deadline_utc.inspect},"\
|
|
112
|
+
" additional_properties: #{@additional_properties}>"
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
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
|
+
# ProjectPatch Model.
|
|
8
|
+
class ProjectPatch < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Status for project
|
|
13
|
+
# @return [ProjectStatus]
|
|
14
|
+
attr_accessor :status
|
|
15
|
+
|
|
16
|
+
# A mapping from model property names to API property names.
|
|
17
|
+
def self.names
|
|
18
|
+
@_hash = {} if @_hash.nil?
|
|
19
|
+
@_hash['status'] = 'status'
|
|
20
|
+
@_hash
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# An array for optional fields
|
|
24
|
+
def self.optionals
|
|
25
|
+
[]
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# An array for nullable fields
|
|
29
|
+
def self.nullables
|
|
30
|
+
[]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def initialize(status:, additional_properties: nil)
|
|
34
|
+
# Add additional model properties to the instance
|
|
35
|
+
additional_properties = {} if additional_properties.nil?
|
|
36
|
+
|
|
37
|
+
@status = status
|
|
38
|
+
@additional_properties = additional_properties
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Creates an instance of the object from a hash.
|
|
42
|
+
def self.from_hash(hash)
|
|
43
|
+
return nil unless hash
|
|
44
|
+
|
|
45
|
+
# Extract variables from the hash.
|
|
46
|
+
status = hash.key?('status') ? hash['status'] : nil
|
|
47
|
+
|
|
48
|
+
# Create a new hash for additional properties, removing known properties.
|
|
49
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
50
|
+
|
|
51
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
52
|
+
new_hash, proc { |value| value }
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
# Create object from extracted values.
|
|
56
|
+
ProjectPatch.new(status: status,
|
|
57
|
+
additional_properties: additional_properties)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Provides a human-readable string representation of the object.
|
|
61
|
+
def to_s
|
|
62
|
+
class_name = self.class.name.split('::').last
|
|
63
|
+
"<#{class_name} status: #{@status}, additional_properties: #{@additional_properties}>"
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
67
|
+
def inspect
|
|
68
|
+
class_name = self.class.name.split('::').last
|
|
69
|
+
"<#{class_name} status: #{@status.inspect}, additional_properties:"\
|
|
70
|
+
" #{@additional_properties}>"
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
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
|
+
# Status for project
|
|
8
|
+
class ProjectStatus
|
|
9
|
+
PROJECT_STATUS = [
|
|
10
|
+
# TODO: Write general description for INPROGRESS
|
|
11
|
+
INPROGRESS = 'INPROGRESS'.freeze,
|
|
12
|
+
|
|
13
|
+
# TODO: Write general description for CLOSED
|
|
14
|
+
CLOSED = 'CLOSED'.freeze
|
|
15
|
+
].freeze
|
|
16
|
+
|
|
17
|
+
def self.validate(value)
|
|
18
|
+
return false if value.nil?
|
|
19
|
+
|
|
20
|
+
PROJECT_STATUS.include?(value)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def self.from_value(value, default_value = INPROGRESS)
|
|
24
|
+
return default_value if value.nil?
|
|
25
|
+
|
|
26
|
+
str = value.to_s.strip
|
|
27
|
+
|
|
28
|
+
case str.downcase
|
|
29
|
+
when 'inprogress' then INPROGRESS
|
|
30
|
+
when 'closed' then CLOSED
|
|
31
|
+
else
|
|
32
|
+
default_value
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# xero_ap_is
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated by APIMATIC v3.0 (
|
|
4
|
+
# https://www.apimatic.io ).
|
|
5
|
+
|
|
6
|
+
module XeroApIs
|
|
7
|
+
# ProjectUser Model.
|
|
8
|
+
class ProjectUser < BaseModel
|
|
9
|
+
SKIP = Object.new
|
|
10
|
+
private_constant :SKIP
|
|
11
|
+
|
|
12
|
+
# Identifier of the user of the project.
|
|
13
|
+
# @return [UUID | String]
|
|
14
|
+
attr_accessor :user_id
|
|
15
|
+
|
|
16
|
+
# Full name of the user.
|
|
17
|
+
# @return [String]
|
|
18
|
+
attr_accessor :name
|
|
19
|
+
|
|
20
|
+
# Email address of the user.
|
|
21
|
+
# @return [String]
|
|
22
|
+
attr_accessor :email
|
|
23
|
+
|
|
24
|
+
# A mapping from model property names to API property names.
|
|
25
|
+
def self.names
|
|
26
|
+
@_hash = {} if @_hash.nil?
|
|
27
|
+
@_hash['user_id'] = 'userId'
|
|
28
|
+
@_hash['name'] = 'name'
|
|
29
|
+
@_hash['email'] = 'email'
|
|
30
|
+
@_hash
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# An array for optional fields
|
|
34
|
+
def self.optionals
|
|
35
|
+
%w[
|
|
36
|
+
user_id
|
|
37
|
+
name
|
|
38
|
+
email
|
|
39
|
+
]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# An array for nullable fields
|
|
43
|
+
def self.nullables
|
|
44
|
+
[]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def initialize(user_id: SKIP, name: SKIP, email: SKIP,
|
|
48
|
+
additional_properties: nil)
|
|
49
|
+
# Add additional model properties to the instance
|
|
50
|
+
additional_properties = {} if additional_properties.nil?
|
|
51
|
+
|
|
52
|
+
@user_id = user_id unless user_id == SKIP
|
|
53
|
+
@name = name unless name == SKIP
|
|
54
|
+
@email = email unless email == 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
|
+
user_id = hash.key?('userId') ? hash['userId'] : SKIP
|
|
64
|
+
name = hash.key?('name') ? hash['name'] : SKIP
|
|
65
|
+
email = hash.key?('email') ? hash['email'] : SKIP
|
|
66
|
+
|
|
67
|
+
# Create a new hash for additional properties, removing known properties.
|
|
68
|
+
new_hash = hash.reject { |k, _| names.value?(k) }
|
|
69
|
+
|
|
70
|
+
additional_properties = APIHelper.get_additional_properties(
|
|
71
|
+
new_hash, proc { |value| value }
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
# Create object from extracted values.
|
|
75
|
+
ProjectUser.new(user_id: user_id,
|
|
76
|
+
name: name,
|
|
77
|
+
email: email,
|
|
78
|
+
additional_properties: additional_properties)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Provides a human-readable string representation of the object.
|
|
82
|
+
def to_s
|
|
83
|
+
class_name = self.class.name.split('::').last
|
|
84
|
+
"<#{class_name} user_id: #{@user_id}, name: #{@name}, email: #{@email},"\
|
|
85
|
+
" additional_properties: #{@additional_properties}>"
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Provides a debugging-friendly string with detailed object information.
|
|
89
|
+
def inspect
|
|
90
|
+
class_name = self.class.name.split('::').last
|
|
91
|
+
"<#{class_name} user_id: #{@user_id.inspect}, name: #{@name.inspect}, email:"\
|
|
92
|
+
" #{@email.inspect}, additional_properties: #{@additional_properties}>"
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|