merge_ruby_client 0.0.5 → 0.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/audit_trail/client.rb +2 -4
- data/lib/merge_ruby_client/accounting/client.rb +7 -0
- data/lib/merge_ruby_client/accounting/link_token/client.rb +4 -8
- data/lib/merge_ruby_client/accounting/payments/client.rb +0 -4
- data/lib/merge_ruby_client/accounting/selective_sync/client.rb +218 -0
- data/lib/merge_ruby_client/accounting/types/account.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/accounting_attachment.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/accounting_period.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/accounting_phone_number.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/address.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +0 -6
- data/lib/merge_ruby_client/accounting/types/balance_sheet.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/cash_flow_statement.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/company_info.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/condition_schema.rb +136 -0
- data/lib/merge_ruby_client/accounting/types/condition_type_enum.rb +22 -0
- data/lib/merge_ruby_client/accounting/types/contact.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/credit_note.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +13 -5
- data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +0 -6
- data/lib/merge_ruby_client/accounting/types/expense.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/expense_line.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/income_statement.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/invoice.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/item.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/journal_entry.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/journal_line.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/linked_account_condition.rb +104 -0
- data/lib/merge_ruby_client/accounting/types/linked_account_condition_request.rb +87 -0
- data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration.rb +65 -0
- data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration_request.rb +63 -0
- data/lib/merge_ruby_client/accounting/types/operator_schema.rb +68 -0
- data/lib/merge_ruby_client/accounting/types/paginated_condition_schema_list.rb +80 -0
- data/lib/merge_ruby_client/accounting/types/patched_payment_request.rb +1 -14
- data/lib/merge_ruby_client/accounting/types/payment.rb +5 -18
- data/lib/merge_ruby_client/accounting/types/payment_line_item.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/payment_request.rb +1 -14
- data/lib/merge_ruby_client/accounting/types/purchase_order.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/purchase_order_line_item.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/remote_field_api.rb +2 -16
- data/lib/merge_ruby_client/accounting/types/report_item.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/tax_rate.rb +10 -12
- data/lib/merge_ruby_client/accounting/types/tax_rate_company.rb +1 -2
- data/lib/merge_ruby_client/accounting/types/tracking_category.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/transaction.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/transaction_line_item.rb +6 -6
- data/lib/merge_ruby_client/accounting/types/vendor_credit.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +4 -4
- data/lib/merge_ruby_client/ats/audit_trail/client.rb +2 -4
- data/lib/merge_ruby_client/ats/client.rb +7 -0
- data/lib/merge_ruby_client/ats/job_postings/client.rb +4 -16
- data/lib/merge_ruby_client/ats/link_token/client.rb +4 -8
- data/lib/merge_ruby_client/ats/selective_sync/client.rb +218 -0
- data/lib/merge_ruby_client/ats/types/activity.rb +4 -4
- data/lib/merge_ruby_client/ats/types/application.rb +4 -4
- data/lib/merge_ruby_client/ats/types/attachment.rb +4 -4
- data/lib/merge_ruby_client/ats/types/audit_log_event.rb +0 -6
- data/lib/merge_ruby_client/ats/types/candidate.rb +4 -4
- data/lib/merge_ruby_client/ats/types/condition_schema.rb +136 -0
- data/lib/merge_ruby_client/ats/types/condition_type_enum.rb +22 -0
- data/lib/merge_ruby_client/ats/types/department.rb +4 -4
- data/lib/merge_ruby_client/ats/types/eeoc.rb +4 -4
- data/lib/merge_ruby_client/ats/types/email_address.rb +4 -4
- data/lib/merge_ruby_client/ats/types/event_type_enum.rb +0 -6
- data/lib/merge_ruby_client/ats/types/job.rb +4 -4
- data/lib/merge_ruby_client/ats/types/job_interview_stage.rb +4 -4
- data/lib/merge_ruby_client/ats/types/job_posting.rb +4 -4
- data/lib/merge_ruby_client/ats/types/linked_account_condition.rb +104 -0
- data/lib/merge_ruby_client/ats/types/linked_account_condition_request.rb +87 -0
- data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration.rb +65 -0
- data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration_request.rb +63 -0
- data/lib/merge_ruby_client/ats/types/offer.rb +4 -4
- data/lib/merge_ruby_client/ats/types/office.rb +4 -4
- data/lib/merge_ruby_client/ats/types/operator_schema.rb +68 -0
- data/lib/merge_ruby_client/ats/types/paginated_condition_schema_list.rb +80 -0
- data/lib/merge_ruby_client/ats/types/phone_number.rb +4 -4
- data/lib/merge_ruby_client/ats/types/reject_reason.rb +4 -4
- data/lib/merge_ruby_client/ats/types/remote_field_api.rb +2 -16
- data/lib/merge_ruby_client/ats/types/remote_user.rb +4 -4
- data/lib/merge_ruby_client/ats/types/scheduled_interview.rb +4 -4
- data/lib/merge_ruby_client/ats/types/scorecard.rb +4 -4
- data/lib/merge_ruby_client/ats/types/screening_question.rb +4 -4
- data/lib/merge_ruby_client/ats/types/screening_question_option.rb +4 -4
- data/lib/merge_ruby_client/ats/types/tag.rb +4 -4
- data/lib/merge_ruby_client/ats/types/url.rb +4 -4
- data/lib/merge_ruby_client/crm/accounts/client.rb +0 -4
- data/lib/merge_ruby_client/crm/audit_trail/client.rb +2 -4
- data/lib/merge_ruby_client/crm/client.rb +7 -0
- data/lib/merge_ruby_client/crm/custom_objects/client.rb +2 -2
- data/lib/merge_ruby_client/crm/link_token/client.rb +4 -8
- data/lib/merge_ruby_client/crm/selective_sync/client.rb +218 -0
- data/lib/merge_ruby_client/crm/types/account.rb +4 -4
- data/lib/merge_ruby_client/crm/types/account_request.rb +1 -13
- data/lib/merge_ruby_client/crm/types/address.rb +4 -4
- data/lib/merge_ruby_client/crm/types/association.rb +6 -6
- data/lib/merge_ruby_client/crm/types/association_association_type.rb +0 -1
- data/lib/merge_ruby_client/crm/types/association_sub_type.rb +4 -4
- data/lib/merge_ruby_client/crm/types/association_type.rb +6 -8
- data/lib/merge_ruby_client/crm/types/audit_log_event.rb +0 -6
- data/lib/merge_ruby_client/crm/types/condition_schema.rb +136 -0
- data/lib/merge_ruby_client/crm/types/condition_type_enum.rb +22 -0
- data/lib/merge_ruby_client/crm/types/contact.rb +4 -4
- data/lib/merge_ruby_client/crm/types/custom_object.rb +8 -8
- data/lib/merge_ruby_client/crm/types/custom_object_class.rb +8 -10
- data/lib/merge_ruby_client/crm/types/email_address.rb +4 -4
- data/lib/merge_ruby_client/crm/types/engagement.rb +4 -4
- data/lib/merge_ruby_client/crm/types/engagement_type.rb +4 -4
- data/lib/merge_ruby_client/crm/types/event_type_enum.rb +0 -6
- data/lib/merge_ruby_client/crm/types/lead.rb +4 -4
- data/lib/merge_ruby_client/crm/types/linked_account_condition.rb +104 -0
- data/lib/merge_ruby_client/crm/types/linked_account_condition_request.rb +87 -0
- data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration.rb +65 -0
- data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration_request.rb +63 -0
- data/lib/merge_ruby_client/crm/types/note.rb +4 -4
- data/lib/merge_ruby_client/crm/types/operator_schema.rb +68 -0
- data/lib/merge_ruby_client/crm/types/opportunity.rb +4 -4
- data/lib/merge_ruby_client/crm/types/paginated_condition_schema_list.rb +80 -0
- data/lib/merge_ruby_client/crm/types/patched_account_request.rb +1 -13
- data/lib/merge_ruby_client/crm/types/phone_number.rb +4 -4
- data/lib/merge_ruby_client/crm/types/remote_field_api.rb +2 -16
- data/lib/merge_ruby_client/crm/types/remote_field_class_for_custom_object_class.rb +4 -4
- data/lib/merge_ruby_client/crm/types/stage.rb +4 -4
- data/lib/merge_ruby_client/crm/types/task.rb +4 -4
- data/lib/merge_ruby_client/crm/types/user.rb +4 -4
- data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +2 -4
- data/lib/merge_ruby_client/filestorage/client.rb +7 -0
- data/lib/merge_ruby_client/filestorage/link_token/client.rb +4 -8
- data/lib/merge_ruby_client/filestorage/selective_sync/client.rb +218 -0
- data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +0 -6
- data/lib/merge_ruby_client/filestorage/types/condition_schema.rb +136 -0
- data/lib/merge_ruby_client/filestorage/types/condition_type_enum.rb +22 -0
- data/lib/merge_ruby_client/filestorage/types/drive.rb +4 -4
- data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +0 -6
- data/lib/merge_ruby_client/filestorage/types/file.rb +4 -4
- data/lib/merge_ruby_client/filestorage/types/folder.rb +4 -4
- data/lib/merge_ruby_client/filestorage/types/group.rb +4 -4
- data/lib/merge_ruby_client/filestorage/types/linked_account_condition.rb +104 -0
- data/lib/merge_ruby_client/filestorage/types/linked_account_condition_request.rb +87 -0
- data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration.rb +65 -0
- data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration_request.rb +63 -0
- data/lib/merge_ruby_client/filestorage/types/operator_schema.rb +68 -0
- data/lib/merge_ruby_client/filestorage/types/paginated_condition_schema_list.rb +80 -0
- data/lib/merge_ruby_client/filestorage/types/permission.rb +4 -4
- data/lib/merge_ruby_client/filestorage/types/remote_field_api.rb +2 -16
- data/lib/merge_ruby_client/filestorage/types/user.rb +4 -4
- data/lib/merge_ruby_client/hris/audit_trail/client.rb +2 -4
- data/lib/merge_ruby_client/hris/client.rb +7 -0
- data/lib/merge_ruby_client/hris/groups/client.rb +2 -10
- data/lib/merge_ruby_client/hris/link_token/client.rb +4 -8
- data/lib/merge_ruby_client/hris/selective_sync/client.rb +218 -0
- data/lib/merge_ruby_client/hris/types/audit_log_event.rb +0 -6
- data/lib/merge_ruby_client/hris/types/bank_info.rb +4 -4
- data/lib/merge_ruby_client/hris/types/benefit.rb +4 -4
- data/lib/merge_ruby_client/hris/types/company.rb +4 -4
- data/lib/merge_ruby_client/hris/types/condition_schema.rb +136 -0
- data/lib/merge_ruby_client/hris/types/condition_type_enum.rb +22 -0
- data/lib/merge_ruby_client/hris/types/deduction.rb +4 -4
- data/lib/merge_ruby_client/hris/types/dependent.rb +4 -4
- data/lib/merge_ruby_client/hris/types/earning.rb +4 -4
- data/lib/merge_ruby_client/hris/types/employee.rb +4 -4
- data/lib/merge_ruby_client/hris/types/employee_payroll_run.rb +4 -4
- data/lib/merge_ruby_client/hris/types/employer_benefit.rb +4 -4
- data/lib/merge_ruby_client/hris/types/employment.rb +4 -4
- data/lib/merge_ruby_client/hris/types/event_type_enum.rb +0 -6
- data/lib/merge_ruby_client/hris/types/group.rb +5 -19
- data/lib/merge_ruby_client/hris/types/linked_account_condition.rb +104 -0
- data/lib/merge_ruby_client/hris/types/linked_account_condition_request.rb +87 -0
- data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration.rb +65 -0
- data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration_request.rb +63 -0
- data/lib/merge_ruby_client/hris/types/location.rb +4 -4
- data/lib/merge_ruby_client/hris/types/operator_schema.rb +68 -0
- data/lib/merge_ruby_client/hris/types/paginated_condition_schema_list.rb +80 -0
- data/lib/merge_ruby_client/hris/types/pay_group.rb +4 -4
- data/lib/merge_ruby_client/hris/types/payroll_run.rb +4 -4
- data/lib/merge_ruby_client/hris/types/remote_field_api.rb +2 -16
- data/lib/merge_ruby_client/hris/types/tax.rb +4 -4
- data/lib/merge_ruby_client/hris/types/team.rb +4 -4
- data/lib/merge_ruby_client/hris/types/time_off.rb +4 -4
- data/lib/merge_ruby_client/hris/types/time_off_balance.rb +4 -4
- data/lib/merge_ruby_client/hris/types/timesheet_entry.rb +4 -4
- data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +2 -4
- data/lib/merge_ruby_client/ticketing/client.rb +7 -0
- data/lib/merge_ruby_client/ticketing/contacts/client.rb +0 -127
- data/lib/merge_ruby_client/ticketing/link_token/client.rb +4 -8
- data/lib/merge_ruby_client/ticketing/selective_sync/client.rb +218 -0
- data/lib/merge_ruby_client/ticketing/types/account.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/attachment.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +0 -6
- data/lib/merge_ruby_client/ticketing/types/collection.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/comment.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/condition_schema.rb +136 -0
- data/lib/merge_ruby_client/ticketing/types/condition_type_enum.rb +22 -0
- data/lib/merge_ruby_client/ticketing/types/contact.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +0 -6
- data/lib/merge_ruby_client/ticketing/types/linked_account_condition.rb +104 -0
- data/lib/merge_ruby_client/ticketing/types/linked_account_condition_request.rb +87 -0
- data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration.rb +65 -0
- data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration_request.rb +63 -0
- data/lib/merge_ruby_client/ticketing/types/operator_schema.rb +68 -0
- data/lib/merge_ruby_client/ticketing/types/paginated_condition_schema_list.rb +80 -0
- data/lib/merge_ruby_client/ticketing/types/project.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/remote_field_api.rb +2 -16
- data/lib/merge_ruby_client/ticketing/types/role.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/tag.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/team.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/ticket.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/user.rb +4 -4
- data/lib/merge_ruby_client.rb +7 -7
- data/lib/requests.rb +2 -12
- data/lib/types_export.rb +153 -115
- metadata +56 -12
- data/lib/merge_ruby_client/accounting/types/payment_type_enum.rb +0 -12
- data/lib/merge_ruby_client/accounting/types/remote_field_api_coverage.rb +0 -54
- data/lib/merge_ruby_client/ats/types/remote_field_api_coverage.rb +0 -54
- data/lib/merge_ruby_client/crm/types/remote_field_api_coverage.rb +0 -54
- data/lib/merge_ruby_client/filestorage/types/remote_field_api_coverage.rb +0 -54
- data/lib/merge_ruby_client/hris/types/remote_field_api_coverage.rb +0 -54
- data/lib/merge_ruby_client/ticketing/types/contact_request.rb +0 -125
- data/lib/merge_ruby_client/ticketing/types/contact_request_account.rb +0 -56
- data/lib/merge_ruby_client/ticketing/types/remote_field_api_coverage.rb +0 -54
- data/lib/merge_ruby_client/ticketing/types/ticketing_contact_response.rb +0 -101
|
@@ -26,9 +26,6 @@ module Merge
|
|
|
26
26
|
# @param include_deleted_data [Boolean] Whether to include data that was marked as deleted by third party webhooks.
|
|
27
27
|
# @param include_remote_data [Boolean] Whether to include the original data Merge fetched from the third-party to
|
|
28
28
|
# produce these models.
|
|
29
|
-
# @param is_commonly_used_as_team [String] If provided, specifies whether to return only Group objects which refer to a
|
|
30
|
-
# team in the third party platform. Note that this is an opinionated view based on
|
|
31
|
-
# how a team may be represented in the third party platform.
|
|
32
29
|
# @param modified_after [DateTime] If provided, only objects synced by Merge after this date time will be returned.
|
|
33
30
|
# @param modified_before [DateTime] If provided, only objects synced by Merge before this date time will be
|
|
34
31
|
# returned.
|
|
@@ -52,7 +49,7 @@ module Merge
|
|
|
52
49
|
# )
|
|
53
50
|
# api.hris.list
|
|
54
51
|
def list(created_after: nil, created_before: nil, cursor: nil, include_deleted_data: nil,
|
|
55
|
-
include_remote_data: nil,
|
|
52
|
+
include_remote_data: nil, modified_after: nil, modified_before: nil, names: nil, page_size: nil, remote_fields: nil, remote_id: nil, show_enum_origins: nil, types: nil, request_options: nil)
|
|
56
53
|
response = @request_client.conn.get do |req|
|
|
57
54
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
58
55
|
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
@@ -65,7 +62,6 @@ module Merge
|
|
|
65
62
|
"cursor": cursor,
|
|
66
63
|
"include_deleted_data": include_deleted_data,
|
|
67
64
|
"include_remote_data": include_remote_data,
|
|
68
|
-
"is_commonly_used_as_team": is_commonly_used_as_team,
|
|
69
65
|
"modified_after": modified_after,
|
|
70
66
|
"modified_before": modified_before,
|
|
71
67
|
"names": names,
|
|
@@ -134,9 +130,6 @@ module Merge
|
|
|
134
130
|
# @param include_deleted_data [Boolean] Whether to include data that was marked as deleted by third party webhooks.
|
|
135
131
|
# @param include_remote_data [Boolean] Whether to include the original data Merge fetched from the third-party to
|
|
136
132
|
# produce these models.
|
|
137
|
-
# @param is_commonly_used_as_team [String] If provided, specifies whether to return only Group objects which refer to a
|
|
138
|
-
# team in the third party platform. Note that this is an opinionated view based on
|
|
139
|
-
# how a team may be represented in the third party platform.
|
|
140
133
|
# @param modified_after [DateTime] If provided, only objects synced by Merge after this date time will be returned.
|
|
141
134
|
# @param modified_before [DateTime] If provided, only objects synced by Merge before this date time will be
|
|
142
135
|
# returned.
|
|
@@ -160,7 +153,7 @@ module Merge
|
|
|
160
153
|
# )
|
|
161
154
|
# api.hris.list
|
|
162
155
|
def list(created_after: nil, created_before: nil, cursor: nil, include_deleted_data: nil,
|
|
163
|
-
include_remote_data: nil,
|
|
156
|
+
include_remote_data: nil, modified_after: nil, modified_before: nil, names: nil, page_size: nil, remote_fields: nil, remote_id: nil, show_enum_origins: nil, types: nil, request_options: nil)
|
|
164
157
|
Async do
|
|
165
158
|
response = @request_client.conn.get do |req|
|
|
166
159
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
@@ -174,7 +167,6 @@ module Merge
|
|
|
174
167
|
"cursor": cursor,
|
|
175
168
|
"include_deleted_data": include_deleted_data,
|
|
176
169
|
"include_remote_data": include_remote_data,
|
|
177
|
-
"is_commonly_used_as_team": is_commonly_used_as_team,
|
|
178
170
|
"modified_after": modified_after,
|
|
179
171
|
"modified_before": modified_before,
|
|
180
172
|
"names": names,
|
|
@@ -46,7 +46,6 @@ module Merge
|
|
|
46
46
|
# apply to the account that is going to be linked. Any model or field not
|
|
47
47
|
# specified in link token payload will default to existing settings.
|
|
48
48
|
# @param language [String] The language code for the language to localize Merge Link to.
|
|
49
|
-
# @param integration_specific_config [Hash{String => Object}] A JSON object containing integration-specific configuration options.
|
|
50
49
|
# @param request_options [Merge::RequestOptions]
|
|
51
50
|
# @return [Merge::Hris::LinkToken]
|
|
52
51
|
# @example
|
|
@@ -62,7 +61,7 @@ module Merge
|
|
|
62
61
|
# categories: [HRIS]
|
|
63
62
|
# )
|
|
64
63
|
def create(end_user_email_address:, end_user_organization_name:, end_user_origin_id:, categories:,
|
|
65
|
-
integration: nil, link_expiry_mins: nil, should_create_magic_link_url: nil, common_models: nil, category_common_model_scopes: nil, language: nil,
|
|
64
|
+
integration: nil, link_expiry_mins: nil, should_create_magic_link_url: nil, common_models: nil, category_common_model_scopes: nil, language: nil, request_options: nil)
|
|
66
65
|
response = @request_client.conn.post do |req|
|
|
67
66
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
68
67
|
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
@@ -79,8 +78,7 @@ module Merge
|
|
|
79
78
|
should_create_magic_link_url: should_create_magic_link_url,
|
|
80
79
|
common_models: common_models,
|
|
81
80
|
category_common_model_scopes: category_common_model_scopes,
|
|
82
|
-
language: language
|
|
83
|
-
integration_specific_config: integration_specific_config
|
|
81
|
+
language: language
|
|
84
82
|
}.compact
|
|
85
83
|
req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/link-token"
|
|
86
84
|
end
|
|
@@ -126,7 +124,6 @@ module Merge
|
|
|
126
124
|
# apply to the account that is going to be linked. Any model or field not
|
|
127
125
|
# specified in link token payload will default to existing settings.
|
|
128
126
|
# @param language [String] The language code for the language to localize Merge Link to.
|
|
129
|
-
# @param integration_specific_config [Hash{String => Object}] A JSON object containing integration-specific configuration options.
|
|
130
127
|
# @param request_options [Merge::RequestOptions]
|
|
131
128
|
# @return [Merge::Hris::LinkToken]
|
|
132
129
|
# @example
|
|
@@ -142,7 +139,7 @@ module Merge
|
|
|
142
139
|
# categories: [HRIS]
|
|
143
140
|
# )
|
|
144
141
|
def create(end_user_email_address:, end_user_organization_name:, end_user_origin_id:, categories:,
|
|
145
|
-
integration: nil, link_expiry_mins: nil, should_create_magic_link_url: nil, common_models: nil, category_common_model_scopes: nil, language: nil,
|
|
142
|
+
integration: nil, link_expiry_mins: nil, should_create_magic_link_url: nil, common_models: nil, category_common_model_scopes: nil, language: nil, request_options: nil)
|
|
146
143
|
Async do
|
|
147
144
|
response = @request_client.conn.post do |req|
|
|
148
145
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
@@ -160,8 +157,7 @@ module Merge
|
|
|
160
157
|
should_create_magic_link_url: should_create_magic_link_url,
|
|
161
158
|
common_models: common_models,
|
|
162
159
|
category_common_model_scopes: category_common_model_scopes,
|
|
163
|
-
language: language
|
|
164
|
-
integration_specific_config: integration_specific_config
|
|
160
|
+
language: language
|
|
165
161
|
}.compact
|
|
166
162
|
req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/link-token"
|
|
167
163
|
end
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../../../requests"
|
|
4
|
+
require_relative "../types/linked_account_selective_sync_configuration"
|
|
5
|
+
require "json"
|
|
6
|
+
require_relative "../types/linked_account_selective_sync_configuration_request"
|
|
7
|
+
require_relative "../types/paginated_condition_schema_list"
|
|
8
|
+
require "async"
|
|
9
|
+
|
|
10
|
+
module Merge
|
|
11
|
+
module Hris
|
|
12
|
+
class SelectiveSyncClient
|
|
13
|
+
# @return [Merge::RequestClient]
|
|
14
|
+
attr_reader :request_client
|
|
15
|
+
|
|
16
|
+
# @param request_client [Merge::RequestClient]
|
|
17
|
+
# @return [Merge::Hris::SelectiveSyncClient]
|
|
18
|
+
def initialize(request_client:)
|
|
19
|
+
@request_client = request_client
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Get a linked account's selective syncs.
|
|
23
|
+
#
|
|
24
|
+
# @param request_options [Merge::RequestOptions]
|
|
25
|
+
# @return [Array<Merge::Hris::LinkedAccountSelectiveSyncConfiguration>]
|
|
26
|
+
# @example
|
|
27
|
+
# api = Merge::Client.new(
|
|
28
|
+
# environment: Environment::PRODUCTION,
|
|
29
|
+
# base_url: "https://api.example.com",
|
|
30
|
+
# api_key: "YOUR_AUTH_TOKEN"
|
|
31
|
+
# )
|
|
32
|
+
# api.hris.configurations_list
|
|
33
|
+
def configurations_list(request_options: nil)
|
|
34
|
+
response = @request_client.conn.get do |req|
|
|
35
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
36
|
+
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
37
|
+
req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
|
|
38
|
+
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
|
|
39
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/selective-sync/configurations"
|
|
40
|
+
end
|
|
41
|
+
parsed_json = JSON.parse(response.body)
|
|
42
|
+
parsed_json&.map do |v|
|
|
43
|
+
v = v.to_json
|
|
44
|
+
Merge::Hris::LinkedAccountSelectiveSyncConfiguration.from_json(json_object: v)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# Replace a linked account's selective syncs.
|
|
49
|
+
#
|
|
50
|
+
# @param sync_configurations [Array<Hash>] The selective syncs associated with a linked account.Request of type Array<Merge::Hris::LinkedAccountSelectiveSyncConfigurationRequest>, as a Hash
|
|
51
|
+
# * :linked_account_conditions (Array<Merge::Hris::LinkedAccountConditionRequest>)
|
|
52
|
+
# @param request_options [Merge::RequestOptions]
|
|
53
|
+
# @return [Array<Merge::Hris::LinkedAccountSelectiveSyncConfiguration>]
|
|
54
|
+
# @example
|
|
55
|
+
# api = Merge::Client.new(
|
|
56
|
+
# environment: Environment::PRODUCTION,
|
|
57
|
+
# base_url: "https://api.example.com",
|
|
58
|
+
# api_key: "YOUR_AUTH_TOKEN"
|
|
59
|
+
# )
|
|
60
|
+
# api.hris.configurations_update(sync_configurations: [{ linked_account_conditions: }])
|
|
61
|
+
def configurations_update(sync_configurations:, request_options: nil)
|
|
62
|
+
response = @request_client.conn.put do |req|
|
|
63
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
64
|
+
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
65
|
+
req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
|
|
66
|
+
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
|
|
67
|
+
req.body = {
|
|
68
|
+
**(request_options&.additional_body_parameters || {}),
|
|
69
|
+
sync_configurations: sync_configurations
|
|
70
|
+
}.compact
|
|
71
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/selective-sync/configurations"
|
|
72
|
+
end
|
|
73
|
+
parsed_json = JSON.parse(response.body)
|
|
74
|
+
parsed_json&.map do |v|
|
|
75
|
+
v = v.to_json
|
|
76
|
+
Merge::Hris::LinkedAccountSelectiveSyncConfiguration.from_json(json_object: v)
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Get metadata for the conditions available to a linked account.
|
|
81
|
+
#
|
|
82
|
+
# @param common_model [String]
|
|
83
|
+
# @param cursor [String] The pagination cursor value.
|
|
84
|
+
# @param page_size [Integer] Number of results to return per page.
|
|
85
|
+
# @param request_options [Merge::RequestOptions]
|
|
86
|
+
# @return [Merge::Hris::PaginatedConditionSchemaList]
|
|
87
|
+
# @example
|
|
88
|
+
# api = Merge::Client.new(
|
|
89
|
+
# environment: Environment::PRODUCTION,
|
|
90
|
+
# base_url: "https://api.example.com",
|
|
91
|
+
# api_key: "YOUR_AUTH_TOKEN"
|
|
92
|
+
# )
|
|
93
|
+
# api.hris.meta_list
|
|
94
|
+
def meta_list(common_model: nil, cursor: nil, page_size: nil, request_options: nil)
|
|
95
|
+
response = @request_client.conn.get do |req|
|
|
96
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
97
|
+
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
98
|
+
req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
|
|
99
|
+
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
|
|
100
|
+
req.params = {
|
|
101
|
+
**(request_options&.additional_query_parameters || {}),
|
|
102
|
+
"common_model": common_model,
|
|
103
|
+
"cursor": cursor,
|
|
104
|
+
"page_size": page_size
|
|
105
|
+
}.compact
|
|
106
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/selective-sync/meta"
|
|
107
|
+
end
|
|
108
|
+
Merge::Hris::PaginatedConditionSchemaList.from_json(json_object: response.body)
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
class AsyncSelectiveSyncClient
|
|
113
|
+
# @return [Merge::AsyncRequestClient]
|
|
114
|
+
attr_reader :request_client
|
|
115
|
+
|
|
116
|
+
# @param request_client [Merge::AsyncRequestClient]
|
|
117
|
+
# @return [Merge::Hris::AsyncSelectiveSyncClient]
|
|
118
|
+
def initialize(request_client:)
|
|
119
|
+
@request_client = request_client
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Get a linked account's selective syncs.
|
|
123
|
+
#
|
|
124
|
+
# @param request_options [Merge::RequestOptions]
|
|
125
|
+
# @return [Array<Merge::Hris::LinkedAccountSelectiveSyncConfiguration>]
|
|
126
|
+
# @example
|
|
127
|
+
# api = Merge::Client.new(
|
|
128
|
+
# environment: Environment::PRODUCTION,
|
|
129
|
+
# base_url: "https://api.example.com",
|
|
130
|
+
# api_key: "YOUR_AUTH_TOKEN"
|
|
131
|
+
# )
|
|
132
|
+
# api.hris.configurations_list
|
|
133
|
+
def configurations_list(request_options: nil)
|
|
134
|
+
Async do
|
|
135
|
+
response = @request_client.conn.get do |req|
|
|
136
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
137
|
+
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
138
|
+
req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
|
|
139
|
+
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
|
|
140
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/selective-sync/configurations"
|
|
141
|
+
end
|
|
142
|
+
parsed_json = JSON.parse(response.body)
|
|
143
|
+
parsed_json&.map do |v|
|
|
144
|
+
v = v.to_json
|
|
145
|
+
Merge::Hris::LinkedAccountSelectiveSyncConfiguration.from_json(json_object: v)
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
# Replace a linked account's selective syncs.
|
|
151
|
+
#
|
|
152
|
+
# @param sync_configurations [Array<Hash>] The selective syncs associated with a linked account.Request of type Array<Merge::Hris::LinkedAccountSelectiveSyncConfigurationRequest>, as a Hash
|
|
153
|
+
# * :linked_account_conditions (Array<Merge::Hris::LinkedAccountConditionRequest>)
|
|
154
|
+
# @param request_options [Merge::RequestOptions]
|
|
155
|
+
# @return [Array<Merge::Hris::LinkedAccountSelectiveSyncConfiguration>]
|
|
156
|
+
# @example
|
|
157
|
+
# api = Merge::Client.new(
|
|
158
|
+
# environment: Environment::PRODUCTION,
|
|
159
|
+
# base_url: "https://api.example.com",
|
|
160
|
+
# api_key: "YOUR_AUTH_TOKEN"
|
|
161
|
+
# )
|
|
162
|
+
# api.hris.configurations_update(sync_configurations: [{ linked_account_conditions: }])
|
|
163
|
+
def configurations_update(sync_configurations:, request_options: nil)
|
|
164
|
+
Async do
|
|
165
|
+
response = @request_client.conn.put do |req|
|
|
166
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
167
|
+
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
168
|
+
req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
|
|
169
|
+
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
|
|
170
|
+
req.body = {
|
|
171
|
+
**(request_options&.additional_body_parameters || {}),
|
|
172
|
+
sync_configurations: sync_configurations
|
|
173
|
+
}.compact
|
|
174
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/selective-sync/configurations"
|
|
175
|
+
end
|
|
176
|
+
parsed_json = JSON.parse(response.body)
|
|
177
|
+
parsed_json&.map do |v|
|
|
178
|
+
v = v.to_json
|
|
179
|
+
Merge::Hris::LinkedAccountSelectiveSyncConfiguration.from_json(json_object: v)
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Get metadata for the conditions available to a linked account.
|
|
185
|
+
#
|
|
186
|
+
# @param common_model [String]
|
|
187
|
+
# @param cursor [String] The pagination cursor value.
|
|
188
|
+
# @param page_size [Integer] Number of results to return per page.
|
|
189
|
+
# @param request_options [Merge::RequestOptions]
|
|
190
|
+
# @return [Merge::Hris::PaginatedConditionSchemaList]
|
|
191
|
+
# @example
|
|
192
|
+
# api = Merge::Client.new(
|
|
193
|
+
# environment: Environment::PRODUCTION,
|
|
194
|
+
# base_url: "https://api.example.com",
|
|
195
|
+
# api_key: "YOUR_AUTH_TOKEN"
|
|
196
|
+
# )
|
|
197
|
+
# api.hris.meta_list
|
|
198
|
+
def meta_list(common_model: nil, cursor: nil, page_size: nil, request_options: nil)
|
|
199
|
+
Async do
|
|
200
|
+
response = @request_client.conn.get do |req|
|
|
201
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
202
|
+
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
203
|
+
req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
|
|
204
|
+
req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
|
|
205
|
+
req.params = {
|
|
206
|
+
**(request_options&.additional_query_parameters || {}),
|
|
207
|
+
"common_model": common_model,
|
|
208
|
+
"cursor": cursor,
|
|
209
|
+
"page_size": page_size
|
|
210
|
+
}.compact
|
|
211
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/hris/v1/selective-sync/meta"
|
|
212
|
+
end
|
|
213
|
+
Merge::Hris::PaginatedConditionSchemaList.from_json(json_object: response.body)
|
|
214
|
+
end
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
end
|
|
@@ -68,9 +68,6 @@ module Merge
|
|
|
68
68
|
# - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC
|
|
69
69
|
# - `MUTED_ISSUE` - MUTED_ISSUE
|
|
70
70
|
# - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK
|
|
71
|
-
# - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK
|
|
72
|
-
# - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK
|
|
73
|
-
# - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED
|
|
74
71
|
attr_reader :event_type
|
|
75
72
|
# @return [String]
|
|
76
73
|
attr_reader :event_description
|
|
@@ -138,9 +135,6 @@ module Merge
|
|
|
138
135
|
# - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC
|
|
139
136
|
# - `MUTED_ISSUE` - MUTED_ISSUE
|
|
140
137
|
# - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK
|
|
141
|
-
# - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK
|
|
142
|
-
# - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK
|
|
143
|
-
# - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED
|
|
144
138
|
# @param event_description [String]
|
|
145
139
|
# @param created_at [DateTime]
|
|
146
140
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
@@ -21,9 +21,9 @@ module Merge
|
|
|
21
21
|
attr_reader :id
|
|
22
22
|
# @return [String] The third-party API ID of the matching object.
|
|
23
23
|
attr_reader :remote_id
|
|
24
|
-
# @return [DateTime]
|
|
24
|
+
# @return [DateTime]
|
|
25
25
|
attr_reader :created_at
|
|
26
|
-
# @return [DateTime]
|
|
26
|
+
# @return [DateTime] This is the datetime that this object was last updated by Merge
|
|
27
27
|
attr_reader :modified_at
|
|
28
28
|
# @return [Merge::Hris::BankInfoEmployee] The employee with this bank account.
|
|
29
29
|
attr_reader :employee
|
|
@@ -56,8 +56,8 @@ module Merge
|
|
|
56
56
|
|
|
57
57
|
# @param id [String]
|
|
58
58
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
59
|
-
# @param created_at [DateTime]
|
|
60
|
-
# @param modified_at [DateTime]
|
|
59
|
+
# @param created_at [DateTime]
|
|
60
|
+
# @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
|
|
61
61
|
# @param employee [Merge::Hris::BankInfoEmployee] The employee with this bank account.
|
|
62
62
|
# @param account_number [String] The account number.
|
|
63
63
|
# @param routing_number [String] The routing number.
|
|
@@ -19,9 +19,9 @@ module Merge
|
|
|
19
19
|
attr_reader :id
|
|
20
20
|
# @return [String] The third-party API ID of the matching object.
|
|
21
21
|
attr_reader :remote_id
|
|
22
|
-
# @return [DateTime]
|
|
22
|
+
# @return [DateTime]
|
|
23
23
|
attr_reader :created_at
|
|
24
|
-
# @return [DateTime]
|
|
24
|
+
# @return [DateTime] This is the datetime that this object was last updated by Merge
|
|
25
25
|
attr_reader :modified_at
|
|
26
26
|
# @return [Merge::Hris::BenefitEmployee] The employee on the plan.
|
|
27
27
|
attr_reader :employee
|
|
@@ -56,8 +56,8 @@ module Merge
|
|
|
56
56
|
|
|
57
57
|
# @param id [String]
|
|
58
58
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
59
|
-
# @param created_at [DateTime]
|
|
60
|
-
# @param modified_at [DateTime]
|
|
59
|
+
# @param created_at [DateTime]
|
|
60
|
+
# @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
|
|
61
61
|
# @param employee [Merge::Hris::BenefitEmployee] The employee on the plan.
|
|
62
62
|
# @param provider_name [String] The name of the benefit provider.
|
|
63
63
|
# @param benefit_plan_type [String] The type of benefit plan
|
|
@@ -19,9 +19,9 @@ module Merge
|
|
|
19
19
|
attr_reader :id
|
|
20
20
|
# @return [String] The third-party API ID of the matching object.
|
|
21
21
|
attr_reader :remote_id
|
|
22
|
-
# @return [DateTime]
|
|
22
|
+
# @return [DateTime]
|
|
23
23
|
attr_reader :created_at
|
|
24
|
-
# @return [DateTime]
|
|
24
|
+
# @return [DateTime] This is the datetime that this object was last updated by Merge
|
|
25
25
|
attr_reader :modified_at
|
|
26
26
|
# @return [String] The company's legal name.
|
|
27
27
|
attr_reader :legal_name
|
|
@@ -46,8 +46,8 @@ module Merge
|
|
|
46
46
|
|
|
47
47
|
# @param id [String]
|
|
48
48
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
49
|
-
# @param created_at [DateTime]
|
|
50
|
-
# @param modified_at [DateTime]
|
|
49
|
+
# @param created_at [DateTime]
|
|
50
|
+
# @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
|
|
51
51
|
# @param legal_name [String] The company's legal name.
|
|
52
52
|
# @param display_name [String] The company's display name.
|
|
53
53
|
# @param eins [Array<String>] The company's Employer Identification Numbers.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "condition_type_enum"
|
|
4
|
+
require_relative "operator_schema"
|
|
5
|
+
require "ostruct"
|
|
6
|
+
require "json"
|
|
7
|
+
|
|
8
|
+
module Merge
|
|
9
|
+
module Hris
|
|
10
|
+
class ConditionSchema
|
|
11
|
+
# @return [String] The ID of the condition schema. This ID is used when updating selective syncs
|
|
12
|
+
# for a linked account.
|
|
13
|
+
attr_reader :id
|
|
14
|
+
# @return [String] The common model for which a condition schema is defined.
|
|
15
|
+
attr_reader :common_model
|
|
16
|
+
# @return [String]
|
|
17
|
+
attr_reader :native_name
|
|
18
|
+
# @return [String]
|
|
19
|
+
attr_reader :field_name
|
|
20
|
+
# @return [Boolean] Whether this condition can only be applied once. If false, the condition can be
|
|
21
|
+
# AND'd together multiple times.
|
|
22
|
+
attr_reader :is_unique
|
|
23
|
+
# @return [Merge::Hris::ConditionTypeEnum] The type of value(s) that can be set for this condition.
|
|
24
|
+
# - `BOOLEAN` - BOOLEAN
|
|
25
|
+
# - `DATE` - DATE
|
|
26
|
+
# - `DATE_TIME` - DATE_TIME
|
|
27
|
+
# - `INTEGER` - INTEGER
|
|
28
|
+
# - `FLOAT` - FLOAT
|
|
29
|
+
# - `STRING` - STRING
|
|
30
|
+
# - `LIST_OF_STRINGS` - LIST_OF_STRINGS
|
|
31
|
+
attr_reader :condition_type
|
|
32
|
+
# @return [Array<Merge::Hris::OperatorSchema>] The schemas for the operators that can be used on a condition.
|
|
33
|
+
attr_reader :operators
|
|
34
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
35
|
+
attr_reader :additional_properties
|
|
36
|
+
# @return [Object]
|
|
37
|
+
attr_reader :_field_set
|
|
38
|
+
protected :_field_set
|
|
39
|
+
|
|
40
|
+
OMIT = Object.new
|
|
41
|
+
|
|
42
|
+
# @param id [String] The ID of the condition schema. This ID is used when updating selective syncs
|
|
43
|
+
# for a linked account.
|
|
44
|
+
# @param common_model [String] The common model for which a condition schema is defined.
|
|
45
|
+
# @param native_name [String]
|
|
46
|
+
# @param field_name [String]
|
|
47
|
+
# @param is_unique [Boolean] Whether this condition can only be applied once. If false, the condition can be
|
|
48
|
+
# AND'd together multiple times.
|
|
49
|
+
# @param condition_type [Merge::Hris::ConditionTypeEnum] The type of value(s) that can be set for this condition.
|
|
50
|
+
# - `BOOLEAN` - BOOLEAN
|
|
51
|
+
# - `DATE` - DATE
|
|
52
|
+
# - `DATE_TIME` - DATE_TIME
|
|
53
|
+
# - `INTEGER` - INTEGER
|
|
54
|
+
# - `FLOAT` - FLOAT
|
|
55
|
+
# - `STRING` - STRING
|
|
56
|
+
# - `LIST_OF_STRINGS` - LIST_OF_STRINGS
|
|
57
|
+
# @param operators [Array<Merge::Hris::OperatorSchema>] The schemas for the operators that can be used on a condition.
|
|
58
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
59
|
+
# @return [Merge::Hris::ConditionSchema]
|
|
60
|
+
def initialize(id:, condition_type:, operators:, common_model: OMIT, native_name: OMIT, field_name: OMIT,
|
|
61
|
+
is_unique: OMIT, additional_properties: nil)
|
|
62
|
+
@id = id
|
|
63
|
+
@common_model = common_model if common_model != OMIT
|
|
64
|
+
@native_name = native_name if native_name != OMIT
|
|
65
|
+
@field_name = field_name if field_name != OMIT
|
|
66
|
+
@is_unique = is_unique if is_unique != OMIT
|
|
67
|
+
@condition_type = condition_type
|
|
68
|
+
@operators = operators
|
|
69
|
+
@additional_properties = additional_properties
|
|
70
|
+
@_field_set = {
|
|
71
|
+
"id": id,
|
|
72
|
+
"common_model": common_model,
|
|
73
|
+
"native_name": native_name,
|
|
74
|
+
"field_name": field_name,
|
|
75
|
+
"is_unique": is_unique,
|
|
76
|
+
"condition_type": condition_type,
|
|
77
|
+
"operators": operators
|
|
78
|
+
}.reject do |_k, v|
|
|
79
|
+
v == OMIT
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Deserialize a JSON object to an instance of ConditionSchema
|
|
84
|
+
#
|
|
85
|
+
# @param json_object [String]
|
|
86
|
+
# @return [Merge::Hris::ConditionSchema]
|
|
87
|
+
def self.from_json(json_object:)
|
|
88
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
89
|
+
parsed_json = JSON.parse(json_object)
|
|
90
|
+
id = struct["id"]
|
|
91
|
+
common_model = struct["common_model"]
|
|
92
|
+
native_name = struct["native_name"]
|
|
93
|
+
field_name = struct["field_name"]
|
|
94
|
+
is_unique = struct["is_unique"]
|
|
95
|
+
condition_type = struct["condition_type"]
|
|
96
|
+
operators = parsed_json["operators"]&.map do |v|
|
|
97
|
+
v = v.to_json
|
|
98
|
+
Merge::Hris::OperatorSchema.from_json(json_object: v)
|
|
99
|
+
end
|
|
100
|
+
new(
|
|
101
|
+
id: id,
|
|
102
|
+
common_model: common_model,
|
|
103
|
+
native_name: native_name,
|
|
104
|
+
field_name: field_name,
|
|
105
|
+
is_unique: is_unique,
|
|
106
|
+
condition_type: condition_type,
|
|
107
|
+
operators: operators,
|
|
108
|
+
additional_properties: struct
|
|
109
|
+
)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
# Serialize an instance of ConditionSchema to a JSON object
|
|
113
|
+
#
|
|
114
|
+
# @return [String]
|
|
115
|
+
def to_json(*_args)
|
|
116
|
+
@_field_set&.to_json
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
120
|
+
# hash and check each fields type against the current object's property
|
|
121
|
+
# definitions.
|
|
122
|
+
#
|
|
123
|
+
# @param obj [Object]
|
|
124
|
+
# @return [Void]
|
|
125
|
+
def self.validate_raw(obj:)
|
|
126
|
+
obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
|
127
|
+
obj.common_model&.is_a?(String) != false || raise("Passed value for field obj.common_model is not the expected type, validation failed.")
|
|
128
|
+
obj.native_name&.is_a?(String) != false || raise("Passed value for field obj.native_name is not the expected type, validation failed.")
|
|
129
|
+
obj.field_name&.is_a?(String) != false || raise("Passed value for field obj.field_name is not the expected type, validation failed.")
|
|
130
|
+
obj.is_unique&.is_a?(Boolean) != false || raise("Passed value for field obj.is_unique is not the expected type, validation failed.")
|
|
131
|
+
obj.condition_type.is_a?(Merge::Hris::ConditionTypeEnum) != false || raise("Passed value for field obj.condition_type is not the expected type, validation failed.")
|
|
132
|
+
obj.operators.is_a?(Array) != false || raise("Passed value for field obj.operators is not the expected type, validation failed.")
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Merge
|
|
4
|
+
module Hris
|
|
5
|
+
# - `BOOLEAN` - BOOLEAN
|
|
6
|
+
# - `DATE` - DATE
|
|
7
|
+
# - `DATE_TIME` - DATE_TIME
|
|
8
|
+
# - `INTEGER` - INTEGER
|
|
9
|
+
# - `FLOAT` - FLOAT
|
|
10
|
+
# - `STRING` - STRING
|
|
11
|
+
# - `LIST_OF_STRINGS` - LIST_OF_STRINGS
|
|
12
|
+
class ConditionTypeEnum
|
|
13
|
+
BOOLEAN = "BOOLEAN"
|
|
14
|
+
DATE = "DATE"
|
|
15
|
+
DATE_TIME = "DATE_TIME"
|
|
16
|
+
INTEGER = "INTEGER"
|
|
17
|
+
FLOAT = "FLOAT"
|
|
18
|
+
STRING = "STRING"
|
|
19
|
+
LIST_OF_STRINGS = "LIST_OF_STRINGS"
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -19,9 +19,9 @@ module Merge
|
|
|
19
19
|
attr_reader :id
|
|
20
20
|
# @return [String] The third-party API ID of the matching object.
|
|
21
21
|
attr_reader :remote_id
|
|
22
|
-
# @return [DateTime]
|
|
22
|
+
# @return [DateTime]
|
|
23
23
|
attr_reader :created_at
|
|
24
|
-
# @return [DateTime]
|
|
24
|
+
# @return [DateTime] This is the datetime that this object was last updated by Merge
|
|
25
25
|
attr_reader :modified_at
|
|
26
26
|
# @return [String]
|
|
27
27
|
attr_reader :employee_payroll_run
|
|
@@ -49,8 +49,8 @@ module Merge
|
|
|
49
49
|
|
|
50
50
|
# @param id [String]
|
|
51
51
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
52
|
-
# @param created_at [DateTime]
|
|
53
|
-
# @param modified_at [DateTime]
|
|
52
|
+
# @param created_at [DateTime]
|
|
53
|
+
# @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
|
|
54
54
|
# @param employee_payroll_run [String]
|
|
55
55
|
# @param name [String] The deduction's name.
|
|
56
56
|
# @param employee_deduction [Float] The amount of money that is withheld from an employee's gross pay by the
|
|
@@ -21,9 +21,9 @@ module Merge
|
|
|
21
21
|
attr_reader :id
|
|
22
22
|
# @return [String] The third-party API ID of the matching object.
|
|
23
23
|
attr_reader :remote_id
|
|
24
|
-
# @return [DateTime]
|
|
24
|
+
# @return [DateTime]
|
|
25
25
|
attr_reader :created_at
|
|
26
|
-
# @return [DateTime]
|
|
26
|
+
# @return [DateTime] This is the datetime that this object was last updated by Merge
|
|
27
27
|
attr_reader :modified_at
|
|
28
28
|
# @return [String] The dependents's first name.
|
|
29
29
|
attr_reader :first_name
|
|
@@ -72,8 +72,8 @@ module Merge
|
|
|
72
72
|
|
|
73
73
|
# @param id [String]
|
|
74
74
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
75
|
-
# @param created_at [DateTime]
|
|
76
|
-
# @param modified_at [DateTime]
|
|
75
|
+
# @param created_at [DateTime]
|
|
76
|
+
# @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
|
|
77
77
|
# @param first_name [String] The dependents's first name.
|
|
78
78
|
# @param middle_name [String] The dependents's middle name.
|
|
79
79
|
# @param last_name [String] The dependents's last name.
|
|
@@ -19,9 +19,9 @@ module Merge
|
|
|
19
19
|
attr_reader :id
|
|
20
20
|
# @return [String] The third-party API ID of the matching object.
|
|
21
21
|
attr_reader :remote_id
|
|
22
|
-
# @return [DateTime]
|
|
22
|
+
# @return [DateTime]
|
|
23
23
|
attr_reader :created_at
|
|
24
|
-
# @return [DateTime]
|
|
24
|
+
# @return [DateTime] This is the datetime that this object was last updated by Merge
|
|
25
25
|
attr_reader :modified_at
|
|
26
26
|
# @return [String]
|
|
27
27
|
attr_reader :employee_payroll_run
|
|
@@ -50,8 +50,8 @@ module Merge
|
|
|
50
50
|
|
|
51
51
|
# @param id [String]
|
|
52
52
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
53
|
-
# @param created_at [DateTime]
|
|
54
|
-
# @param modified_at [DateTime]
|
|
53
|
+
# @param created_at [DateTime]
|
|
54
|
+
# @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
|
|
55
55
|
# @param employee_payroll_run [String]
|
|
56
56
|
# @param amount [Float] The amount earned.
|
|
57
57
|
# @param type [Merge::Hris::EarningTypeEnum] The type of earning.
|