merge_ruby_client 0.1.4 → 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 +4 -4
- data/lib/merge_ruby_client/accounting/accounting_periods/client.rb +18 -4
- data/lib/merge_ruby_client/accounting/accounts/client.rb +26 -8
- data/lib/merge_ruby_client/accounting/async_passthrough/client.rb +5 -5
- data/lib/merge_ruby_client/accounting/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
- data/lib/merge_ruby_client/accounting/async_tasks/client.rb +99 -0
- data/lib/merge_ruby_client/accounting/attachments/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/audit_trail/client.rb +12 -4
- data/lib/merge_ruby_client/accounting/balance_sheets/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/bank_feed_accounts/client.rb +369 -0
- data/lib/merge_ruby_client/accounting/bank_feed_transactions/client.rb +408 -0
- data/lib/merge_ruby_client/accounting/cash_flow_statements/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/client.rb +35 -0
- data/lib/merge_ruby_client/accounting/company_info/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/contacts/client.rb +149 -10
- data/lib/merge_ruby_client/accounting/credit_notes/client.rb +193 -4
- data/lib/merge_ruby_client/accounting/employees/client.rb +216 -0
- data/lib/merge_ruby_client/accounting/expenses/client.rb +249 -10
- data/lib/merge_ruby_client/accounting/expenses/types/expenses_list_request_expand.rb +32 -0
- data/lib/merge_ruby_client/accounting/expenses/types/expenses_retrieve_request_expand.rb +32 -0
- data/lib/merge_ruby_client/accounting/field_mapping/client.rb +36 -16
- data/lib/merge_ruby_client/accounting/force_resync/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/general_ledger_transactions/client.rb +253 -0
- data/lib/merge_ruby_client/accounting/general_ledger_transactions/types/general_ledger_transactions_list_request_expand.rb +25 -0
- data/lib/merge_ruby_client/accounting/general_ledger_transactions/types/general_ledger_transactions_retrieve_request_expand.rb +25 -0
- data/lib/merge_ruby_client/accounting/income_statements/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/invoices/client.rb +284 -14
- data/lib/merge_ruby_client/accounting/invoices/types/invoices_list_request_expand.rb +1792 -0
- data/lib/merge_ruby_client/accounting/invoices/types/invoices_list_request_status.rb +16 -0
- data/lib/merge_ruby_client/accounting/invoices/types/invoices_retrieve_request_expand.rb +1792 -0
- data/lib/merge_ruby_client/accounting/issues/client.rb +10 -4
- data/lib/merge_ruby_client/accounting/items/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/items/types/items_list_request_expand.rb +24 -0
- data/lib/merge_ruby_client/accounting/items/types/items_retrieve_request_expand.rb +24 -0
- data/lib/merge_ruby_client/accounting/journal_entries/client.rb +247 -10
- data/lib/merge_ruby_client/accounting/link_token/client.rb +25 -4
- data/lib/merge_ruby_client/accounting/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/payments/client.rb +249 -12
- data/lib/merge_ruby_client/accounting/purchase_orders/client.rb +247 -10
- data/lib/merge_ruby_client/accounting/scopes/client.rb +12 -12
- data/lib/merge_ruby_client/accounting/tax_rates/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/tracking_categories/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/transactions/client.rb +16 -4
- data/lib/merge_ruby_client/accounting/types/account.rb +48 -7
- data/lib/merge_ruby_client/accounting/types/account_account_type_enum.rb +34 -0
- data/lib/merge_ruby_client/accounting/types/account_details.rb +11 -2
- data/lib/merge_ruby_client/accounting/types/account_details_and_actions.rb +11 -2
- data/lib/merge_ruby_client/accounting/types/account_details_and_actions_status_enum.rb +2 -0
- data/lib/merge_ruby_client/accounting/types/account_integration.rb +20 -8
- data/lib/merge_ruby_client/accounting/types/account_request.rb +42 -5
- data/lib/merge_ruby_client/accounting/types/accounting_attachment.rb +6 -2
- data/lib/merge_ruby_client/accounting/types/accounting_period.rb +47 -19
- data/lib/merge_ruby_client/accounting/types/async_post_task.rb +74 -0
- data/lib/merge_ruby_client/accounting/types/async_post_task_result.rb +69 -0
- data/lib/merge_ruby_client/accounting/types/async_post_task_status_enum.rb +16 -0
- data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +14 -0
- data/lib/merge_ruby_client/accounting/types/balance_sheet.rb +10 -6
- data/lib/merge_ruby_client/accounting/types/bank_feed_account.rb +834 -0
- data/lib/merge_ruby_client/accounting/types/bank_feed_account_account_type_enum.rb +12 -0
- data/lib/merge_ruby_client/accounting/types/bank_feed_account_request.rb +788 -0
- data/lib/merge_ruby_client/accounting/types/bank_feed_account_response.rb +101 -0
- data/lib/merge_ruby_client/accounting/types/bank_feed_transaction.rb +209 -0
- data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_bank_feed_account.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_request_request.rb +167 -0
- data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_request_request_bank_feed_account.rb +57 -0
- data/lib/merge_ruby_client/accounting/types/bank_feed_transaction_response.rb +101 -0
- data/lib/merge_ruby_client/accounting/types/cash_flow_statement.rb +10 -6
- data/lib/merge_ruby_client/accounting/types/company_info.rb +10 -6
- data/lib/merge_ruby_client/accounting/types/component_type_enum.rb +12 -0
- data/lib/merge_ruby_client/accounting/types/contact.rb +20 -4
- data/lib/merge_ruby_client/accounting/types/contact_request.rb +14 -2
- data/lib/merge_ruby_client/accounting/types/credit_note.rb +43 -15
- data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note.rb +132 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_invoice.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_request.rb +120 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_credit_note_request_invoice.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_invoice.rb +132 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_apply_line_for_invoice_credit_note.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +23 -6
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request.rb +194 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item_request_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_request.rb +875 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_request_accounting_period.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_request_applied_payments_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_request_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_request_contact.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_request_line_items_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_request_payments_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_request_tracking_categories_item.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/credit_note_response.rb +101 -0
- data/lib/merge_ruby_client/accounting/types/credit_or_debit_enum.rb +12 -0
- data/lib/merge_ruby_client/accounting/types/employee.rb +199 -0
- data/lib/merge_ruby_client/accounting/types/employee_company.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +11 -0
- data/lib/merge_ruby_client/accounting/types/expense.rb +48 -8
- data/lib/merge_ruby_client/accounting/types/expense_employee.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/expense_line.rb +37 -11
- data/lib/merge_ruby_client/accounting/types/expense_line_employee.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/expense_line_request.rb +44 -10
- data/lib/merge_ruby_client/accounting/types/expense_line_request_employee.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/expense_request.rb +42 -6
- data/lib/merge_ruby_client/accounting/types/expense_request_employee.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/external_target_field_api_response.rb +35 -2
- data/lib/merge_ruby_client/accounting/types/{accounting_period_status_enum.rb → feed_status_enum.rb} +1 -1
- data/lib/merge_ruby_client/accounting/types/field_format_enum.rb +20 -0
- data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_remote_field.rb +8 -6
- data/lib/merge_ruby_client/accounting/types/field_mapping_api_instance_response.rb +35 -2
- data/lib/merge_ruby_client/accounting/types/field_permission_deserializer.rb +14 -14
- data/lib/merge_ruby_client/accounting/types/field_permission_deserializer_request.rb +14 -14
- data/lib/merge_ruby_client/accounting/types/field_type_enum.rb +20 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction.rb +248 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_accounting_period.rb +57 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_general_ledger_transaction_lines_item.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line.rb +1490 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_account.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_contact.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_employee.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_line_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/general_ledger_transaction_tracking_categories_item.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/income_statement.rb +10 -6
- data/lib/merge_ruby_client/accounting/types/invoice.rb +101 -33
- data/lib/merge_ruby_client/accounting/types/invoice_applied_credit_notes_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/invoice_applied_vendor_credits_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/invoice_employee.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +50 -12
- data/lib/merge_ruby_client/accounting/types/invoice_line_item_employee.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/invoice_line_item_request.rb +44 -10
- data/lib/merge_ruby_client/accounting/types/invoice_line_item_request_employee.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/invoice_request.rb +46 -10
- data/lib/merge_ruby_client/accounting/types/invoice_request_employee.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/item.rb +35 -3
- data/lib/merge_ruby_client/accounting/types/item_format_enum.rb +20 -0
- data/lib/merge_ruby_client/accounting/types/item_purchase_tax_rate.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/item_sales_tax_rate.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/item_schema.rb +82 -0
- data/lib/merge_ruby_client/accounting/types/item_type_enum.rb +20 -0
- data/lib/merge_ruby_client/accounting/types/journal_entry.rb +56 -28
- data/lib/merge_ruby_client/accounting/types/journal_entry_request.rb +28 -6
- data/lib/merge_ruby_client/accounting/types/journal_line.rb +42 -10
- data/lib/merge_ruby_client/accounting/types/journal_line_request.rb +36 -8
- data/lib/merge_ruby_client/accounting/types/language_enum.rb +12 -0
- data/lib/merge_ruby_client/accounting/types/paginated_bank_feed_account_list.rb +80 -0
- data/lib/merge_ruby_client/accounting/types/paginated_bank_feed_transaction_list.rb +80 -0
- data/lib/merge_ruby_client/accounting/types/paginated_employee_list.rb +80 -0
- data/lib/merge_ruby_client/accounting/types/paginated_general_ledger_transaction_list.rb +81 -0
- data/lib/merge_ruby_client/accounting/types/paginated_remote_field_class_list.rb +80 -0
- data/lib/merge_ruby_client/accounting/types/patched_payment_request.rb +18 -6
- data/lib/merge_ruby_client/accounting/types/patched_payment_request_applied_to_lines_item.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/payment.rb +42 -26
- data/lib/merge_ruby_client/accounting/types/payment_line_item_request.rb +14 -2
- data/lib/merge_ruby_client/accounting/types/payment_request.rb +18 -6
- data/lib/merge_ruby_client/accounting/types/purchase_order.rb +48 -22
- data/lib/merge_ruby_client/accounting/types/purchase_order_line_item.rb +35 -11
- data/lib/merge_ruby_client/accounting/types/purchase_order_line_item_request.rb +29 -9
- data/lib/merge_ruby_client/accounting/types/purchase_order_request.rb +28 -6
- data/lib/merge_ruby_client/accounting/types/remote_data.rb +8 -2
- data/lib/merge_ruby_client/accounting/types/remote_field.rb +75 -0
- data/lib/merge_ruby_client/accounting/types/remote_field_api.rb +3 -3
- data/lib/merge_ruby_client/accounting/types/remote_field_api_response.rb +35 -2
- data/lib/merge_ruby_client/accounting/types/remote_field_class.rb +145 -0
- data/lib/merge_ruby_client/accounting/types/remote_field_request.rb +75 -0
- data/lib/merge_ruby_client/accounting/types/remote_field_request_remote_field_class.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/report_item.rb +16 -2
- data/lib/merge_ruby_client/accounting/types/status_895_enum.rb +12 -0
- data/lib/merge_ruby_client/accounting/types/tax_component.rb +150 -0
- data/lib/merge_ruby_client/accounting/types/tax_rate.rb +73 -16
- data/lib/merge_ruby_client/accounting/types/tax_rate_tax_components_item.rb +55 -0
- data/lib/merge_ruby_client/accounting/types/tracking_category.rb +12 -20
- data/lib/merge_ruby_client/accounting/types/tracking_category_company.rb +1 -1
- data/lib/merge_ruby_client/accounting/types/transaction.rb +21 -7
- data/lib/merge_ruby_client/accounting/types/{currency_enum.rb → transaction_currency_enum.rb} +1 -1
- data/lib/merge_ruby_client/accounting/types/transaction_line_item.rb +18 -14
- data/lib/merge_ruby_client/accounting/types/underlying_transaction_type_enum.rb +22 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit.rb +35 -9
- data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_invoice.rb +132 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_invoice_vendor_credit.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit.rb +132 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_invoice.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_request.rb +120 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_apply_line_for_vendor_credit_request_invoice.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +20 -8
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request.rb +157 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line_request_account.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_request.rb +813 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_request_accounting_period.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_request_company.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_request_tracking_categories_item.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_request_vendor.rb +56 -0
- data/lib/merge_ruby_client/accounting/types/vendor_credit_response.rb +101 -0
- data/lib/merge_ruby_client/accounting/vendor_credits/client.rb +183 -4
- data/lib/merge_ruby_client/ats/activities/client.rb +16 -4
- data/lib/merge_ruby_client/ats/applications/client.rb +28 -4
- data/lib/merge_ruby_client/ats/async_passthrough/client.rb +5 -5
- data/lib/merge_ruby_client/ats/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
- data/lib/merge_ruby_client/ats/attachments/client.rb +16 -4
- data/lib/merge_ruby_client/ats/audit_trail/client.rb +8 -2
- data/lib/merge_ruby_client/ats/candidates/client.rb +16 -4
- data/lib/merge_ruby_client/ats/departments/client.rb +16 -4
- data/lib/merge_ruby_client/ats/eeocs/client.rb +16 -4
- data/lib/merge_ruby_client/ats/field_mapping/client.rb +36 -16
- data/lib/merge_ruby_client/ats/force_resync/client.rb +2 -2
- data/lib/merge_ruby_client/ats/interviews/client.rb +16 -4
- data/lib/merge_ruby_client/ats/job_interview_stages/client.rb +16 -4
- data/lib/merge_ruby_client/ats/job_postings/client.rb +16 -4
- data/lib/merge_ruby_client/ats/jobs/client.rb +32 -8
- data/lib/merge_ruby_client/ats/link_token/client.rb +17 -4
- data/lib/merge_ruby_client/ats/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/ats/offers/client.rb +16 -4
- data/lib/merge_ruby_client/ats/offices/client.rb +16 -4
- data/lib/merge_ruby_client/ats/reject_reasons/client.rb +16 -4
- data/lib/merge_ruby_client/ats/scopes/client.rb +12 -12
- data/lib/merge_ruby_client/ats/scorecards/client.rb +16 -4
- data/lib/merge_ruby_client/ats/tags/client.rb +16 -4
- data/lib/merge_ruby_client/ats/types/account_details.rb +11 -2
- data/lib/merge_ruby_client/ats/types/account_details_and_actions.rb +11 -2
- data/lib/merge_ruby_client/ats/types/account_details_and_actions_status_enum.rb +2 -0
- data/lib/merge_ruby_client/ats/types/account_integration.rb +4 -6
- data/lib/merge_ruby_client/ats/types/activity.rb +6 -2
- data/lib/merge_ruby_client/ats/types/application.rb +8 -2
- data/lib/merge_ruby_client/ats/types/attachment.rb +8 -2
- data/lib/merge_ruby_client/ats/types/audit_log_event.rb +12 -0
- data/lib/merge_ruby_client/ats/types/candidate.rb +8 -2
- data/lib/merge_ruby_client/ats/types/department.rb +6 -2
- data/lib/merge_ruby_client/ats/types/eeoc.rb +6 -2
- data/lib/merge_ruby_client/ats/types/email_address.rb +6 -2
- data/lib/merge_ruby_client/ats/types/event_type_enum.rb +9 -0
- data/lib/merge_ruby_client/ats/types/field_mapping_api_instance_remote_field.rb +8 -6
- data/lib/merge_ruby_client/ats/types/field_permission_deserializer.rb +14 -14
- data/lib/merge_ruby_client/ats/types/field_permission_deserializer_request.rb +14 -14
- data/lib/merge_ruby_client/ats/types/job.rb +6 -2
- data/lib/merge_ruby_client/ats/types/job_interview_stage.rb +6 -2
- data/lib/merge_ruby_client/ats/types/job_posting.rb +6 -2
- data/lib/merge_ruby_client/ats/types/language_enum.rb +12 -0
- data/lib/merge_ruby_client/ats/types/offer.rb +6 -2
- data/lib/merge_ruby_client/ats/types/office.rb +6 -2
- data/lib/merge_ruby_client/ats/types/phone_number.rb +6 -2
- data/lib/merge_ruby_client/ats/types/reject_reason.rb +6 -2
- data/lib/merge_ruby_client/ats/types/remote_data.rb +8 -2
- data/lib/merge_ruby_client/ats/types/remote_user.rb +6 -2
- data/lib/merge_ruby_client/ats/types/scheduled_interview.rb +6 -2
- data/lib/merge_ruby_client/ats/types/scorecard.rb +6 -2
- data/lib/merge_ruby_client/ats/types/screening_question.rb +6 -2
- data/lib/merge_ruby_client/ats/types/screening_question_answer.rb +6 -2
- data/lib/merge_ruby_client/ats/types/screening_question_option.rb +6 -2
- data/lib/merge_ruby_client/ats/types/tag.rb +6 -2
- data/lib/merge_ruby_client/ats/types/url.rb +6 -2
- data/lib/merge_ruby_client/ats/users/client.rb +16 -4
- data/lib/merge_ruby_client/crm/accounts/client.rb +32 -8
- data/lib/merge_ruby_client/crm/association_types/client.rb +16 -4
- data/lib/merge_ruby_client/crm/associations/client.rb +16 -4
- data/lib/merge_ruby_client/crm/async_passthrough/client.rb +5 -5
- data/lib/merge_ruby_client/crm/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
- data/lib/merge_ruby_client/crm/audit_trail/client.rb +8 -2
- data/lib/merge_ruby_client/crm/contacts/client.rb +32 -8
- data/lib/merge_ruby_client/crm/custom_object_classes/client.rb +16 -4
- data/lib/merge_ruby_client/crm/custom_objects/client.rb +32 -8
- data/lib/merge_ruby_client/crm/engagement_types/client.rb +32 -8
- data/lib/merge_ruby_client/crm/engagements/client.rb +32 -8
- data/lib/merge_ruby_client/crm/field_mapping/client.rb +36 -16
- data/lib/merge_ruby_client/crm/force_resync/client.rb +2 -2
- data/lib/merge_ruby_client/crm/leads/client.rb +32 -8
- data/lib/merge_ruby_client/crm/link_token/client.rb +17 -4
- data/lib/merge_ruby_client/crm/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/crm/notes/client.rb +32 -8
- data/lib/merge_ruby_client/crm/opportunities/client.rb +32 -8
- data/lib/merge_ruby_client/crm/scopes/client.rb +12 -12
- data/lib/merge_ruby_client/crm/stages/client.rb +32 -8
- data/lib/merge_ruby_client/crm/tasks/client.rb +32 -8
- data/lib/merge_ruby_client/crm/types/account.rb +8 -2
- data/lib/merge_ruby_client/crm/types/account_details.rb +11 -2
- data/lib/merge_ruby_client/crm/types/account_details_and_actions.rb +11 -2
- data/lib/merge_ruby_client/crm/types/account_details_and_actions_status_enum.rb +2 -0
- data/lib/merge_ruby_client/crm/types/account_integration.rb +4 -6
- data/lib/merge_ruby_client/crm/types/audit_log_event.rb +12 -0
- data/lib/merge_ruby_client/crm/types/contact.rb +8 -2
- data/lib/merge_ruby_client/crm/types/engagement.rb +6 -2
- data/lib/merge_ruby_client/crm/types/event_type_enum.rb +9 -0
- data/lib/merge_ruby_client/crm/types/field_mapping_api_instance_remote_field.rb +8 -6
- data/lib/merge_ruby_client/crm/types/field_permission_deserializer.rb +14 -14
- data/lib/merge_ruby_client/crm/types/field_permission_deserializer_request.rb +14 -14
- data/lib/merge_ruby_client/crm/types/language_enum.rb +12 -0
- data/lib/merge_ruby_client/crm/types/lead.rb +8 -2
- data/lib/merge_ruby_client/crm/types/note.rb +8 -2
- data/lib/merge_ruby_client/crm/types/opportunity.rb +8 -2
- data/lib/merge_ruby_client/crm/types/remote_data.rb +8 -2
- data/lib/merge_ruby_client/crm/types/stage.rb +6 -2
- data/lib/merge_ruby_client/crm/types/task.rb +6 -2
- data/lib/merge_ruby_client/crm/types/user.rb +6 -2
- data/lib/merge_ruby_client/crm/users/client.rb +38 -10
- data/lib/merge_ruby_client/filestorage/async_passthrough/client.rb +5 -5
- data/lib/merge_ruby_client/filestorage/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
- data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +8 -2
- data/lib/merge_ruby_client/filestorage/drives/client.rb +16 -4
- data/lib/merge_ruby_client/filestorage/field_mapping/client.rb +36 -16
- data/lib/merge_ruby_client/filestorage/files/client.rb +18 -6
- data/lib/merge_ruby_client/filestorage/folders/client.rb +18 -6
- data/lib/merge_ruby_client/filestorage/force_resync/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/groups/client.rb +32 -8
- data/lib/merge_ruby_client/filestorage/link_token/client.rb +17 -4
- data/lib/merge_ruby_client/filestorage/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/scopes/client.rb +12 -12
- data/lib/merge_ruby_client/filestorage/types/account_details.rb +11 -2
- data/lib/merge_ruby_client/filestorage/types/account_details_and_actions.rb +11 -2
- data/lib/merge_ruby_client/filestorage/types/account_details_and_actions_status_enum.rb +2 -0
- data/lib/merge_ruby_client/filestorage/types/account_integration.rb +4 -6
- data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +12 -0
- data/lib/merge_ruby_client/filestorage/types/drive.rb +13 -5
- data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +9 -0
- data/lib/merge_ruby_client/filestorage/types/field_mapping_api_instance_remote_field.rb +8 -6
- data/lib/merge_ruby_client/filestorage/types/field_permission_deserializer.rb +14 -14
- data/lib/merge_ruby_client/filestorage/types/field_permission_deserializer_request.rb +14 -14
- data/lib/merge_ruby_client/filestorage/types/file.rb +16 -8
- data/lib/merge_ruby_client/filestorage/types/file_request.rb +3 -3
- data/lib/merge_ruby_client/filestorage/types/folder.rb +16 -8
- data/lib/merge_ruby_client/filestorage/types/folder_request.rb +3 -3
- data/lib/merge_ruby_client/filestorage/types/group.rb +26 -6
- data/lib/merge_ruby_client/filestorage/types/group_child_groups_item.rb +55 -0
- data/lib/merge_ruby_client/filestorage/types/language_enum.rb +12 -0
- data/lib/merge_ruby_client/filestorage/types/permission.rb +8 -4
- data/lib/merge_ruby_client/filestorage/types/permission_group.rb +2 -1
- data/lib/merge_ruby_client/filestorage/types/permission_request.rb +8 -4
- data/lib/merge_ruby_client/filestorage/types/permission_request_group.rb +2 -1
- data/lib/merge_ruby_client/filestorage/types/permission_request_user.rb +2 -1
- data/lib/merge_ruby_client/filestorage/types/permission_user.rb +2 -1
- data/lib/merge_ruby_client/filestorage/types/remote_data.rb +75 -0
- data/lib/merge_ruby_client/filestorage/types/user.rb +13 -5
- data/lib/merge_ruby_client/filestorage/users/client.rb +16 -4
- data/lib/merge_ruby_client/hris/async_passthrough/client.rb +5 -5
- data/lib/merge_ruby_client/hris/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
- data/lib/merge_ruby_client/hris/audit_trail/client.rb +8 -2
- data/lib/merge_ruby_client/hris/bank_info/client.rb +16 -4
- data/lib/merge_ruby_client/hris/benefits/client.rb +16 -4
- data/lib/merge_ruby_client/hris/companies/client.rb +16 -4
- data/lib/merge_ruby_client/hris/dependents/client.rb +16 -4
- data/lib/merge_ruby_client/hris/employee_payroll_runs/client.rb +16 -4
- data/lib/merge_ruby_client/hris/employees/client.rb +16 -4
- data/lib/merge_ruby_client/hris/employer_benefits/client.rb +16 -4
- data/lib/merge_ruby_client/hris/employments/client.rb +16 -4
- data/lib/merge_ruby_client/hris/field_mapping/client.rb +36 -16
- data/lib/merge_ruby_client/hris/force_resync/client.rb +2 -2
- data/lib/merge_ruby_client/hris/groups/client.rb +16 -4
- data/lib/merge_ruby_client/hris/link_token/client.rb +17 -4
- data/lib/merge_ruby_client/hris/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/hris/locations/client.rb +28 -12
- data/lib/merge_ruby_client/hris/locations/types/locations_list_request_remote_fields.rb +13 -0
- data/lib/merge_ruby_client/hris/locations/types/locations_list_request_show_enum_origins.rb +13 -0
- data/lib/merge_ruby_client/hris/locations/types/locations_retrieve_request_remote_fields.rb +13 -0
- data/lib/merge_ruby_client/hris/locations/types/locations_retrieve_request_show_enum_origins.rb +13 -0
- data/lib/merge_ruby_client/hris/pay_groups/client.rb +16 -4
- data/lib/merge_ruby_client/hris/payroll_runs/client.rb +16 -4
- data/lib/merge_ruby_client/hris/scopes/client.rb +12 -12
- data/lib/merge_ruby_client/hris/teams/client.rb +16 -4
- data/lib/merge_ruby_client/hris/time_off/client.rb +16 -4
- data/lib/merge_ruby_client/hris/time_off_balances/client.rb +16 -4
- data/lib/merge_ruby_client/hris/timesheet_entries/client.rb +40 -16
- data/lib/merge_ruby_client/hris/types/account_details.rb +11 -2
- data/lib/merge_ruby_client/hris/types/account_details_and_actions.rb +11 -2
- data/lib/merge_ruby_client/hris/types/account_details_and_actions_status_enum.rb +2 -0
- data/lib/merge_ruby_client/hris/types/account_integration.rb +4 -6
- data/lib/merge_ruby_client/hris/types/audit_log_event.rb +12 -0
- data/lib/merge_ruby_client/hris/types/bank_info.rb +6 -2
- data/lib/merge_ruby_client/hris/types/benefit.rb +6 -2
- data/lib/merge_ruby_client/hris/types/company.rb +6 -2
- data/lib/merge_ruby_client/hris/types/deduction.rb +6 -2
- data/lib/merge_ruby_client/hris/types/dependent.rb +6 -2
- data/lib/merge_ruby_client/hris/types/earning.rb +6 -2
- data/lib/merge_ruby_client/hris/types/employee.rb +10 -3
- data/lib/merge_ruby_client/hris/types/employee_payroll_run.rb +6 -2
- data/lib/merge_ruby_client/hris/types/employee_request.rb +2 -1
- data/lib/merge_ruby_client/hris/types/employer_benefit.rb +13 -5
- data/lib/merge_ruby_client/hris/types/employment.rb +13 -7
- data/lib/merge_ruby_client/hris/types/event_type_enum.rb +9 -0
- data/lib/merge_ruby_client/hris/types/field_mapping_api_instance_remote_field.rb +8 -6
- data/lib/merge_ruby_client/hris/types/field_permission_deserializer.rb +14 -14
- data/lib/merge_ruby_client/hris/types/field_permission_deserializer_request.rb +14 -14
- data/lib/merge_ruby_client/hris/types/group.rb +6 -2
- data/lib/merge_ruby_client/hris/types/language_enum.rb +12 -0
- data/lib/merge_ruby_client/hris/types/location.rb +6 -2
- data/lib/merge_ruby_client/hris/types/pay_group.rb +6 -2
- data/lib/merge_ruby_client/hris/types/payroll_run.rb +6 -2
- data/lib/merge_ruby_client/hris/types/remote_data.rb +8 -2
- data/lib/merge_ruby_client/hris/types/tax.rb +6 -2
- data/lib/merge_ruby_client/hris/types/team.rb +6 -2
- data/lib/merge_ruby_client/hris/types/time_off.rb +8 -2
- data/lib/merge_ruby_client/hris/types/time_off_balance.rb +14 -6
- data/lib/merge_ruby_client/hris/types/timesheet_entry.rb +23 -9
- data/lib/merge_ruby_client/hris/types/timesheet_entry_employee.rb +56 -0
- data/lib/merge_ruby_client/hris/types/timesheet_entry_request.rb +10 -4
- data/lib/merge_ruby_client/hris/types/timesheet_entry_request_employee.rb +56 -0
- data/lib/merge_ruby_client/ticketing/accounts/client.rb +16 -4
- data/lib/merge_ruby_client/ticketing/async_passthrough/client.rb +5 -5
- data/lib/merge_ruby_client/ticketing/async_passthrough/types/async_passthrough_retrieve_response.rb +57 -0
- data/lib/merge_ruby_client/ticketing/attachments/client.rb +16 -4
- data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +8 -2
- data/lib/merge_ruby_client/ticketing/collections/client.rb +22 -104
- data/lib/merge_ruby_client/ticketing/collections/types/collections_list_request_expand.rb +13 -0
- data/lib/merge_ruby_client/ticketing/collections/types/collections_retrieve_request_expand.rb +13 -0
- data/lib/merge_ruby_client/ticketing/comments/client.rb +16 -4
- data/lib/merge_ruby_client/ticketing/contacts/client.rb +16 -4
- data/lib/merge_ruby_client/ticketing/field_mapping/client.rb +36 -16
- data/lib/merge_ruby_client/ticketing/force_resync/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/link_token/client.rb +17 -4
- data/lib/merge_ruby_client/ticketing/linked_accounts/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/projects/client.rb +32 -8
- data/lib/merge_ruby_client/ticketing/roles/client.rb +16 -4
- data/lib/merge_ruby_client/ticketing/scopes/client.rb +12 -12
- data/lib/merge_ruby_client/ticketing/tags/client.rb +16 -4
- data/lib/merge_ruby_client/ticketing/teams/client.rb +16 -4
- data/lib/merge_ruby_client/ticketing/tickets/client.rb +76 -41
- data/lib/merge_ruby_client/ticketing/tickets/types/tickets_list_request_expand.rb +128 -0
- data/lib/merge_ruby_client/ticketing/tickets/types/tickets_retrieve_request_expand.rb +128 -0
- data/lib/merge_ruby_client/ticketing/tickets/types/tickets_viewers_list_request_expand.rb +13 -0
- data/lib/merge_ruby_client/ticketing/types/account.rb +6 -2
- data/lib/merge_ruby_client/ticketing/types/account_details.rb +11 -2
- data/lib/merge_ruby_client/ticketing/types/account_details_and_actions.rb +11 -2
- data/lib/merge_ruby_client/ticketing/types/account_details_and_actions_status_enum.rb +2 -0
- data/lib/merge_ruby_client/ticketing/types/account_integration.rb +4 -6
- data/lib/merge_ruby_client/ticketing/types/attachment.rb +8 -2
- data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +12 -0
- data/lib/merge_ruby_client/ticketing/types/collection.rb +22 -6
- data/lib/merge_ruby_client/ticketing/types/collection_teams_item.rb +55 -0
- data/lib/merge_ruby_client/ticketing/types/comment.rb +20 -6
- data/lib/merge_ruby_client/ticketing/types/comment_contact.rb +3 -1
- data/lib/merge_ruby_client/ticketing/types/comment_request.rb +12 -4
- data/lib/merge_ruby_client/ticketing/types/comment_request_contact.rb +3 -1
- data/lib/merge_ruby_client/ticketing/types/comment_request_user.rb +3 -1
- data/lib/merge_ruby_client/ticketing/types/comment_user.rb +3 -1
- data/lib/merge_ruby_client/ticketing/types/contact.rb +6 -2
- data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +9 -0
- data/lib/merge_ruby_client/ticketing/types/field_mapping_api_instance_remote_field.rb +8 -6
- data/lib/merge_ruby_client/ticketing/types/field_permission_deserializer.rb +14 -14
- data/lib/merge_ruby_client/ticketing/types/field_permission_deserializer_request.rb +14 -14
- data/lib/merge_ruby_client/ticketing/types/language_enum.rb +12 -0
- data/lib/merge_ruby_client/ticketing/types/paginated_viewer_list.rb +80 -0
- data/lib/merge_ruby_client/ticketing/types/patched_ticket_request.rb +27 -7
- data/lib/merge_ruby_client/ticketing/types/project.rb +6 -2
- data/lib/merge_ruby_client/ticketing/types/remote_data.rb +8 -2
- data/lib/merge_ruby_client/ticketing/types/role.rb +6 -2
- data/lib/merge_ruby_client/ticketing/types/tag.rb +6 -2
- data/lib/merge_ruby_client/ticketing/types/team.rb +8 -4
- data/lib/merge_ruby_client/ticketing/types/ticket.rb +38 -8
- data/lib/merge_ruby_client/ticketing/types/ticket_assigned_teams_item.rb +55 -0
- data/lib/merge_ruby_client/ticketing/types/ticket_request.rb +31 -7
- data/lib/merge_ruby_client/ticketing/types/ticket_request_assigned_teams_item.rb +55 -0
- data/lib/merge_ruby_client/ticketing/types/user.rb +10 -3
- data/lib/merge_ruby_client/ticketing/types/viewer.rb +123 -0
- data/lib/merge_ruby_client/ticketing/types/viewer_team.rb +56 -0
- data/lib/merge_ruby_client/ticketing/types/viewer_user.rb +56 -0
- data/lib/merge_ruby_client/ticketing/users/client.rb +16 -4
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +137 -17
- metadata +135 -10
- data/lib/merge_ruby_client/ticketing/collections/types/collections_users_list_request_expand.rb +0 -13
- data/lib/merge_ruby_client/ticketing/tickets/types/tickets_collaborators_list_request_expand.rb +0 -13
- data/lib/merge_ruby_client/ticketing/tickets/types/tickets_list_request_status.rb +0 -14
@@ -0,0 +1,199 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "date"
|
4
|
+
require_relative "employee_company"
|
5
|
+
require_relative "status_895_enum"
|
6
|
+
require_relative "remote_data"
|
7
|
+
require "ostruct"
|
8
|
+
require "json"
|
9
|
+
|
10
|
+
module Merge
|
11
|
+
module Accounting
|
12
|
+
# # The Employee Object
|
13
|
+
# ### Description
|
14
|
+
# An `Employee` is an individual who works for the company of the linked account.
|
15
|
+
# The `Employee` model contains both contractors and full time employees.
|
16
|
+
# - An `Employee` is a contractor if `is_contractor` property is `True`
|
17
|
+
# - An `Employee` is a full time employee if `is_contractor` property is `False`
|
18
|
+
# ### Usage Example
|
19
|
+
# Fetch from the `LIST Employees` endpoint and view a company's employees.
|
20
|
+
class Employee
|
21
|
+
# @return [String]
|
22
|
+
attr_reader :id
|
23
|
+
# @return [String] The third-party API ID of the matching object.
|
24
|
+
attr_reader :remote_id
|
25
|
+
# @return [DateTime] The datetime that this object was created by Merge.
|
26
|
+
attr_reader :created_at
|
27
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
28
|
+
attr_reader :modified_at
|
29
|
+
# @return [String] The employee's first name.
|
30
|
+
attr_reader :first_name
|
31
|
+
# @return [String] The employee's last name.
|
32
|
+
attr_reader :last_name
|
33
|
+
# @return [Boolean] `True` if the employee is a contractor, `False` if not.
|
34
|
+
attr_reader :is_contractor
|
35
|
+
# @return [String] The employee's internal identification number.
|
36
|
+
attr_reader :employee_number
|
37
|
+
# @return [String] The employee's email address.
|
38
|
+
attr_reader :email_address
|
39
|
+
# @return [Merge::Accounting::EmployeeCompany] The subsidiary that the employee belongs to.
|
40
|
+
attr_reader :company
|
41
|
+
# @return [Merge::Accounting::Status895Enum] The employee's status in the accounting system.
|
42
|
+
# - `ACTIVE` - ACTIVE
|
43
|
+
# - `INACTIVE` - INACTIVE
|
44
|
+
attr_reader :status
|
45
|
+
# @return [Boolean] Indicates whether or not this object has been deleted in the third party
|
46
|
+
# platform. Full coverage deletion detection is a premium add-on. Native deletion
|
47
|
+
# detection is offered for free with limited coverage. [Learn
|
48
|
+
# more](https://docs.merge.dev/integrations/hris/supported-features/).
|
49
|
+
attr_reader :remote_was_deleted
|
50
|
+
# @return [Hash{String => Object}]
|
51
|
+
attr_reader :field_mappings
|
52
|
+
# @return [Array<Merge::Accounting::RemoteData>]
|
53
|
+
attr_reader :remote_data
|
54
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
55
|
+
attr_reader :additional_properties
|
56
|
+
# @return [Object]
|
57
|
+
attr_reader :_field_set
|
58
|
+
protected :_field_set
|
59
|
+
|
60
|
+
OMIT = Object.new
|
61
|
+
|
62
|
+
# @param id [String]
|
63
|
+
# @param remote_id [String] The third-party API ID of the matching object.
|
64
|
+
# @param created_at [DateTime] The datetime that this object was created by Merge.
|
65
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
66
|
+
# @param first_name [String] The employee's first name.
|
67
|
+
# @param last_name [String] The employee's last name.
|
68
|
+
# @param is_contractor [Boolean] `True` if the employee is a contractor, `False` if not.
|
69
|
+
# @param employee_number [String] The employee's internal identification number.
|
70
|
+
# @param email_address [String] The employee's email address.
|
71
|
+
# @param company [Merge::Accounting::EmployeeCompany] The subsidiary that the employee belongs to.
|
72
|
+
# @param status [Merge::Accounting::Status895Enum] The employee's status in the accounting system.
|
73
|
+
# - `ACTIVE` - ACTIVE
|
74
|
+
# - `INACTIVE` - INACTIVE
|
75
|
+
# @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
|
76
|
+
# platform. Full coverage deletion detection is a premium add-on. Native deletion
|
77
|
+
# detection is offered for free with limited coverage. [Learn
|
78
|
+
# more](https://docs.merge.dev/integrations/hris/supported-features/).
|
79
|
+
# @param field_mappings [Hash{String => Object}]
|
80
|
+
# @param remote_data [Array<Merge::Accounting::RemoteData>]
|
81
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
82
|
+
# @return [Merge::Accounting::Employee]
|
83
|
+
def initialize(status:, id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, first_name: OMIT, last_name: OMIT,
|
84
|
+
is_contractor: OMIT, employee_number: OMIT, email_address: OMIT, company: OMIT, remote_was_deleted: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
|
85
|
+
@id = id if id != OMIT
|
86
|
+
@remote_id = remote_id if remote_id != OMIT
|
87
|
+
@created_at = created_at if created_at != OMIT
|
88
|
+
@modified_at = modified_at if modified_at != OMIT
|
89
|
+
@first_name = first_name if first_name != OMIT
|
90
|
+
@last_name = last_name if last_name != OMIT
|
91
|
+
@is_contractor = is_contractor if is_contractor != OMIT
|
92
|
+
@employee_number = employee_number if employee_number != OMIT
|
93
|
+
@email_address = email_address if email_address != OMIT
|
94
|
+
@company = company if company != OMIT
|
95
|
+
@status = status
|
96
|
+
@remote_was_deleted = remote_was_deleted if remote_was_deleted != OMIT
|
97
|
+
@field_mappings = field_mappings if field_mappings != OMIT
|
98
|
+
@remote_data = remote_data if remote_data != OMIT
|
99
|
+
@additional_properties = additional_properties
|
100
|
+
@_field_set = {
|
101
|
+
"id": id,
|
102
|
+
"remote_id": remote_id,
|
103
|
+
"created_at": created_at,
|
104
|
+
"modified_at": modified_at,
|
105
|
+
"first_name": first_name,
|
106
|
+
"last_name": last_name,
|
107
|
+
"is_contractor": is_contractor,
|
108
|
+
"employee_number": employee_number,
|
109
|
+
"email_address": email_address,
|
110
|
+
"company": company,
|
111
|
+
"status": status,
|
112
|
+
"remote_was_deleted": remote_was_deleted,
|
113
|
+
"field_mappings": field_mappings,
|
114
|
+
"remote_data": remote_data
|
115
|
+
}.reject do |_k, v|
|
116
|
+
v == OMIT
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
# Deserialize a JSON object to an instance of Employee
|
121
|
+
#
|
122
|
+
# @param json_object [String]
|
123
|
+
# @return [Merge::Accounting::Employee]
|
124
|
+
def self.from_json(json_object:)
|
125
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
126
|
+
parsed_json = JSON.parse(json_object)
|
127
|
+
id = parsed_json["id"]
|
128
|
+
remote_id = parsed_json["remote_id"]
|
129
|
+
created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
|
130
|
+
modified_at = (DateTime.parse(parsed_json["modified_at"]) unless parsed_json["modified_at"].nil?)
|
131
|
+
first_name = parsed_json["first_name"]
|
132
|
+
last_name = parsed_json["last_name"]
|
133
|
+
is_contractor = parsed_json["is_contractor"]
|
134
|
+
employee_number = parsed_json["employee_number"]
|
135
|
+
email_address = parsed_json["email_address"]
|
136
|
+
if parsed_json["company"].nil?
|
137
|
+
company = nil
|
138
|
+
else
|
139
|
+
company = parsed_json["company"].to_json
|
140
|
+
company = Merge::Accounting::EmployeeCompany.from_json(json_object: company)
|
141
|
+
end
|
142
|
+
status = parsed_json["status"]
|
143
|
+
remote_was_deleted = parsed_json["remote_was_deleted"]
|
144
|
+
field_mappings = parsed_json["field_mappings"]
|
145
|
+
remote_data = parsed_json["remote_data"]&.map do |item|
|
146
|
+
item = item.to_json
|
147
|
+
Merge::Accounting::RemoteData.from_json(json_object: item)
|
148
|
+
end
|
149
|
+
new(
|
150
|
+
id: id,
|
151
|
+
remote_id: remote_id,
|
152
|
+
created_at: created_at,
|
153
|
+
modified_at: modified_at,
|
154
|
+
first_name: first_name,
|
155
|
+
last_name: last_name,
|
156
|
+
is_contractor: is_contractor,
|
157
|
+
employee_number: employee_number,
|
158
|
+
email_address: email_address,
|
159
|
+
company: company,
|
160
|
+
status: status,
|
161
|
+
remote_was_deleted: remote_was_deleted,
|
162
|
+
field_mappings: field_mappings,
|
163
|
+
remote_data: remote_data,
|
164
|
+
additional_properties: struct
|
165
|
+
)
|
166
|
+
end
|
167
|
+
|
168
|
+
# Serialize an instance of Employee to a JSON object
|
169
|
+
#
|
170
|
+
# @return [String]
|
171
|
+
def to_json(*_args)
|
172
|
+
@_field_set&.to_json
|
173
|
+
end
|
174
|
+
|
175
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
176
|
+
# hash and check each fields type against the current object's property
|
177
|
+
# definitions.
|
178
|
+
#
|
179
|
+
# @param obj [Object]
|
180
|
+
# @return [Void]
|
181
|
+
def self.validate_raw(obj:)
|
182
|
+
obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
183
|
+
obj.remote_id&.is_a?(String) != false || raise("Passed value for field obj.remote_id is not the expected type, validation failed.")
|
184
|
+
obj.created_at&.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
185
|
+
obj.modified_at&.is_a?(DateTime) != false || raise("Passed value for field obj.modified_at is not the expected type, validation failed.")
|
186
|
+
obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
|
187
|
+
obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
|
188
|
+
obj.is_contractor&.is_a?(Boolean) != false || raise("Passed value for field obj.is_contractor is not the expected type, validation failed.")
|
189
|
+
obj.employee_number&.is_a?(String) != false || raise("Passed value for field obj.employee_number is not the expected type, validation failed.")
|
190
|
+
obj.email_address&.is_a?(String) != false || raise("Passed value for field obj.email_address is not the expected type, validation failed.")
|
191
|
+
obj.company.nil? || Merge::Accounting::EmployeeCompany.validate_raw(obj: obj.company)
|
192
|
+
obj.status.is_a?(Merge::Accounting::Status895Enum) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
193
|
+
obj.remote_was_deleted&.is_a?(Boolean) != false || raise("Passed value for field obj.remote_was_deleted is not the expected type, validation failed.")
|
194
|
+
obj.field_mappings&.is_a?(Hash) != false || raise("Passed value for field obj.field_mappings is not the expected type, validation failed.")
|
195
|
+
obj.remote_data&.is_a?(Array) != false || raise("Passed value for field obj.remote_data is not the expected type, validation failed.")
|
196
|
+
end
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
|
5
|
+
module Merge
|
6
|
+
module Accounting
|
7
|
+
# The subsidiary that the employee belongs to.
|
8
|
+
class EmployeeCompany
|
9
|
+
# Deserialize a JSON object to an instance of EmployeeCompany
|
10
|
+
#
|
11
|
+
# @param json_object [String]
|
12
|
+
# @return [Merge::Accounting::EmployeeCompany]
|
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
|
+
struct.is_a?(Object) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
25
|
+
return 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 obj.is_a?(Object) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
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
|
@@ -40,12 +40,19 @@ module Merge
|
|
40
40
|
# - `DELETED_INTEGRATION_WIDE_FIELD_MAPPING` -
|
41
41
|
# DELETED_INTEGRATION_WIDE_FIELD_MAPPING
|
42
42
|
# - `DELETED_LINKED_ACCOUNT_FIELD_MAPPING` - DELETED_LINKED_ACCOUNT_FIELD_MAPPING
|
43
|
+
# - `CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` -
|
44
|
+
# CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
|
45
|
+
# - `CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` -
|
46
|
+
# CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
|
47
|
+
# - `DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE` -
|
48
|
+
# DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE
|
43
49
|
# - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC
|
44
50
|
# - `MUTED_ISSUE` - MUTED_ISSUE
|
45
51
|
# - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK
|
46
52
|
# - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK
|
47
53
|
# - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK
|
48
54
|
# - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED
|
55
|
+
# - `END_USER_CREDENTIALS_ACCESSED` - END_USER_CREDENTIALS_ACCESSED
|
49
56
|
class EventTypeEnum
|
50
57
|
CREATED_REMOTE_PRODUCTION_API_KEY = "CREATED_REMOTE_PRODUCTION_API_KEY"
|
51
58
|
DELETED_REMOTE_PRODUCTION_API_KEY = "DELETED_REMOTE_PRODUCTION_API_KEY"
|
@@ -78,12 +85,16 @@ module Merge
|
|
78
85
|
CHANGED_LINKED_ACCOUNT_FIELD_MAPPING = "CHANGED_LINKED_ACCOUNT_FIELD_MAPPING"
|
79
86
|
DELETED_INTEGRATION_WIDE_FIELD_MAPPING = "DELETED_INTEGRATION_WIDE_FIELD_MAPPING"
|
80
87
|
DELETED_LINKED_ACCOUNT_FIELD_MAPPING = "DELETED_LINKED_ACCOUNT_FIELD_MAPPING"
|
88
|
+
CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE = "CREATED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"
|
89
|
+
CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE = "CHANGED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"
|
90
|
+
DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE = "DELETED_LINKED_ACCOUNT_COMMON_MODEL_OVERRIDE"
|
81
91
|
FORCED_LINKED_ACCOUNT_RESYNC = "FORCED_LINKED_ACCOUNT_RESYNC"
|
82
92
|
MUTED_ISSUE = "MUTED_ISSUE"
|
83
93
|
GENERATED_MAGIC_LINK = "GENERATED_MAGIC_LINK"
|
84
94
|
ENABLED_MERGE_WEBHOOK = "ENABLED_MERGE_WEBHOOK"
|
85
95
|
DISABLED_MERGE_WEBHOOK = "DISABLED_MERGE_WEBHOOK"
|
86
96
|
MERGE_WEBHOOK_TARGET_CHANGED = "MERGE_WEBHOOK_TARGET_CHANGED"
|
97
|
+
END_USER_CREDENTIALS_ACCESSED = "END_USER_CREDENTIALS_ACCESSED"
|
87
98
|
end
|
88
99
|
end
|
89
100
|
end
|
@@ -3,12 +3,14 @@
|
|
3
3
|
require "date"
|
4
4
|
require_relative "expense_account"
|
5
5
|
require_relative "expense_contact"
|
6
|
-
require_relative "
|
6
|
+
require_relative "transaction_currency_enum"
|
7
7
|
require_relative "expense_company"
|
8
|
+
require_relative "expense_employee"
|
8
9
|
require_relative "expense_line"
|
9
10
|
require_relative "expense_tracking_categories_item"
|
10
11
|
require_relative "expense_accounting_period"
|
11
12
|
require_relative "remote_data"
|
13
|
+
require_relative "remote_field"
|
12
14
|
require "ostruct"
|
13
15
|
require "json"
|
14
16
|
|
@@ -49,7 +51,7 @@ module Merge
|
|
49
51
|
attr_reader :sub_total
|
50
52
|
# @return [Float] The expense's total tax amount.
|
51
53
|
attr_reader :total_tax_amount
|
52
|
-
# @return [Merge::Accounting::
|
54
|
+
# @return [Merge::Accounting::TransactionCurrencyEnum] The expense's currency.
|
53
55
|
# - `XUA` - ADB Unit of Account
|
54
56
|
# - `AFN` - Afghan Afghani
|
55
57
|
# - `AFA` - Afghan Afghani (1927–2002)
|
@@ -359,8 +361,13 @@ module Merge
|
|
359
361
|
attr_reader :currency
|
360
362
|
# @return [String] The expense's exchange rate.
|
361
363
|
attr_reader :exchange_rate
|
364
|
+
# @return [Boolean] If the transaction is inclusive or exclusive of tax. `True` if inclusive,
|
365
|
+
# `False` if exclusive.
|
366
|
+
attr_reader :inclusive_of_tax
|
362
367
|
# @return [Merge::Accounting::ExpenseCompany] The company the expense belongs to.
|
363
368
|
attr_reader :company
|
369
|
+
# @return [Merge::Accounting::ExpenseEmployee] The employee this overall transaction relates to.
|
370
|
+
attr_reader :employee
|
364
371
|
# @return [String] The expense's private note.
|
365
372
|
attr_reader :memo
|
366
373
|
# @return [Array<Merge::Accounting::ExpenseLine>]
|
@@ -368,7 +375,9 @@ module Merge
|
|
368
375
|
# @return [Array<Merge::Accounting::ExpenseTrackingCategoriesItem>]
|
369
376
|
attr_reader :tracking_categories
|
370
377
|
# @return [Boolean] Indicates whether or not this object has been deleted in the third party
|
371
|
-
# platform.
|
378
|
+
# platform. Full coverage deletion detection is a premium add-on. Native deletion
|
379
|
+
# detection is offered for free with limited coverage. [Learn
|
380
|
+
# more](https://docs.merge.dev/integrations/hris/supported-features/).
|
372
381
|
attr_reader :remote_was_deleted
|
373
382
|
# @return [Merge::Accounting::ExpenseAccountingPeriod] The accounting period that the Expense was generated in.
|
374
383
|
attr_reader :accounting_period
|
@@ -376,6 +385,8 @@ module Merge
|
|
376
385
|
attr_reader :field_mappings
|
377
386
|
# @return [Array<Merge::Accounting::RemoteData>]
|
378
387
|
attr_reader :remote_data
|
388
|
+
# @return [Array<Merge::Accounting::RemoteField>]
|
389
|
+
attr_reader :remote_fields
|
379
390
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
380
391
|
attr_reader :additional_properties
|
381
392
|
# @return [Object]
|
@@ -395,7 +406,7 @@ module Merge
|
|
395
406
|
# @param total_amount [Float] The expense's total amount.
|
396
407
|
# @param sub_total [Float] The expense's total amount before tax.
|
397
408
|
# @param total_tax_amount [Float] The expense's total tax amount.
|
398
|
-
# @param currency [Merge::Accounting::
|
409
|
+
# @param currency [Merge::Accounting::TransactionCurrencyEnum] The expense's currency.
|
399
410
|
# - `XUA` - ADB Unit of Account
|
400
411
|
# - `AFN` - Afghan Afghani
|
401
412
|
# - `AFA` - Afghan Afghani (1927–2002)
|
@@ -703,19 +714,25 @@ module Merge
|
|
703
714
|
# - `ZWR` - Zimbabwean Dollar (2008)
|
704
715
|
# - `ZWL` - Zimbabwean Dollar (2009)
|
705
716
|
# @param exchange_rate [String] The expense's exchange rate.
|
717
|
+
# @param inclusive_of_tax [Boolean] If the transaction is inclusive or exclusive of tax. `True` if inclusive,
|
718
|
+
# `False` if exclusive.
|
706
719
|
# @param company [Merge::Accounting::ExpenseCompany] The company the expense belongs to.
|
720
|
+
# @param employee [Merge::Accounting::ExpenseEmployee] The employee this overall transaction relates to.
|
707
721
|
# @param memo [String] The expense's private note.
|
708
722
|
# @param lines [Array<Merge::Accounting::ExpenseLine>]
|
709
723
|
# @param tracking_categories [Array<Merge::Accounting::ExpenseTrackingCategoriesItem>]
|
710
724
|
# @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
|
711
|
-
# platform.
|
725
|
+
# platform. Full coverage deletion detection is a premium add-on. Native deletion
|
726
|
+
# detection is offered for free with limited coverage. [Learn
|
727
|
+
# more](https://docs.merge.dev/integrations/hris/supported-features/).
|
712
728
|
# @param accounting_period [Merge::Accounting::ExpenseAccountingPeriod] The accounting period that the Expense was generated in.
|
713
729
|
# @param field_mappings [Hash{String => Object}]
|
714
730
|
# @param remote_data [Array<Merge::Accounting::RemoteData>]
|
731
|
+
# @param remote_fields [Array<Merge::Accounting::RemoteField>]
|
715
732
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
716
733
|
# @return [Merge::Accounting::Expense]
|
717
734
|
def initialize(id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, transaction_date: OMIT,
|
718
|
-
remote_created_at: OMIT, account: OMIT, contact: OMIT, total_amount: OMIT, sub_total: OMIT, total_tax_amount: OMIT, currency: OMIT, exchange_rate: OMIT, company: OMIT, memo: OMIT, lines: OMIT, tracking_categories: OMIT, remote_was_deleted: OMIT, accounting_period: OMIT, field_mappings: OMIT, remote_data: OMIT, additional_properties: nil)
|
735
|
+
remote_created_at: OMIT, account: OMIT, contact: OMIT, total_amount: OMIT, sub_total: OMIT, total_tax_amount: OMIT, currency: OMIT, exchange_rate: OMIT, inclusive_of_tax: OMIT, company: OMIT, employee: OMIT, memo: OMIT, lines: OMIT, tracking_categories: OMIT, remote_was_deleted: OMIT, accounting_period: OMIT, field_mappings: OMIT, remote_data: OMIT, remote_fields: OMIT, additional_properties: nil)
|
719
736
|
@id = id if id != OMIT
|
720
737
|
@remote_id = remote_id if remote_id != OMIT
|
721
738
|
@created_at = created_at if created_at != OMIT
|
@@ -729,7 +746,9 @@ module Merge
|
|
729
746
|
@total_tax_amount = total_tax_amount if total_tax_amount != OMIT
|
730
747
|
@currency = currency if currency != OMIT
|
731
748
|
@exchange_rate = exchange_rate if exchange_rate != OMIT
|
749
|
+
@inclusive_of_tax = inclusive_of_tax if inclusive_of_tax != OMIT
|
732
750
|
@company = company if company != OMIT
|
751
|
+
@employee = employee if employee != OMIT
|
733
752
|
@memo = memo if memo != OMIT
|
734
753
|
@lines = lines if lines != OMIT
|
735
754
|
@tracking_categories = tracking_categories if tracking_categories != OMIT
|
@@ -737,6 +756,7 @@ module Merge
|
|
737
756
|
@accounting_period = accounting_period if accounting_period != OMIT
|
738
757
|
@field_mappings = field_mappings if field_mappings != OMIT
|
739
758
|
@remote_data = remote_data if remote_data != OMIT
|
759
|
+
@remote_fields = remote_fields if remote_fields != OMIT
|
740
760
|
@additional_properties = additional_properties
|
741
761
|
@_field_set = {
|
742
762
|
"id": id,
|
@@ -752,14 +772,17 @@ module Merge
|
|
752
772
|
"total_tax_amount": total_tax_amount,
|
753
773
|
"currency": currency,
|
754
774
|
"exchange_rate": exchange_rate,
|
775
|
+
"inclusive_of_tax": inclusive_of_tax,
|
755
776
|
"company": company,
|
777
|
+
"employee": employee,
|
756
778
|
"memo": memo,
|
757
779
|
"lines": lines,
|
758
780
|
"tracking_categories": tracking_categories,
|
759
781
|
"remote_was_deleted": remote_was_deleted,
|
760
782
|
"accounting_period": accounting_period,
|
761
783
|
"field_mappings": field_mappings,
|
762
|
-
"remote_data": remote_data
|
784
|
+
"remote_data": remote_data,
|
785
|
+
"remote_fields": remote_fields
|
763
786
|
}.reject do |_k, v|
|
764
787
|
v == OMIT
|
765
788
|
end
|
@@ -797,12 +820,19 @@ module Merge
|
|
797
820
|
total_tax_amount = parsed_json["total_tax_amount"]
|
798
821
|
currency = parsed_json["currency"]
|
799
822
|
exchange_rate = parsed_json["exchange_rate"]
|
823
|
+
inclusive_of_tax = parsed_json["inclusive_of_tax"]
|
800
824
|
if parsed_json["company"].nil?
|
801
825
|
company = nil
|
802
826
|
else
|
803
827
|
company = parsed_json["company"].to_json
|
804
828
|
company = Merge::Accounting::ExpenseCompany.from_json(json_object: company)
|
805
829
|
end
|
830
|
+
if parsed_json["employee"].nil?
|
831
|
+
employee = nil
|
832
|
+
else
|
833
|
+
employee = parsed_json["employee"].to_json
|
834
|
+
employee = Merge::Accounting::ExpenseEmployee.from_json(json_object: employee)
|
835
|
+
end
|
806
836
|
memo = parsed_json["memo"]
|
807
837
|
lines = parsed_json["lines"]&.map do |item|
|
808
838
|
item = item.to_json
|
@@ -824,6 +854,10 @@ module Merge
|
|
824
854
|
item = item.to_json
|
825
855
|
Merge::Accounting::RemoteData.from_json(json_object: item)
|
826
856
|
end
|
857
|
+
remote_fields = parsed_json["remote_fields"]&.map do |item|
|
858
|
+
item = item.to_json
|
859
|
+
Merge::Accounting::RemoteField.from_json(json_object: item)
|
860
|
+
end
|
827
861
|
new(
|
828
862
|
id: id,
|
829
863
|
remote_id: remote_id,
|
@@ -838,7 +872,9 @@ module Merge
|
|
838
872
|
total_tax_amount: total_tax_amount,
|
839
873
|
currency: currency,
|
840
874
|
exchange_rate: exchange_rate,
|
875
|
+
inclusive_of_tax: inclusive_of_tax,
|
841
876
|
company: company,
|
877
|
+
employee: employee,
|
842
878
|
memo: memo,
|
843
879
|
lines: lines,
|
844
880
|
tracking_categories: tracking_categories,
|
@@ -846,6 +882,7 @@ module Merge
|
|
846
882
|
accounting_period: accounting_period,
|
847
883
|
field_mappings: field_mappings,
|
848
884
|
remote_data: remote_data,
|
885
|
+
remote_fields: remote_fields,
|
849
886
|
additional_properties: struct
|
850
887
|
)
|
851
888
|
end
|
@@ -875,9 +912,11 @@ module Merge
|
|
875
912
|
obj.total_amount&.is_a?(Float) != false || raise("Passed value for field obj.total_amount is not the expected type, validation failed.")
|
876
913
|
obj.sub_total&.is_a?(Float) != false || raise("Passed value for field obj.sub_total is not the expected type, validation failed.")
|
877
914
|
obj.total_tax_amount&.is_a?(Float) != false || raise("Passed value for field obj.total_tax_amount is not the expected type, validation failed.")
|
878
|
-
obj.currency&.is_a?(Merge::Accounting::
|
915
|
+
obj.currency&.is_a?(Merge::Accounting::TransactionCurrencyEnum) != false || raise("Passed value for field obj.currency is not the expected type, validation failed.")
|
879
916
|
obj.exchange_rate&.is_a?(String) != false || raise("Passed value for field obj.exchange_rate is not the expected type, validation failed.")
|
917
|
+
obj.inclusive_of_tax&.is_a?(Boolean) != false || raise("Passed value for field obj.inclusive_of_tax is not the expected type, validation failed.")
|
880
918
|
obj.company.nil? || Merge::Accounting::ExpenseCompany.validate_raw(obj: obj.company)
|
919
|
+
obj.employee.nil? || Merge::Accounting::ExpenseEmployee.validate_raw(obj: obj.employee)
|
881
920
|
obj.memo&.is_a?(String) != false || raise("Passed value for field obj.memo is not the expected type, validation failed.")
|
882
921
|
obj.lines&.is_a?(Array) != false || raise("Passed value for field obj.lines is not the expected type, validation failed.")
|
883
922
|
obj.tracking_categories&.is_a?(Array) != false || raise("Passed value for field obj.tracking_categories is not the expected type, validation failed.")
|
@@ -885,6 +924,7 @@ module Merge
|
|
885
924
|
obj.accounting_period.nil? || Merge::Accounting::ExpenseAccountingPeriod.validate_raw(obj: obj.accounting_period)
|
886
925
|
obj.field_mappings&.is_a?(Hash) != false || raise("Passed value for field obj.field_mappings is not the expected type, validation failed.")
|
887
926
|
obj.remote_data&.is_a?(Array) != false || raise("Passed value for field obj.remote_data is not the expected type, validation failed.")
|
927
|
+
obj.remote_fields&.is_a?(Array) != false || raise("Passed value for field obj.remote_fields is not the expected type, validation failed.")
|
888
928
|
end
|
889
929
|
end
|
890
930
|
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "employee"
|
5
|
+
|
6
|
+
module Merge
|
7
|
+
module Accounting
|
8
|
+
# The employee this overall transaction relates to.
|
9
|
+
class ExpenseEmployee
|
10
|
+
# Deserialize a JSON object to an instance of ExpenseEmployee
|
11
|
+
#
|
12
|
+
# @param json_object [String]
|
13
|
+
# @return [Merge::Accounting::ExpenseEmployee]
|
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::Employee.validate_raw(obj: struct)
|
26
|
+
return Merge::Accounting::Employee.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::Employee.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
|