merge_ruby_client 1.1.0 → 2.1.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 +4 -4
- data/lib/merge_ruby_client/accounting/accounting_periods/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/accounts/client.rb +18 -10
- data/lib/merge_ruby_client/accounting/attachments/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/audit_trail/client.rb +8 -6
- data/lib/merge_ruby_client/accounting/balance_sheets/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/bank_feed_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/bank_feed_transactions/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/cash_flow_statements/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/client.rb +14 -0
- data/lib/merge_ruby_client/accounting/company_info/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/contacts/client.rb +187 -10
- data/lib/merge_ruby_client/accounting/credit_notes/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/employees/client.rb +35 -8
- data/lib/merge_ruby_client/accounting/expense_reports/client.rb +765 -0
- data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_lines_list_request_expand.rb +73 -0
- data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_list_request_expand.rb +25 -0
- data/lib/merge_ruby_client/accounting/expense_reports/types/expense_reports_retrieve_request_expand.rb +25 -0
- data/lib/merge_ruby_client/accounting/expenses/client.rb +18 -10
- data/lib/merge_ruby_client/accounting/general_ledger_transactions/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/income_statements/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/invoices/client.rb +18 -10
- data/lib/merge_ruby_client/accounting/issues/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/items/client.rb +334 -2
- data/lib/merge_ruby_client/accounting/journal_entries/client.rb +18 -10
- data/lib/merge_ruby_client/accounting/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/payment_methods/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/payment_terms/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/payments/client.rb +18 -10
- data/lib/merge_ruby_client/accounting/projects/client.rb +251 -0
- data/lib/merge_ruby_client/accounting/projects/types/projects_list_request_expand.rb +13 -0
- data/lib/merge_ruby_client/accounting/projects/types/projects_retrieve_request_expand.rb +13 -0
- data/lib/merge_ruby_client/accounting/purchase_orders/client.rb +18 -10
- data/lib/merge_ruby_client/accounting/sync_status/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/tax_rates/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/tracking_categories/client.rb +18 -10
- data/lib/merge_ruby_client/accounting/transactions/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/transactions/types/transactions_list_request_expand.rb +32 -0
- data/lib/merge_ruby_client/accounting/transactions/types/transactions_retrieve_request_expand.rb +32 -0
- data/lib/merge_ruby_client/accounting/types/account_details_and_actions.rb +10 -2
- data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +2 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +29 -1
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item_contact.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request.rb +29 -1
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_contact.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +2 -0
- data/lib/merge_ruby_client/accounting/types/expense_line.rb +15 -1
- data/lib/merge_ruby_client/accounting/types/expense_line_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_line_request.rb +15 -1
- data/lib/merge_ruby_client/accounting/types/expense_line_request_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report.rb +869 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line.rb +921 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_account.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_contact.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_employee.rb +57 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_request.rb +899 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_request_account.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_request_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_request_contact.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_request_employee.rb +57 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_request_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_request_tax_rate.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_line_tax_rate.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_request.rb +819 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_request_accounting_period.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_request_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_request_employee.rb +57 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_response.rb +101 -0
- data/lib/merge_ruby_client/accounting/types/expense_report_status_enum.rb +16 -0
- data/lib/merge_ruby_client/accounting/types/external_target_field_api_response.rb +23 -1
- data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_response.rb +23 -1
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line.rb +15 -1
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +29 -1
- data/lib/merge_ruby_client/accounting/types/invoice_line_item_contact.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/invoice_line_item_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/invoice_line_item_request.rb +29 -1
- data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_contact.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/item.rb +18 -1
- data/lib/merge_ruby_client/accounting/types/item_request_request.rb +202 -0
- data/lib/merge_ruby_client/accounting/types/item_request_request_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/item_request_request_purchase_account.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/item_request_request_purchase_tax_rate.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/item_request_request_sales_account.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/item_request_request_sales_tax_rate.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/item_response.rb +101 -0
- data/lib/merge_ruby_client/accounting/types/journal_line.rb +15 -1
- data/lib/merge_ruby_client/accounting/types/journal_line_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/journal_line_request.rb +15 -1
- data/lib/merge_ruby_client/accounting/types/journal_line_request_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/paginated_expense_report_line_list.rb +80 -0
- data/lib/merge_ruby_client/accounting/types/paginated_expense_report_list.rb +80 -0
- data/lib/merge_ruby_client/accounting/types/paginated_project_list.rb +80 -0
- data/lib/merge_ruby_client/accounting/types/patched_contact_request.rb +188 -0
- data/lib/merge_ruby_client/accounting/types/patched_contact_request_addresses_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/patched_item_request_request.rb +172 -0
- data/lib/merge_ruby_client/accounting/types/project.rb +162 -0
- data/lib/merge_ruby_client/accounting/types/project_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/project_contact.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/remote_field_api_response.rb +12 -1
- data/lib/merge_ruby_client/accounting/types/remote_field_class.rb +9 -1
- data/lib/merge_ruby_client/accounting/types/type_2_bb_enum.rb +16 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +29 -1
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line_contact.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request.rb +29 -1
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_contact.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_project.rb +55 -0
- data/lib/merge_ruby_client/accounting/vendor_credits/client.rb +2 -2
- data/lib/merge_ruby_client/ats/activities/client.rb +2 -2
- data/lib/merge_ruby_client/ats/applications/client.rb +2 -2
- data/lib/merge_ruby_client/ats/attachments/client.rb +2 -2
- data/lib/merge_ruby_client/ats/audit_trail/client.rb +8 -6
- data/lib/merge_ruby_client/ats/candidates/client.rb +2 -2
- data/lib/merge_ruby_client/ats/departments/client.rb +2 -2
- data/lib/merge_ruby_client/ats/eeocs/client.rb +2 -2
- data/lib/merge_ruby_client/ats/interviews/client.rb +2 -2
- data/lib/merge_ruby_client/ats/issues/client.rb +2 -2
- data/lib/merge_ruby_client/ats/job_interview_stages/client.rb +2 -2
- data/lib/merge_ruby_client/ats/job_postings/client.rb +2 -2
- data/lib/merge_ruby_client/ats/jobs/client.rb +4 -4
- data/lib/merge_ruby_client/ats/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/ats/offers/client.rb +2 -2
- data/lib/merge_ruby_client/ats/offices/client.rb +2 -2
- data/lib/merge_ruby_client/ats/reject_reasons/client.rb +2 -2
- data/lib/merge_ruby_client/ats/scorecards/client.rb +2 -2
- data/lib/merge_ruby_client/ats/sync_status/client.rb +2 -2
- data/lib/merge_ruby_client/ats/tags/client.rb +2 -2
- data/lib/merge_ruby_client/ats/types/account_details_and_actions.rb +10 -2
- data/lib/merge_ruby_client/ats/types/audit_log_event.rb +2 -0
- data/lib/merge_ruby_client/ats/types/event_type_enum.rb +2 -0
- data/lib/merge_ruby_client/ats/users/client.rb +2 -2
- data/lib/merge_ruby_client/crm/accounts/client.rb +10 -6
- data/lib/merge_ruby_client/crm/association_types/client.rb +2 -2
- data/lib/merge_ruby_client/crm/associations/client.rb +10 -2
- data/lib/merge_ruby_client/crm/audit_trail/client.rb +8 -6
- data/lib/merge_ruby_client/crm/contacts/client.rb +10 -6
- data/lib/merge_ruby_client/crm/custom_object_classes/client.rb +2 -2
- data/lib/merge_ruby_client/crm/custom_objects/client.rb +14 -6
- data/lib/merge_ruby_client/crm/engagement_types/client.rb +10 -6
- data/lib/merge_ruby_client/crm/engagements/client.rb +10 -6
- data/lib/merge_ruby_client/crm/issues/client.rb +2 -2
- data/lib/merge_ruby_client/crm/leads/client.rb +10 -6
- data/lib/merge_ruby_client/crm/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/crm/notes/client.rb +10 -6
- data/lib/merge_ruby_client/crm/opportunities/client.rb +10 -6
- data/lib/merge_ruby_client/crm/stages/client.rb +10 -6
- data/lib/merge_ruby_client/crm/sync_status/client.rb +22 -8
- data/lib/merge_ruby_client/crm/tasks/client.rb +10 -6
- data/lib/merge_ruby_client/crm/types/audit_log_event.rb +2 -0
- data/lib/merge_ruby_client/crm/types/custom_object_request.rb +26 -3
- data/lib/merge_ruby_client/crm/types/event_type_enum.rb +2 -0
- data/lib/merge_ruby_client/crm/types/remote_field_class.rb +9 -1
- data/lib/merge_ruby_client/crm/users/client.rb +10 -6
- data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +8 -6
- data/lib/merge_ruby_client/filestorage/drives/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/files/client.rb +70 -16
- data/lib/merge_ruby_client/filestorage/files/types/files_download_request_meta_list_request_order_by.rb +14 -0
- data/lib/merge_ruby_client/filestorage/files/types/files_list_request_order_by.rb +14 -0
- data/lib/merge_ruby_client/filestorage/folders/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/groups/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/issues/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/sync_status/client.rb +22 -8
- data/lib/merge_ruby_client/filestorage/types/account_details_and_actions.rb +10 -2
- data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +2 -0
- data/lib/merge_ruby_client/filestorage/types/download_request_meta.rb +2 -9
- data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +2 -0
- data/lib/merge_ruby_client/filestorage/types/file.rb +13 -1
- data/lib/merge_ruby_client/filestorage/types/file_request.rb +13 -1
- data/lib/merge_ruby_client/filestorage/users/client.rb +2 -2
- data/lib/merge_ruby_client/hris/audit_trail/client.rb +8 -6
- data/lib/merge_ruby_client/hris/bank_info/client.rb +2 -2
- data/lib/merge_ruby_client/hris/benefits/client.rb +2 -2
- data/lib/merge_ruby_client/hris/companies/client.rb +2 -2
- data/lib/merge_ruby_client/hris/dependents/client.rb +8 -4
- data/lib/merge_ruby_client/hris/employee_payroll_runs/client.rb +2 -2
- data/lib/merge_ruby_client/hris/employees/client.rb +8 -4
- data/lib/merge_ruby_client/hris/employer_benefits/client.rb +2 -2
- data/lib/merge_ruby_client/hris/employments/client.rb +2 -2
- data/lib/merge_ruby_client/hris/groups/client.rb +2 -2
- data/lib/merge_ruby_client/hris/issues/client.rb +2 -2
- data/lib/merge_ruby_client/hris/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/hris/locations/client.rb +2 -2
- data/lib/merge_ruby_client/hris/pay_groups/client.rb +2 -2
- data/lib/merge_ruby_client/hris/payroll_runs/client.rb +2 -2
- data/lib/merge_ruby_client/hris/sync_status/client.rb +2 -2
- data/lib/merge_ruby_client/hris/teams/client.rb +2 -2
- data/lib/merge_ruby_client/hris/time_off/client.rb +2 -2
- data/lib/merge_ruby_client/hris/time_off_balances/client.rb +2 -2
- data/lib/merge_ruby_client/hris/timesheet_entries/client.rb +2 -2
- data/lib/merge_ruby_client/hris/types/account_details_and_actions.rb +10 -2
- data/lib/merge_ruby_client/hris/types/audit_log_event.rb +2 -0
- data/lib/merge_ruby_client/hris/types/benefit.rb +9 -9
- data/lib/merge_ruby_client/hris/types/event_type_enum.rb +2 -0
- data/lib/merge_ruby_client/ticketing/accounts/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/attachments/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +8 -6
- data/lib/merge_ruby_client/ticketing/collections/client.rb +4 -4
- data/lib/merge_ruby_client/ticketing/comments/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/contacts/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/issues/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/projects/client.rb +4 -4
- data/lib/merge_ruby_client/ticketing/roles/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/sync_status/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/tags/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/teams/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/tickets/client.rb +40 -20
- data/lib/merge_ruby_client/ticketing/types/account_details_and_actions.rb +10 -2
- data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +2 -0
- data/lib/merge_ruby_client/ticketing/types/collection.rb +18 -16
- data/lib/merge_ruby_client/ticketing/types/{access_level_enum.rb → collection_access_level_enum.rb} +3 -1
- data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +2 -0
- data/lib/merge_ruby_client/ticketing/types/patched_ticket_request.rb +28 -9
- data/lib/merge_ruby_client/ticketing/types/remote_field_class.rb +9 -1
- data/lib/merge_ruby_client/ticketing/types/ticket.rb +20 -1
- data/lib/merge_ruby_client/ticketing/types/ticket_access_level_enum.rb +16 -0
- data/lib/merge_ruby_client/ticketing/types/ticket_request.rb +20 -1
- data/lib/merge_ruby_client/ticketing/users/client.rb +2 -2
- data/lib/merge_ruby_client.rb +14 -14
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +473 -409
- metadata +69 -3
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require_relative "accounting_period"
|
|
5
|
+
|
|
6
|
+
module Merge
|
|
7
|
+
module Accounting
|
|
8
|
+
# The accounting period the report was posted in
|
|
9
|
+
class ExpenseReportRequestAccountingPeriod
|
|
10
|
+
# Deserialize a JSON object to an instance of ExpenseReportRequestAccountingPeriod
|
|
11
|
+
#
|
|
12
|
+
# @param json_object [String]
|
|
13
|
+
# @return [Merge::Accounting::ExpenseReportRequestAccountingPeriod]
|
|
14
|
+
def self.from_json(json_object:)
|
|
15
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
16
|
+
begin
|
|
17
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
|
18
|
+
return struct unless struct.nil?
|
|
19
|
+
|
|
20
|
+
return nil
|
|
21
|
+
rescue StandardError
|
|
22
|
+
# noop
|
|
23
|
+
end
|
|
24
|
+
begin
|
|
25
|
+
Merge::Accounting::AccountingPeriod.validate_raw(obj: struct)
|
|
26
|
+
return Merge::Accounting::AccountingPeriod.from_json(json_object: struct) unless struct.nil?
|
|
27
|
+
|
|
28
|
+
return nil
|
|
29
|
+
rescue StandardError
|
|
30
|
+
# noop
|
|
31
|
+
end
|
|
32
|
+
struct
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
36
|
+
# hash and check each fields type against the current object's property
|
|
37
|
+
# definitions.
|
|
38
|
+
#
|
|
39
|
+
# @param obj [Object]
|
|
40
|
+
# @return [Void]
|
|
41
|
+
def self.validate_raw(obj:)
|
|
42
|
+
begin
|
|
43
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
|
44
|
+
rescue StandardError
|
|
45
|
+
# noop
|
|
46
|
+
end
|
|
47
|
+
begin
|
|
48
|
+
return Merge::Accounting::AccountingPeriod.validate_raw(obj: obj)
|
|
49
|
+
rescue StandardError
|
|
50
|
+
# noop
|
|
51
|
+
end
|
|
52
|
+
raise("Passed value matched no type within the union, validation failed.")
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require_relative "company_info"
|
|
5
|
+
|
|
6
|
+
module Merge
|
|
7
|
+
module Accounting
|
|
8
|
+
# The subsidiary that the expense report is created in
|
|
9
|
+
class ExpenseReportRequestCompany
|
|
10
|
+
# Deserialize a JSON object to an instance of ExpenseReportRequestCompany
|
|
11
|
+
#
|
|
12
|
+
# @param json_object [String]
|
|
13
|
+
# @return [Merge::Accounting::ExpenseReportRequestCompany]
|
|
14
|
+
def self.from_json(json_object:)
|
|
15
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
16
|
+
begin
|
|
17
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
|
18
|
+
return struct unless struct.nil?
|
|
19
|
+
|
|
20
|
+
return nil
|
|
21
|
+
rescue StandardError
|
|
22
|
+
# noop
|
|
23
|
+
end
|
|
24
|
+
begin
|
|
25
|
+
Merge::Accounting::CompanyInfo.validate_raw(obj: struct)
|
|
26
|
+
return Merge::Accounting::CompanyInfo.from_json(json_object: struct) unless struct.nil?
|
|
27
|
+
|
|
28
|
+
return nil
|
|
29
|
+
rescue StandardError
|
|
30
|
+
# noop
|
|
31
|
+
end
|
|
32
|
+
struct
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
36
|
+
# hash and check each fields type against the current object's property
|
|
37
|
+
# definitions.
|
|
38
|
+
#
|
|
39
|
+
# @param obj [Object]
|
|
40
|
+
# @return [Void]
|
|
41
|
+
def self.validate_raw(obj:)
|
|
42
|
+
begin
|
|
43
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
|
44
|
+
rescue StandardError
|
|
45
|
+
# noop
|
|
46
|
+
end
|
|
47
|
+
begin
|
|
48
|
+
return Merge::Accounting::CompanyInfo.validate_raw(obj: obj)
|
|
49
|
+
rescue StandardError
|
|
50
|
+
# noop
|
|
51
|
+
end
|
|
52
|
+
raise("Passed value matched no type within the union, validation failed.")
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require_relative "employee"
|
|
5
|
+
|
|
6
|
+
module Merge
|
|
7
|
+
module Accounting
|
|
8
|
+
# Identifier for the employee who submitted or is associated with the expense
|
|
9
|
+
# report
|
|
10
|
+
class ExpenseReportRequestEmployee
|
|
11
|
+
# Deserialize a JSON object to an instance of ExpenseReportRequestEmployee
|
|
12
|
+
#
|
|
13
|
+
# @param json_object [String]
|
|
14
|
+
# @return [Merge::Accounting::ExpenseReportRequestEmployee]
|
|
15
|
+
def self.from_json(json_object:)
|
|
16
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
17
|
+
begin
|
|
18
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
|
19
|
+
return struct unless struct.nil?
|
|
20
|
+
|
|
21
|
+
return nil
|
|
22
|
+
rescue StandardError
|
|
23
|
+
# noop
|
|
24
|
+
end
|
|
25
|
+
begin
|
|
26
|
+
Merge::Accounting::Employee.validate_raw(obj: struct)
|
|
27
|
+
return Merge::Accounting::Employee.from_json(json_object: struct) unless struct.nil?
|
|
28
|
+
|
|
29
|
+
return nil
|
|
30
|
+
rescue StandardError
|
|
31
|
+
# noop
|
|
32
|
+
end
|
|
33
|
+
struct
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
37
|
+
# hash and check each fields type against the current object's property
|
|
38
|
+
# definitions.
|
|
39
|
+
#
|
|
40
|
+
# @param obj [Object]
|
|
41
|
+
# @return [Void]
|
|
42
|
+
def self.validate_raw(obj:)
|
|
43
|
+
begin
|
|
44
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
|
45
|
+
rescue StandardError
|
|
46
|
+
# noop
|
|
47
|
+
end
|
|
48
|
+
begin
|
|
49
|
+
return Merge::Accounting::Employee.validate_raw(obj: obj)
|
|
50
|
+
rescue StandardError
|
|
51
|
+
# noop
|
|
52
|
+
end
|
|
53
|
+
raise("Passed value matched no type within the union, validation failed.")
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "expense_report"
|
|
4
|
+
require_relative "warning_validation_problem"
|
|
5
|
+
require_relative "error_validation_problem"
|
|
6
|
+
require_relative "debug_mode_log"
|
|
7
|
+
require "ostruct"
|
|
8
|
+
require "json"
|
|
9
|
+
|
|
10
|
+
module Merge
|
|
11
|
+
module Accounting
|
|
12
|
+
class ExpenseReportResponse
|
|
13
|
+
# @return [Merge::Accounting::ExpenseReport]
|
|
14
|
+
attr_reader :model
|
|
15
|
+
# @return [Array<Merge::Accounting::WarningValidationProblem>]
|
|
16
|
+
attr_reader :warnings
|
|
17
|
+
# @return [Array<Merge::Accounting::ErrorValidationProblem>]
|
|
18
|
+
attr_reader :errors
|
|
19
|
+
# @return [Array<Merge::Accounting::DebugModeLog>]
|
|
20
|
+
attr_reader :logs
|
|
21
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
22
|
+
attr_reader :additional_properties
|
|
23
|
+
# @return [Object]
|
|
24
|
+
attr_reader :_field_set
|
|
25
|
+
protected :_field_set
|
|
26
|
+
|
|
27
|
+
OMIT = Object.new
|
|
28
|
+
|
|
29
|
+
# @param model [Merge::Accounting::ExpenseReport]
|
|
30
|
+
# @param warnings [Array<Merge::Accounting::WarningValidationProblem>]
|
|
31
|
+
# @param errors [Array<Merge::Accounting::ErrorValidationProblem>]
|
|
32
|
+
# @param logs [Array<Merge::Accounting::DebugModeLog>]
|
|
33
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
34
|
+
# @return [Merge::Accounting::ExpenseReportResponse]
|
|
35
|
+
def initialize(model:, warnings:, errors:, logs: OMIT, additional_properties: nil)
|
|
36
|
+
@model = model
|
|
37
|
+
@warnings = warnings
|
|
38
|
+
@errors = errors
|
|
39
|
+
@logs = logs if logs != OMIT
|
|
40
|
+
@additional_properties = additional_properties
|
|
41
|
+
@_field_set = { "model": model, "warnings": warnings, "errors": errors, "logs": logs }.reject do |_k, v|
|
|
42
|
+
v == OMIT
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Deserialize a JSON object to an instance of ExpenseReportResponse
|
|
47
|
+
#
|
|
48
|
+
# @param json_object [String]
|
|
49
|
+
# @return [Merge::Accounting::ExpenseReportResponse]
|
|
50
|
+
def self.from_json(json_object:)
|
|
51
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
52
|
+
parsed_json = JSON.parse(json_object)
|
|
53
|
+
if parsed_json["model"].nil?
|
|
54
|
+
model = nil
|
|
55
|
+
else
|
|
56
|
+
model = parsed_json["model"].to_json
|
|
57
|
+
model = Merge::Accounting::ExpenseReport.from_json(json_object: model)
|
|
58
|
+
end
|
|
59
|
+
warnings = parsed_json["warnings"]&.map do |item|
|
|
60
|
+
item = item.to_json
|
|
61
|
+
Merge::Accounting::WarningValidationProblem.from_json(json_object: item)
|
|
62
|
+
end
|
|
63
|
+
errors = parsed_json["errors"]&.map do |item|
|
|
64
|
+
item = item.to_json
|
|
65
|
+
Merge::Accounting::ErrorValidationProblem.from_json(json_object: item)
|
|
66
|
+
end
|
|
67
|
+
logs = parsed_json["logs"]&.map do |item|
|
|
68
|
+
item = item.to_json
|
|
69
|
+
Merge::Accounting::DebugModeLog.from_json(json_object: item)
|
|
70
|
+
end
|
|
71
|
+
new(
|
|
72
|
+
model: model,
|
|
73
|
+
warnings: warnings,
|
|
74
|
+
errors: errors,
|
|
75
|
+
logs: logs,
|
|
76
|
+
additional_properties: struct
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Serialize an instance of ExpenseReportResponse to a JSON object
|
|
81
|
+
#
|
|
82
|
+
# @return [String]
|
|
83
|
+
def to_json(*_args)
|
|
84
|
+
@_field_set&.to_json
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
88
|
+
# hash and check each fields type against the current object's property
|
|
89
|
+
# definitions.
|
|
90
|
+
#
|
|
91
|
+
# @param obj [Object]
|
|
92
|
+
# @return [Void]
|
|
93
|
+
def self.validate_raw(obj:)
|
|
94
|
+
Merge::Accounting::ExpenseReport.validate_raw(obj: obj.model)
|
|
95
|
+
obj.warnings.is_a?(Array) != false || raise("Passed value for field obj.warnings is not the expected type, validation failed.")
|
|
96
|
+
obj.errors.is_a?(Array) != false || raise("Passed value for field obj.errors is not the expected type, validation failed.")
|
|
97
|
+
obj.logs&.is_a?(Array) != false || raise("Passed value for field obj.logs is not the expected type, validation failed.")
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Merge
|
|
4
|
+
module Accounting
|
|
5
|
+
# * `DRAFT` - DRAFT
|
|
6
|
+
# * `SUBMITTED` - SUBMITTED
|
|
7
|
+
# * `APPROVED` - APPROVED
|
|
8
|
+
# * `REJECTED` - REJECTED
|
|
9
|
+
class ExpenseReportStatusEnum
|
|
10
|
+
DRAFT = "DRAFT"
|
|
11
|
+
SUBMITTED = "SUBMITTED"
|
|
12
|
+
APPROVED = "APPROVED"
|
|
13
|
+
REJECTED = "REJECTED"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -28,6 +28,8 @@ module Merge
|
|
|
28
28
|
# @return [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
29
29
|
attr_reader :purchase_order
|
|
30
30
|
# @return [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
31
|
+
attr_reader :expense_report
|
|
32
|
+
# @return [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
31
33
|
attr_reader :tracking_category
|
|
32
34
|
# @return [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
33
35
|
attr_reader :journal_entry
|
|
@@ -54,6 +56,8 @@ module Merge
|
|
|
54
56
|
# @return [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
55
57
|
attr_reader :payment_method
|
|
56
58
|
# @return [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
59
|
+
attr_reader :project
|
|
60
|
+
# @return [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
57
61
|
attr_reader :payment_term
|
|
58
62
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
59
63
|
attr_reader :additional_properties
|
|
@@ -73,6 +77,7 @@ module Merge
|
|
|
73
77
|
# @param credit_note [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
74
78
|
# @param item [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
75
79
|
# @param purchase_order [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
80
|
+
# @param expense_report [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
76
81
|
# @param tracking_category [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
77
82
|
# @param journal_entry [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
78
83
|
# @param tax_rate [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
@@ -86,11 +91,12 @@ module Merge
|
|
|
86
91
|
# @param bank_feed_account [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
87
92
|
# @param employee [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
88
93
|
# @param payment_method [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
94
|
+
# @param project [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
89
95
|
# @param payment_term [Array<Merge::Accounting::ExternalTargetFieldApi>]
|
|
90
96
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
91
97
|
# @return [Merge::Accounting::ExternalTargetFieldApiResponse]
|
|
92
98
|
def initialize(account: OMIT, accounting_attachment: OMIT, balance_sheet: OMIT, cash_flow_statement: OMIT,
|
|
93
|
-
company_info: OMIT, contact: OMIT, income_statement: OMIT, credit_note: OMIT, item: OMIT, purchase_order: OMIT, tracking_category: OMIT, journal_entry: OMIT, tax_rate: OMIT, invoice: OMIT, payment: OMIT, expense: OMIT, vendor_credit: OMIT, transaction: OMIT, accounting_period: OMIT, general_ledger_transaction: OMIT, bank_feed_account: OMIT, employee: OMIT, payment_method: OMIT, payment_term: OMIT, additional_properties: nil)
|
|
99
|
+
company_info: OMIT, contact: OMIT, income_statement: OMIT, credit_note: OMIT, item: OMIT, purchase_order: OMIT, expense_report: OMIT, tracking_category: OMIT, journal_entry: OMIT, tax_rate: OMIT, invoice: OMIT, payment: OMIT, expense: OMIT, vendor_credit: OMIT, transaction: OMIT, accounting_period: OMIT, general_ledger_transaction: OMIT, bank_feed_account: OMIT, employee: OMIT, payment_method: OMIT, project: OMIT, payment_term: OMIT, additional_properties: nil)
|
|
94
100
|
@account = account if account != OMIT
|
|
95
101
|
@accounting_attachment = accounting_attachment if accounting_attachment != OMIT
|
|
96
102
|
@balance_sheet = balance_sheet if balance_sheet != OMIT
|
|
@@ -101,6 +107,7 @@ module Merge
|
|
|
101
107
|
@credit_note = credit_note if credit_note != OMIT
|
|
102
108
|
@item = item if item != OMIT
|
|
103
109
|
@purchase_order = purchase_order if purchase_order != OMIT
|
|
110
|
+
@expense_report = expense_report if expense_report != OMIT
|
|
104
111
|
@tracking_category = tracking_category if tracking_category != OMIT
|
|
105
112
|
@journal_entry = journal_entry if journal_entry != OMIT
|
|
106
113
|
@tax_rate = tax_rate if tax_rate != OMIT
|
|
@@ -114,6 +121,7 @@ module Merge
|
|
|
114
121
|
@bank_feed_account = bank_feed_account if bank_feed_account != OMIT
|
|
115
122
|
@employee = employee if employee != OMIT
|
|
116
123
|
@payment_method = payment_method if payment_method != OMIT
|
|
124
|
+
@project = project if project != OMIT
|
|
117
125
|
@payment_term = payment_term if payment_term != OMIT
|
|
118
126
|
@additional_properties = additional_properties
|
|
119
127
|
@_field_set = {
|
|
@@ -127,6 +135,7 @@ module Merge
|
|
|
127
135
|
"CreditNote": credit_note,
|
|
128
136
|
"Item": item,
|
|
129
137
|
"PurchaseOrder": purchase_order,
|
|
138
|
+
"ExpenseReport": expense_report,
|
|
130
139
|
"TrackingCategory": tracking_category,
|
|
131
140
|
"JournalEntry": journal_entry,
|
|
132
141
|
"TaxRate": tax_rate,
|
|
@@ -140,6 +149,7 @@ module Merge
|
|
|
140
149
|
"BankFeedAccount": bank_feed_account,
|
|
141
150
|
"Employee": employee,
|
|
142
151
|
"PaymentMethod": payment_method,
|
|
152
|
+
"Project": project,
|
|
143
153
|
"PaymentTerm": payment_term
|
|
144
154
|
}.reject do |_k, v|
|
|
145
155
|
v == OMIT
|
|
@@ -193,6 +203,10 @@ module Merge
|
|
|
193
203
|
item = item.to_json
|
|
194
204
|
Merge::Accounting::ExternalTargetFieldApi.from_json(json_object: item)
|
|
195
205
|
end
|
|
206
|
+
expense_report = parsed_json["ExpenseReport"]&.map do |item|
|
|
207
|
+
item = item.to_json
|
|
208
|
+
Merge::Accounting::ExternalTargetFieldApi.from_json(json_object: item)
|
|
209
|
+
end
|
|
196
210
|
tracking_category = parsed_json["TrackingCategory"]&.map do |item|
|
|
197
211
|
item = item.to_json
|
|
198
212
|
Merge::Accounting::ExternalTargetFieldApi.from_json(json_object: item)
|
|
@@ -245,6 +259,10 @@ module Merge
|
|
|
245
259
|
item = item.to_json
|
|
246
260
|
Merge::Accounting::ExternalTargetFieldApi.from_json(json_object: item)
|
|
247
261
|
end
|
|
262
|
+
project = parsed_json["Project"]&.map do |item|
|
|
263
|
+
item = item.to_json
|
|
264
|
+
Merge::Accounting::ExternalTargetFieldApi.from_json(json_object: item)
|
|
265
|
+
end
|
|
248
266
|
payment_term = parsed_json["PaymentTerm"]&.map do |item|
|
|
249
267
|
item = item.to_json
|
|
250
268
|
Merge::Accounting::ExternalTargetFieldApi.from_json(json_object: item)
|
|
@@ -260,6 +278,7 @@ module Merge
|
|
|
260
278
|
credit_note: credit_note,
|
|
261
279
|
item: item,
|
|
262
280
|
purchase_order: purchase_order,
|
|
281
|
+
expense_report: expense_report,
|
|
263
282
|
tracking_category: tracking_category,
|
|
264
283
|
journal_entry: journal_entry,
|
|
265
284
|
tax_rate: tax_rate,
|
|
@@ -273,6 +292,7 @@ module Merge
|
|
|
273
292
|
bank_feed_account: bank_feed_account,
|
|
274
293
|
employee: employee,
|
|
275
294
|
payment_method: payment_method,
|
|
295
|
+
project: project,
|
|
276
296
|
payment_term: payment_term,
|
|
277
297
|
additional_properties: struct
|
|
278
298
|
)
|
|
@@ -302,6 +322,7 @@ module Merge
|
|
|
302
322
|
obj.credit_note&.is_a?(Array) != false || raise("Passed value for field obj.credit_note is not the expected type, validation failed.")
|
|
303
323
|
obj.item&.is_a?(Array) != false || raise("Passed value for field obj.item is not the expected type, validation failed.")
|
|
304
324
|
obj.purchase_order&.is_a?(Array) != false || raise("Passed value for field obj.purchase_order is not the expected type, validation failed.")
|
|
325
|
+
obj.expense_report&.is_a?(Array) != false || raise("Passed value for field obj.expense_report is not the expected type, validation failed.")
|
|
305
326
|
obj.tracking_category&.is_a?(Array) != false || raise("Passed value for field obj.tracking_category is not the expected type, validation failed.")
|
|
306
327
|
obj.journal_entry&.is_a?(Array) != false || raise("Passed value for field obj.journal_entry is not the expected type, validation failed.")
|
|
307
328
|
obj.tax_rate&.is_a?(Array) != false || raise("Passed value for field obj.tax_rate is not the expected type, validation failed.")
|
|
@@ -315,6 +336,7 @@ module Merge
|
|
|
315
336
|
obj.bank_feed_account&.is_a?(Array) != false || raise("Passed value for field obj.bank_feed_account is not the expected type, validation failed.")
|
|
316
337
|
obj.employee&.is_a?(Array) != false || raise("Passed value for field obj.employee is not the expected type, validation failed.")
|
|
317
338
|
obj.payment_method&.is_a?(Array) != false || raise("Passed value for field obj.payment_method is not the expected type, validation failed.")
|
|
339
|
+
obj.project&.is_a?(Array) != false || raise("Passed value for field obj.project is not the expected type, validation failed.")
|
|
318
340
|
obj.payment_term&.is_a?(Array) != false || raise("Passed value for field obj.payment_term is not the expected type, validation failed.")
|
|
319
341
|
end
|
|
320
342
|
end
|
|
@@ -28,6 +28,8 @@ module Merge
|
|
|
28
28
|
# @return [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
29
29
|
attr_reader :purchase_order
|
|
30
30
|
# @return [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
31
|
+
attr_reader :expense_report
|
|
32
|
+
# @return [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
31
33
|
attr_reader :tracking_category
|
|
32
34
|
# @return [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
33
35
|
attr_reader :journal_entry
|
|
@@ -54,6 +56,8 @@ module Merge
|
|
|
54
56
|
# @return [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
55
57
|
attr_reader :payment_method
|
|
56
58
|
# @return [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
59
|
+
attr_reader :project
|
|
60
|
+
# @return [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
57
61
|
attr_reader :payment_term
|
|
58
62
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
59
63
|
attr_reader :additional_properties
|
|
@@ -73,6 +77,7 @@ module Merge
|
|
|
73
77
|
# @param credit_note [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
74
78
|
# @param item [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
75
79
|
# @param purchase_order [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
80
|
+
# @param expense_report [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
76
81
|
# @param tracking_category [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
77
82
|
# @param journal_entry [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
78
83
|
# @param tax_rate [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
@@ -86,11 +91,12 @@ module Merge
|
|
|
86
91
|
# @param bank_feed_account [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
87
92
|
# @param employee [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
88
93
|
# @param payment_method [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
94
|
+
# @param project [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
89
95
|
# @param payment_term [Array<Merge::Accounting::FieldMappingApiInstance>]
|
|
90
96
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
91
97
|
# @return [Merge::Accounting::FieldMappingApiInstanceResponse]
|
|
92
98
|
def initialize(account: OMIT, accounting_attachment: OMIT, balance_sheet: OMIT, cash_flow_statement: OMIT,
|
|
93
|
-
company_info: OMIT, contact: OMIT, income_statement: OMIT, credit_note: OMIT, item: OMIT, purchase_order: OMIT, tracking_category: OMIT, journal_entry: OMIT, tax_rate: OMIT, invoice: OMIT, payment: OMIT, expense: OMIT, vendor_credit: OMIT, transaction: OMIT, accounting_period: OMIT, general_ledger_transaction: OMIT, bank_feed_account: OMIT, employee: OMIT, payment_method: OMIT, payment_term: OMIT, additional_properties: nil)
|
|
99
|
+
company_info: OMIT, contact: OMIT, income_statement: OMIT, credit_note: OMIT, item: OMIT, purchase_order: OMIT, expense_report: OMIT, tracking_category: OMIT, journal_entry: OMIT, tax_rate: OMIT, invoice: OMIT, payment: OMIT, expense: OMIT, vendor_credit: OMIT, transaction: OMIT, accounting_period: OMIT, general_ledger_transaction: OMIT, bank_feed_account: OMIT, employee: OMIT, payment_method: OMIT, project: OMIT, payment_term: OMIT, additional_properties: nil)
|
|
94
100
|
@account = account if account != OMIT
|
|
95
101
|
@accounting_attachment = accounting_attachment if accounting_attachment != OMIT
|
|
96
102
|
@balance_sheet = balance_sheet if balance_sheet != OMIT
|
|
@@ -101,6 +107,7 @@ module Merge
|
|
|
101
107
|
@credit_note = credit_note if credit_note != OMIT
|
|
102
108
|
@item = item if item != OMIT
|
|
103
109
|
@purchase_order = purchase_order if purchase_order != OMIT
|
|
110
|
+
@expense_report = expense_report if expense_report != OMIT
|
|
104
111
|
@tracking_category = tracking_category if tracking_category != OMIT
|
|
105
112
|
@journal_entry = journal_entry if journal_entry != OMIT
|
|
106
113
|
@tax_rate = tax_rate if tax_rate != OMIT
|
|
@@ -114,6 +121,7 @@ module Merge
|
|
|
114
121
|
@bank_feed_account = bank_feed_account if bank_feed_account != OMIT
|
|
115
122
|
@employee = employee if employee != OMIT
|
|
116
123
|
@payment_method = payment_method if payment_method != OMIT
|
|
124
|
+
@project = project if project != OMIT
|
|
117
125
|
@payment_term = payment_term if payment_term != OMIT
|
|
118
126
|
@additional_properties = additional_properties
|
|
119
127
|
@_field_set = {
|
|
@@ -127,6 +135,7 @@ module Merge
|
|
|
127
135
|
"CreditNote": credit_note,
|
|
128
136
|
"Item": item,
|
|
129
137
|
"PurchaseOrder": purchase_order,
|
|
138
|
+
"ExpenseReport": expense_report,
|
|
130
139
|
"TrackingCategory": tracking_category,
|
|
131
140
|
"JournalEntry": journal_entry,
|
|
132
141
|
"TaxRate": tax_rate,
|
|
@@ -140,6 +149,7 @@ module Merge
|
|
|
140
149
|
"BankFeedAccount": bank_feed_account,
|
|
141
150
|
"Employee": employee,
|
|
142
151
|
"PaymentMethod": payment_method,
|
|
152
|
+
"Project": project,
|
|
143
153
|
"PaymentTerm": payment_term
|
|
144
154
|
}.reject do |_k, v|
|
|
145
155
|
v == OMIT
|
|
@@ -193,6 +203,10 @@ module Merge
|
|
|
193
203
|
item = item.to_json
|
|
194
204
|
Merge::Accounting::FieldMappingApiInstance.from_json(json_object: item)
|
|
195
205
|
end
|
|
206
|
+
expense_report = parsed_json["ExpenseReport"]&.map do |item|
|
|
207
|
+
item = item.to_json
|
|
208
|
+
Merge::Accounting::FieldMappingApiInstance.from_json(json_object: item)
|
|
209
|
+
end
|
|
196
210
|
tracking_category = parsed_json["TrackingCategory"]&.map do |item|
|
|
197
211
|
item = item.to_json
|
|
198
212
|
Merge::Accounting::FieldMappingApiInstance.from_json(json_object: item)
|
|
@@ -245,6 +259,10 @@ module Merge
|
|
|
245
259
|
item = item.to_json
|
|
246
260
|
Merge::Accounting::FieldMappingApiInstance.from_json(json_object: item)
|
|
247
261
|
end
|
|
262
|
+
project = parsed_json["Project"]&.map do |item|
|
|
263
|
+
item = item.to_json
|
|
264
|
+
Merge::Accounting::FieldMappingApiInstance.from_json(json_object: item)
|
|
265
|
+
end
|
|
248
266
|
payment_term = parsed_json["PaymentTerm"]&.map do |item|
|
|
249
267
|
item = item.to_json
|
|
250
268
|
Merge::Accounting::FieldMappingApiInstance.from_json(json_object: item)
|
|
@@ -260,6 +278,7 @@ module Merge
|
|
|
260
278
|
credit_note: credit_note,
|
|
261
279
|
item: item,
|
|
262
280
|
purchase_order: purchase_order,
|
|
281
|
+
expense_report: expense_report,
|
|
263
282
|
tracking_category: tracking_category,
|
|
264
283
|
journal_entry: journal_entry,
|
|
265
284
|
tax_rate: tax_rate,
|
|
@@ -273,6 +292,7 @@ module Merge
|
|
|
273
292
|
bank_feed_account: bank_feed_account,
|
|
274
293
|
employee: employee,
|
|
275
294
|
payment_method: payment_method,
|
|
295
|
+
project: project,
|
|
276
296
|
payment_term: payment_term,
|
|
277
297
|
additional_properties: struct
|
|
278
298
|
)
|
|
@@ -302,6 +322,7 @@ module Merge
|
|
|
302
322
|
obj.credit_note&.is_a?(Array) != false || raise("Passed value for field obj.credit_note is not the expected type, validation failed.")
|
|
303
323
|
obj.item&.is_a?(Array) != false || raise("Passed value for field obj.item is not the expected type, validation failed.")
|
|
304
324
|
obj.purchase_order&.is_a?(Array) != false || raise("Passed value for field obj.purchase_order is not the expected type, validation failed.")
|
|
325
|
+
obj.expense_report&.is_a?(Array) != false || raise("Passed value for field obj.expense_report is not the expected type, validation failed.")
|
|
305
326
|
obj.tracking_category&.is_a?(Array) != false || raise("Passed value for field obj.tracking_category is not the expected type, validation failed.")
|
|
306
327
|
obj.journal_entry&.is_a?(Array) != false || raise("Passed value for field obj.journal_entry is not the expected type, validation failed.")
|
|
307
328
|
obj.tax_rate&.is_a?(Array) != false || raise("Passed value for field obj.tax_rate is not the expected type, validation failed.")
|
|
@@ -315,6 +336,7 @@ module Merge
|
|
|
315
336
|
obj.bank_feed_account&.is_a?(Array) != false || raise("Passed value for field obj.bank_feed_account is not the expected type, validation failed.")
|
|
316
337
|
obj.employee&.is_a?(Array) != false || raise("Passed value for field obj.employee is not the expected type, validation failed.")
|
|
317
338
|
obj.payment_method&.is_a?(Array) != false || raise("Passed value for field obj.payment_method is not the expected type, validation failed.")
|
|
339
|
+
obj.project&.is_a?(Array) != false || raise("Passed value for field obj.project is not the expected type, validation failed.")
|
|
318
340
|
obj.payment_term&.is_a?(Array) != false || raise("Passed value for field obj.payment_term is not the expected type, validation failed.")
|
|
319
341
|
end
|
|
320
342
|
end
|
|
@@ -5,6 +5,7 @@ require_relative "general_ledger_transaction_line_account"
|
|
|
5
5
|
require_relative "general_ledger_transaction_line_company"
|
|
6
6
|
require_relative "general_ledger_transaction_line_employee"
|
|
7
7
|
require_relative "general_ledger_transaction_line_contact"
|
|
8
|
+
require_relative "general_ledger_transaction_line_project"
|
|
8
9
|
require_relative "transaction_currency_enum"
|
|
9
10
|
require_relative "general_ledger_transaction_line_tracking_categories_item"
|
|
10
11
|
require_relative "general_ledger_transaction_line_item"
|
|
@@ -37,6 +38,8 @@ module Merge
|
|
|
37
38
|
attr_reader :employee
|
|
38
39
|
# @return [Merge::Accounting::GeneralLedgerTransactionLineContact]
|
|
39
40
|
attr_reader :contact
|
|
41
|
+
# @return [Merge::Accounting::GeneralLedgerTransactionLineProject]
|
|
42
|
+
attr_reader :project
|
|
40
43
|
# @return [Merge::Accounting::TransactionCurrencyEnum] The base currency of the transaction
|
|
41
44
|
# * `XUA` - ADB Unit of Account
|
|
42
45
|
# * `AFN` - Afghan Afghani
|
|
@@ -692,6 +695,7 @@ module Merge
|
|
|
692
695
|
# @param company [Merge::Accounting::GeneralLedgerTransactionLineCompany] The company the GeneralLedgerTransaction belongs to.
|
|
693
696
|
# @param employee [Merge::Accounting::GeneralLedgerTransactionLineEmployee]
|
|
694
697
|
# @param contact [Merge::Accounting::GeneralLedgerTransactionLineContact]
|
|
698
|
+
# @param project [Merge::Accounting::GeneralLedgerTransactionLineProject]
|
|
695
699
|
# @param base_currency [Merge::Accounting::TransactionCurrencyEnum] The base currency of the transaction
|
|
696
700
|
# * `XUA` - ADB Unit of Account
|
|
697
701
|
# * `AFN` - Afghan Afghani
|
|
@@ -1322,7 +1326,7 @@ module Merge
|
|
|
1322
1326
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
1323
1327
|
# @return [Merge::Accounting::GeneralLedgerTransactionLine]
|
|
1324
1328
|
def initialize(debit_amount:, credit_amount:, foreign_debit_amount:, foreign_credit_amount:, id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, account: OMIT, company: OMIT,
|
|
1325
|
-
employee: OMIT, contact: OMIT, base_currency: OMIT, transaction_currency: OMIT, exchange_rate: OMIT, description: OMIT, tracking_categories: OMIT, item: OMIT, remote_was_deleted: OMIT, field_mappings: OMIT, additional_properties: nil)
|
|
1329
|
+
employee: OMIT, contact: OMIT, project: OMIT, base_currency: OMIT, transaction_currency: OMIT, exchange_rate: OMIT, description: OMIT, tracking_categories: OMIT, item: OMIT, remote_was_deleted: OMIT, field_mappings: OMIT, additional_properties: nil)
|
|
1326
1330
|
@id = id if id != OMIT
|
|
1327
1331
|
@remote_id = remote_id if remote_id != OMIT
|
|
1328
1332
|
@created_at = created_at if created_at != OMIT
|
|
@@ -1331,6 +1335,7 @@ module Merge
|
|
|
1331
1335
|
@company = company if company != OMIT
|
|
1332
1336
|
@employee = employee if employee != OMIT
|
|
1333
1337
|
@contact = contact if contact != OMIT
|
|
1338
|
+
@project = project if project != OMIT
|
|
1334
1339
|
@base_currency = base_currency if base_currency != OMIT
|
|
1335
1340
|
@transaction_currency = transaction_currency if transaction_currency != OMIT
|
|
1336
1341
|
@exchange_rate = exchange_rate if exchange_rate != OMIT
|
|
@@ -1353,6 +1358,7 @@ module Merge
|
|
|
1353
1358
|
"company": company,
|
|
1354
1359
|
"employee": employee,
|
|
1355
1360
|
"contact": contact,
|
|
1361
|
+
"project": project,
|
|
1356
1362
|
"base_currency": base_currency,
|
|
1357
1363
|
"transaction_currency": transaction_currency,
|
|
1358
1364
|
"exchange_rate": exchange_rate,
|
|
@@ -1405,6 +1411,12 @@ module Merge
|
|
|
1405
1411
|
contact = parsed_json["contact"].to_json
|
|
1406
1412
|
contact = Merge::Accounting::GeneralLedgerTransactionLineContact.from_json(json_object: contact)
|
|
1407
1413
|
end
|
|
1414
|
+
if parsed_json["project"].nil?
|
|
1415
|
+
project = nil
|
|
1416
|
+
else
|
|
1417
|
+
project = parsed_json["project"].to_json
|
|
1418
|
+
project = Merge::Accounting::GeneralLedgerTransactionLineProject.from_json(json_object: project)
|
|
1419
|
+
end
|
|
1408
1420
|
base_currency = parsed_json["base_currency"]
|
|
1409
1421
|
transaction_currency = parsed_json["transaction_currency"]
|
|
1410
1422
|
exchange_rate = parsed_json["exchange_rate"]
|
|
@@ -1434,6 +1446,7 @@ module Merge
|
|
|
1434
1446
|
company: company,
|
|
1435
1447
|
employee: employee,
|
|
1436
1448
|
contact: contact,
|
|
1449
|
+
project: project,
|
|
1437
1450
|
base_currency: base_currency,
|
|
1438
1451
|
transaction_currency: transaction_currency,
|
|
1439
1452
|
exchange_rate: exchange_rate,
|
|
@@ -1472,6 +1485,7 @@ module Merge
|
|
|
1472
1485
|
obj.company.nil? || Merge::Accounting::GeneralLedgerTransactionLineCompany.validate_raw(obj: obj.company)
|
|
1473
1486
|
obj.employee.nil? || Merge::Accounting::GeneralLedgerTransactionLineEmployee.validate_raw(obj: obj.employee)
|
|
1474
1487
|
obj.contact.nil? || Merge::Accounting::GeneralLedgerTransactionLineContact.validate_raw(obj: obj.contact)
|
|
1488
|
+
obj.project.nil? || Merge::Accounting::GeneralLedgerTransactionLineProject.validate_raw(obj: obj.project)
|
|
1475
1489
|
obj.base_currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.base_currency is not the expected type, validation failed.")
|
|
1476
1490
|
obj.transaction_currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.transaction_currency is not the expected type, validation failed.")
|
|
1477
1491
|
obj.exchange_rate&.is_a?(String) != false || raise("Passed value for field obj.exchange_rate is not the expected type, validation failed.")
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require_relative "project"
|
|
5
|
+
|
|
6
|
+
module Merge
|
|
7
|
+
module Accounting
|
|
8
|
+
class GeneralLedgerTransactionLineProject
|
|
9
|
+
# Deserialize a JSON object to an instance of GeneralLedgerTransactionLineProject
|
|
10
|
+
#
|
|
11
|
+
# @param json_object [String]
|
|
12
|
+
# @return [Merge::Accounting::GeneralLedgerTransactionLineProject]
|
|
13
|
+
def self.from_json(json_object:)
|
|
14
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
15
|
+
begin
|
|
16
|
+
struct.is_a?(String) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
|
17
|
+
return struct unless struct.nil?
|
|
18
|
+
|
|
19
|
+
return nil
|
|
20
|
+
rescue StandardError
|
|
21
|
+
# noop
|
|
22
|
+
end
|
|
23
|
+
begin
|
|
24
|
+
Merge::Accounting::Project.validate_raw(obj: struct)
|
|
25
|
+
return Merge::Accounting::Project.from_json(json_object: struct) unless struct.nil?
|
|
26
|
+
|
|
27
|
+
return nil
|
|
28
|
+
rescue StandardError
|
|
29
|
+
# noop
|
|
30
|
+
end
|
|
31
|
+
struct
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
35
|
+
# hash and check each fields type against the current object's property
|
|
36
|
+
# definitions.
|
|
37
|
+
#
|
|
38
|
+
# @param obj [Object]
|
|
39
|
+
# @return [Void]
|
|
40
|
+
def self.validate_raw(obj:)
|
|
41
|
+
begin
|
|
42
|
+
return obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
|
43
|
+
rescue StandardError
|
|
44
|
+
# noop
|
|
45
|
+
end
|
|
46
|
+
begin
|
|
47
|
+
return Merge::Accounting::Project.validate_raw(obj: obj)
|
|
48
|
+
rescue StandardError
|
|
49
|
+
# noop
|
|
50
|
+
end
|
|
51
|
+
raise("Passed value matched no type within the union, validation failed.")
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|