merge_ruby_client 0.1.0 → 0.1.2
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/environment.rb +3 -3
- data/lib/merge_ruby_client/accounting/audit_trail/client.rb +4 -2
- data/lib/merge_ruby_client/accounting/client.rb +0 -7
- data/lib/merge_ruby_client/accounting/field_mapping/client.rb +2 -2
- data/lib/merge_ruby_client/accounting/link_token/client.rb +10 -6
- data/lib/merge_ruby_client/accounting/payments/client.rb +4 -0
- data/lib/merge_ruby_client/accounting/scopes/client.rb +2 -2
- 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 +6 -0
- 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/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 +5 -13
- data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +6 -0
- 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/patched_payment_request.rb +14 -1
- data/lib/merge_ruby_client/accounting/types/payment.rb +18 -5
- data/lib/merge_ruby_client/accounting/types/payment_line_item.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/payment_request.rb +14 -1
- data/lib/merge_ruby_client/accounting/types/payment_type_enum.rb +12 -0
- 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 +16 -2
- data/lib/merge_ruby_client/accounting/types/remote_field_api_coverage.rb +54 -0
- data/lib/merge_ruby_client/accounting/types/report_item.rb +4 -4
- data/lib/merge_ruby_client/accounting/types/tax_rate.rb +12 -10
- data/lib/merge_ruby_client/accounting/types/tax_rate_company.rb +2 -1
- 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 +4 -2
- data/lib/merge_ruby_client/ats/client.rb +0 -7
- data/lib/merge_ruby_client/ats/field_mapping/client.rb +2 -2
- data/lib/merge_ruby_client/ats/job_postings/client.rb +16 -4
- data/lib/merge_ruby_client/ats/link_token/client.rb +10 -6
- data/lib/merge_ruby_client/ats/scopes/client.rb +2 -2
- 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 +6 -0
- data/lib/merge_ruby_client/ats/types/candidate.rb +4 -4
- 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 +6 -0
- 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/offer.rb +4 -4
- data/lib/merge_ruby_client/ats/types/office.rb +4 -4
- 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 +16 -2
- data/lib/merge_ruby_client/ats/types/remote_field_api_coverage.rb +54 -0
- 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 +4 -0
- data/lib/merge_ruby_client/crm/audit_trail/client.rb +4 -2
- data/lib/merge_ruby_client/crm/client.rb +0 -7
- data/lib/merge_ruby_client/crm/field_mapping/client.rb +2 -2
- data/lib/merge_ruby_client/crm/link_token/client.rb +10 -6
- data/lib/merge_ruby_client/crm/scopes/client.rb +2 -2
- data/lib/merge_ruby_client/crm/types/account.rb +4 -4
- data/lib/merge_ruby_client/crm/types/account_request.rb +13 -1
- 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 +1 -0
- data/lib/merge_ruby_client/crm/types/association_sub_type.rb +4 -4
- data/lib/merge_ruby_client/crm/types/association_type.rb +8 -6
- data/lib/merge_ruby_client/crm/types/audit_log_event.rb +6 -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 +10 -8
- 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 +6 -0
- data/lib/merge_ruby_client/crm/types/lead.rb +4 -4
- data/lib/merge_ruby_client/crm/types/note.rb +4 -4
- data/lib/merge_ruby_client/crm/types/opportunity.rb +4 -4
- data/lib/merge_ruby_client/crm/types/patched_account_request.rb +13 -1
- data/lib/merge_ruby_client/crm/types/phone_number.rb +4 -4
- data/lib/merge_ruby_client/crm/types/remote_field_api.rb +16 -2
- data/lib/merge_ruby_client/crm/types/remote_field_api_coverage.rb +54 -0
- 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 +4 -2
- data/lib/merge_ruby_client/filestorage/client.rb +0 -7
- data/lib/merge_ruby_client/filestorage/field_mapping/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/link_token/client.rb +10 -6
- data/lib/merge_ruby_client/filestorage/scopes/client.rb +2 -2
- data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +6 -0
- data/lib/merge_ruby_client/filestorage/types/drive.rb +4 -4
- data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +6 -0
- 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/permission.rb +4 -4
- data/lib/merge_ruby_client/filestorage/types/remote_field_api.rb +16 -2
- data/lib/merge_ruby_client/filestorage/types/remote_field_api_coverage.rb +54 -0
- data/lib/merge_ruby_client/filestorage/types/user.rb +4 -4
- data/lib/merge_ruby_client/hris/audit_trail/client.rb +4 -2
- data/lib/merge_ruby_client/hris/client.rb +0 -7
- data/lib/merge_ruby_client/hris/field_mapping/client.rb +2 -2
- data/lib/merge_ruby_client/hris/groups/client.rb +10 -2
- data/lib/merge_ruby_client/hris/link_token/client.rb +10 -6
- data/lib/merge_ruby_client/hris/scopes/client.rb +2 -2
- data/lib/merge_ruby_client/hris/types/audit_log_event.rb +6 -0
- 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/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 +6 -0
- data/lib/merge_ruby_client/hris/types/group.rb +19 -5
- data/lib/merge_ruby_client/hris/types/location.rb +4 -4
- 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 +16 -2
- data/lib/merge_ruby_client/hris/types/remote_field_api_coverage.rb +54 -0
- 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 +4 -2
- data/lib/merge_ruby_client/ticketing/client.rb +0 -7
- data/lib/merge_ruby_client/ticketing/contacts/client.rb +127 -0
- data/lib/merge_ruby_client/ticketing/field_mapping/client.rb +2 -2
- data/lib/merge_ruby_client/ticketing/link_token/client.rb +10 -6
- data/lib/merge_ruby_client/ticketing/scopes/client.rb +2 -2
- 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 +6 -0
- 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/contact.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/contact_request.rb +125 -0
- data/lib/merge_ruby_client/ticketing/types/contact_request_account.rb +56 -0
- data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +6 -0
- data/lib/merge_ruby_client/ticketing/types/project.rb +4 -4
- data/lib/merge_ruby_client/ticketing/types/remote_field_api.rb +16 -2
- data/lib/merge_ruby_client/ticketing/types/remote_field_api_coverage.rb +54 -0
- 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/ticketing_contact_response.rb +101 -0
- data/lib/merge_ruby_client/ticketing/types/user.rb +4 -4
- data/lib/merge_ruby_client.rb +7 -7
- data/lib/requests.rb +12 -2
- data/lib/types_export.rb +162 -200
- metadata +12 -56
- data/lib/merge_ruby_client/accounting/selective_sync/client.rb +0 -218
- data/lib/merge_ruby_client/accounting/types/condition_schema.rb +0 -136
- data/lib/merge_ruby_client/accounting/types/condition_type_enum.rb +0 -22
- data/lib/merge_ruby_client/accounting/types/linked_account_condition.rb +0 -104
- data/lib/merge_ruby_client/accounting/types/linked_account_condition_request.rb +0 -87
- data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration.rb +0 -65
- data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration_request.rb +0 -63
- data/lib/merge_ruby_client/accounting/types/operator_schema.rb +0 -68
- data/lib/merge_ruby_client/accounting/types/paginated_condition_schema_list.rb +0 -80
- data/lib/merge_ruby_client/ats/selective_sync/client.rb +0 -218
- data/lib/merge_ruby_client/ats/types/condition_schema.rb +0 -136
- data/lib/merge_ruby_client/ats/types/condition_type_enum.rb +0 -22
- data/lib/merge_ruby_client/ats/types/linked_account_condition.rb +0 -104
- data/lib/merge_ruby_client/ats/types/linked_account_condition_request.rb +0 -87
- data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration.rb +0 -65
- data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration_request.rb +0 -63
- data/lib/merge_ruby_client/ats/types/operator_schema.rb +0 -68
- data/lib/merge_ruby_client/ats/types/paginated_condition_schema_list.rb +0 -80
- data/lib/merge_ruby_client/crm/selective_sync/client.rb +0 -218
- data/lib/merge_ruby_client/crm/types/condition_schema.rb +0 -136
- data/lib/merge_ruby_client/crm/types/condition_type_enum.rb +0 -22
- data/lib/merge_ruby_client/crm/types/linked_account_condition.rb +0 -104
- data/lib/merge_ruby_client/crm/types/linked_account_condition_request.rb +0 -87
- data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration.rb +0 -65
- data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration_request.rb +0 -63
- data/lib/merge_ruby_client/crm/types/operator_schema.rb +0 -68
- data/lib/merge_ruby_client/crm/types/paginated_condition_schema_list.rb +0 -80
- data/lib/merge_ruby_client/filestorage/selective_sync/client.rb +0 -218
- data/lib/merge_ruby_client/filestorage/types/condition_schema.rb +0 -136
- data/lib/merge_ruby_client/filestorage/types/condition_type_enum.rb +0 -22
- data/lib/merge_ruby_client/filestorage/types/linked_account_condition.rb +0 -104
- data/lib/merge_ruby_client/filestorage/types/linked_account_condition_request.rb +0 -87
- data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration.rb +0 -65
- data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration_request.rb +0 -63
- data/lib/merge_ruby_client/filestorage/types/operator_schema.rb +0 -68
- data/lib/merge_ruby_client/filestorage/types/paginated_condition_schema_list.rb +0 -80
- data/lib/merge_ruby_client/hris/selective_sync/client.rb +0 -218
- data/lib/merge_ruby_client/hris/types/condition_schema.rb +0 -136
- data/lib/merge_ruby_client/hris/types/condition_type_enum.rb +0 -22
- data/lib/merge_ruby_client/hris/types/linked_account_condition.rb +0 -104
- data/lib/merge_ruby_client/hris/types/linked_account_condition_request.rb +0 -87
- data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration.rb +0 -65
- data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration_request.rb +0 -63
- data/lib/merge_ruby_client/hris/types/operator_schema.rb +0 -68
- data/lib/merge_ruby_client/hris/types/paginated_condition_schema_list.rb +0 -80
- data/lib/merge_ruby_client/ticketing/selective_sync/client.rb +0 -218
- data/lib/merge_ruby_client/ticketing/types/condition_schema.rb +0 -136
- data/lib/merge_ruby_client/ticketing/types/condition_type_enum.rb +0 -22
- data/lib/merge_ruby_client/ticketing/types/linked_account_condition.rb +0 -104
- data/lib/merge_ruby_client/ticketing/types/linked_account_condition_request.rb +0 -87
- data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration.rb +0 -65
- data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration_request.rb +0 -63
- data/lib/merge_ruby_client/ticketing/types/operator_schema.rb +0 -68
- data/lib/merge_ruby_client/ticketing/types/paginated_condition_schema_list.rb +0 -80
|
@@ -66,7 +66,7 @@ module Merge
|
|
|
66
66
|
# api.ticketing.field_mappings_create(
|
|
67
67
|
# target_field_name: "example_target_field_name",
|
|
68
68
|
# target_field_description: "this is a example description of the target field",
|
|
69
|
-
# remote_field_traversal_path: ,
|
|
69
|
+
# remote_field_traversal_path: ["example_remote_field"],
|
|
70
70
|
# remote_method: "GET",
|
|
71
71
|
# remote_url_path: "/example-url-path",
|
|
72
72
|
# common_model_name: "ExampleCommonModel"
|
|
@@ -274,7 +274,7 @@ module Merge
|
|
|
274
274
|
# api.ticketing.field_mappings_create(
|
|
275
275
|
# target_field_name: "example_target_field_name",
|
|
276
276
|
# target_field_description: "this is a example description of the target field",
|
|
277
|
-
# remote_field_traversal_path: ,
|
|
277
|
+
# remote_field_traversal_path: ["example_remote_field"],
|
|
278
278
|
# remote_method: "GET",
|
|
279
279
|
# remote_url_path: "/example-url-path",
|
|
280
280
|
# common_model_name: "ExampleCommonModel"
|
|
@@ -46,6 +46,7 @@ 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.
|
|
49
50
|
# @param request_options [Merge::RequestOptions]
|
|
50
51
|
# @return [Merge::Ticketing::LinkToken]
|
|
51
52
|
# @example
|
|
@@ -58,10 +59,10 @@ module Merge
|
|
|
58
59
|
# end_user_email_address: "example@gmail.com",
|
|
59
60
|
# end_user_organization_name: "Test Organization",
|
|
60
61
|
# end_user_origin_id: "12345",
|
|
61
|
-
# categories: [HRIS]
|
|
62
|
+
# categories: [HRIS, ATS]
|
|
62
63
|
# )
|
|
63
64
|
def create(end_user_email_address:, end_user_organization_name:, end_user_origin_id:, categories:,
|
|
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)
|
|
65
|
+
integration: nil, link_expiry_mins: nil, should_create_magic_link_url: nil, common_models: nil, category_common_model_scopes: nil, language: nil, integration_specific_config: nil, request_options: nil)
|
|
65
66
|
response = @request_client.conn.post do |req|
|
|
66
67
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
67
68
|
req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
|
|
@@ -78,7 +79,8 @@ module Merge
|
|
|
78
79
|
should_create_magic_link_url: should_create_magic_link_url,
|
|
79
80
|
common_models: common_models,
|
|
80
81
|
category_common_model_scopes: category_common_model_scopes,
|
|
81
|
-
language: language
|
|
82
|
+
language: language,
|
|
83
|
+
integration_specific_config: integration_specific_config
|
|
82
84
|
}.compact
|
|
83
85
|
req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/link-token"
|
|
84
86
|
end
|
|
@@ -124,6 +126,7 @@ module Merge
|
|
|
124
126
|
# apply to the account that is going to be linked. Any model or field not
|
|
125
127
|
# specified in link token payload will default to existing settings.
|
|
126
128
|
# @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.
|
|
127
130
|
# @param request_options [Merge::RequestOptions]
|
|
128
131
|
# @return [Merge::Ticketing::LinkToken]
|
|
129
132
|
# @example
|
|
@@ -136,10 +139,10 @@ module Merge
|
|
|
136
139
|
# end_user_email_address: "example@gmail.com",
|
|
137
140
|
# end_user_organization_name: "Test Organization",
|
|
138
141
|
# end_user_origin_id: "12345",
|
|
139
|
-
# categories: [HRIS]
|
|
142
|
+
# categories: [HRIS, ATS]
|
|
140
143
|
# )
|
|
141
144
|
def create(end_user_email_address:, end_user_organization_name:, end_user_origin_id:, categories:,
|
|
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)
|
|
145
|
+
integration: nil, link_expiry_mins: nil, should_create_magic_link_url: nil, common_models: nil, category_common_model_scopes: nil, language: nil, integration_specific_config: nil, request_options: nil)
|
|
143
146
|
Async do
|
|
144
147
|
response = @request_client.conn.post do |req|
|
|
145
148
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
@@ -157,7 +160,8 @@ module Merge
|
|
|
157
160
|
should_create_magic_link_url: should_create_magic_link_url,
|
|
158
161
|
common_models: common_models,
|
|
159
162
|
category_common_model_scopes: category_common_model_scopes,
|
|
160
|
-
language: language
|
|
163
|
+
language: language,
|
|
164
|
+
integration_specific_config: integration_specific_config
|
|
161
165
|
}.compact
|
|
162
166
|
req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/link-token"
|
|
163
167
|
end
|
|
@@ -83,7 +83,7 @@ module Merge
|
|
|
83
83
|
# base_url: "https://api.example.com",
|
|
84
84
|
# api_key: "YOUR_AUTH_TOKEN"
|
|
85
85
|
# )
|
|
86
|
-
# api.ticketing.linked_account_scopes_create(common_models: [{ model_name: "model_name" }])
|
|
86
|
+
# api.ticketing.linked_account_scopes_create(common_models: [{ model_name: "Employee", model_permissions: { "READ": { is_enabled: true }, "WRITE": { is_enabled: false } } }, { model_name: "Benefit", model_permissions: { "WRITE": { is_enabled: false } } }])
|
|
87
87
|
def linked_account_scopes_create(common_models:, request_options: nil)
|
|
88
88
|
response = @request_client.conn.post do |req|
|
|
89
89
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
|
@@ -177,7 +177,7 @@ module Merge
|
|
|
177
177
|
# base_url: "https://api.example.com",
|
|
178
178
|
# api_key: "YOUR_AUTH_TOKEN"
|
|
179
179
|
# )
|
|
180
|
-
# api.ticketing.linked_account_scopes_create(common_models: [{ model_name: "model_name" }])
|
|
180
|
+
# api.ticketing.linked_account_scopes_create(common_models: [{ model_name: "Employee", model_permissions: { "READ": { is_enabled: true }, "WRITE": { is_enabled: false } } }, { model_name: "Benefit", model_permissions: { "WRITE": { is_enabled: false } } }])
|
|
181
181
|
def linked_account_scopes_create(common_models:, request_options: nil)
|
|
182
182
|
Async do
|
|
183
183
|
response = @request_client.conn.post do |req|
|
|
@@ -20,9 +20,9 @@ module Merge
|
|
|
20
20
|
attr_reader :id
|
|
21
21
|
# @return [String] The third-party API ID of the matching object.
|
|
22
22
|
attr_reader :remote_id
|
|
23
|
-
# @return [DateTime]
|
|
23
|
+
# @return [DateTime] The datetime that this object was created by Merge.
|
|
24
24
|
attr_reader :created_at
|
|
25
|
-
# @return [DateTime]
|
|
25
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
|
26
26
|
attr_reader :modified_at
|
|
27
27
|
# @return [String] The account's name.
|
|
28
28
|
attr_reader :name
|
|
@@ -45,8 +45,8 @@ module Merge
|
|
|
45
45
|
|
|
46
46
|
# @param id [String]
|
|
47
47
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
48
|
-
# @param created_at [DateTime]
|
|
49
|
-
# @param modified_at [DateTime]
|
|
48
|
+
# @param created_at [DateTime] The datetime that this object was created by Merge.
|
|
49
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
|
50
50
|
# @param name [String] The account's name.
|
|
51
51
|
# @param domains [Array<String>] The account's domain names.
|
|
52
52
|
# @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
|
|
@@ -18,9 +18,9 @@ module Merge
|
|
|
18
18
|
attr_reader :id
|
|
19
19
|
# @return [String] The third-party API ID of the matching object.
|
|
20
20
|
attr_reader :remote_id
|
|
21
|
-
# @return [DateTime]
|
|
21
|
+
# @return [DateTime] The datetime that this object was created by Merge.
|
|
22
22
|
attr_reader :created_at
|
|
23
|
-
# @return [DateTime]
|
|
23
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
|
24
24
|
attr_reader :modified_at
|
|
25
25
|
# @return [String] The attachment's name. It is required to include the file extension in the
|
|
26
26
|
# attachment's name.
|
|
@@ -52,8 +52,8 @@ module Merge
|
|
|
52
52
|
|
|
53
53
|
# @param id [String]
|
|
54
54
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
55
|
-
# @param created_at [DateTime]
|
|
56
|
-
# @param modified_at [DateTime]
|
|
55
|
+
# @param created_at [DateTime] The datetime that this object was created by Merge.
|
|
56
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
|
57
57
|
# @param file_name [String] The attachment's name. It is required to include the file extension in the
|
|
58
58
|
# attachment's name.
|
|
59
59
|
# @param ticket [Merge::Ticketing::AttachmentTicket] The ticket associated with the attachment.
|
|
@@ -68,6 +68,9 @@ 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
|
|
71
74
|
attr_reader :event_type
|
|
72
75
|
# @return [String]
|
|
73
76
|
attr_reader :event_description
|
|
@@ -135,6 +138,9 @@ module Merge
|
|
|
135
138
|
# - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC
|
|
136
139
|
# - `MUTED_ISSUE` - MUTED_ISSUE
|
|
137
140
|
# - `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
|
|
138
144
|
# @param event_description [String]
|
|
139
145
|
# @param created_at [DateTime]
|
|
140
146
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
@@ -22,9 +22,9 @@ module Merge
|
|
|
22
22
|
attr_reader :id
|
|
23
23
|
# @return [String] The third-party API ID of the matching object.
|
|
24
24
|
attr_reader :remote_id
|
|
25
|
-
# @return [DateTime]
|
|
25
|
+
# @return [DateTime] The datetime that this object was created by Merge.
|
|
26
26
|
attr_reader :created_at
|
|
27
|
-
# @return [DateTime]
|
|
27
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
|
28
28
|
attr_reader :modified_at
|
|
29
29
|
# @return [String] The collection's name.
|
|
30
30
|
attr_reader :name
|
|
@@ -58,8 +58,8 @@ module Merge
|
|
|
58
58
|
|
|
59
59
|
# @param id [String]
|
|
60
60
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
61
|
-
# @param created_at [DateTime]
|
|
62
|
-
# @param modified_at [DateTime]
|
|
61
|
+
# @param created_at [DateTime] The datetime that this object was created by Merge.
|
|
62
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
|
63
63
|
# @param name [String] The collection's name.
|
|
64
64
|
# @param description [String] The collection's description.
|
|
65
65
|
# @param collection_type [Merge::Ticketing::CollectionTypeEnum] The collection's type.
|
|
@@ -20,9 +20,9 @@ module Merge
|
|
|
20
20
|
attr_reader :id
|
|
21
21
|
# @return [String] The third-party API ID of the matching object.
|
|
22
22
|
attr_reader :remote_id
|
|
23
|
-
# @return [DateTime]
|
|
23
|
+
# @return [DateTime] The datetime that this object was created by Merge.
|
|
24
24
|
attr_reader :created_at
|
|
25
|
-
# @return [DateTime]
|
|
25
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
|
26
26
|
attr_reader :modified_at
|
|
27
27
|
# @return [Merge::Ticketing::CommentUser] The author of the Comment, if the author is a User.
|
|
28
28
|
attr_reader :user
|
|
@@ -54,8 +54,8 @@ module Merge
|
|
|
54
54
|
|
|
55
55
|
# @param id [String]
|
|
56
56
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
57
|
-
# @param created_at [DateTime]
|
|
58
|
-
# @param modified_at [DateTime]
|
|
57
|
+
# @param created_at [DateTime] The datetime that this object was created by Merge.
|
|
58
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
|
59
59
|
# @param user [Merge::Ticketing::CommentUser] The author of the Comment, if the author is a User.
|
|
60
60
|
# @param contact [Merge::Ticketing::CommentContact] The author of the Comment, if the author is a Contact.
|
|
61
61
|
# @param body [String] The comment's text body.
|
|
@@ -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] The datetime that this object was created by Merge.
|
|
23
23
|
attr_reader :created_at
|
|
24
|
-
# @return [DateTime]
|
|
24
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
|
25
25
|
attr_reader :modified_at
|
|
26
26
|
# @return [String] The contact's name.
|
|
27
27
|
attr_reader :name
|
|
@@ -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] The datetime that this object was created by Merge.
|
|
54
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
|
55
55
|
# @param name [String] The contact's name.
|
|
56
56
|
# @param email_address [String] The contact's email address.
|
|
57
57
|
# @param phone_number [String] The contact's phone number.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "contact_request_account"
|
|
4
|
+
require "ostruct"
|
|
5
|
+
require "json"
|
|
6
|
+
|
|
7
|
+
module Merge
|
|
8
|
+
module Ticketing
|
|
9
|
+
# # The Contact Object
|
|
10
|
+
# ### Description
|
|
11
|
+
# The `Contact` object is used to represent the customer, lead, or external user
|
|
12
|
+
# that a ticket is associated with.
|
|
13
|
+
# ### Usage Example
|
|
14
|
+
# TODO
|
|
15
|
+
class ContactRequest
|
|
16
|
+
# @return [String] The contact's name.
|
|
17
|
+
attr_reader :name
|
|
18
|
+
# @return [String] The contact's email address.
|
|
19
|
+
attr_reader :email_address
|
|
20
|
+
# @return [String] The contact's phone number.
|
|
21
|
+
attr_reader :phone_number
|
|
22
|
+
# @return [String] The contact's details.
|
|
23
|
+
attr_reader :details
|
|
24
|
+
# @return [Merge::Ticketing::ContactRequestAccount] The contact's account.
|
|
25
|
+
attr_reader :account
|
|
26
|
+
# @return [Hash{String => Object}]
|
|
27
|
+
attr_reader :integration_params
|
|
28
|
+
# @return [Hash{String => Object}]
|
|
29
|
+
attr_reader :linked_account_params
|
|
30
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
31
|
+
attr_reader :additional_properties
|
|
32
|
+
# @return [Object]
|
|
33
|
+
attr_reader :_field_set
|
|
34
|
+
protected :_field_set
|
|
35
|
+
|
|
36
|
+
OMIT = Object.new
|
|
37
|
+
|
|
38
|
+
# @param name [String] The contact's name.
|
|
39
|
+
# @param email_address [String] The contact's email address.
|
|
40
|
+
# @param phone_number [String] The contact's phone number.
|
|
41
|
+
# @param details [String] The contact's details.
|
|
42
|
+
# @param account [Merge::Ticketing::ContactRequestAccount] The contact's account.
|
|
43
|
+
# @param integration_params [Hash{String => Object}]
|
|
44
|
+
# @param linked_account_params [Hash{String => Object}]
|
|
45
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
46
|
+
# @return [Merge::Ticketing::ContactRequest]
|
|
47
|
+
def initialize(name: OMIT, email_address: OMIT, phone_number: OMIT, details: OMIT, account: OMIT,
|
|
48
|
+
integration_params: OMIT, linked_account_params: OMIT, additional_properties: nil)
|
|
49
|
+
@name = name if name != OMIT
|
|
50
|
+
@email_address = email_address if email_address != OMIT
|
|
51
|
+
@phone_number = phone_number if phone_number != OMIT
|
|
52
|
+
@details = details if details != OMIT
|
|
53
|
+
@account = account if account != OMIT
|
|
54
|
+
@integration_params = integration_params if integration_params != OMIT
|
|
55
|
+
@linked_account_params = linked_account_params if linked_account_params != OMIT
|
|
56
|
+
@additional_properties = additional_properties
|
|
57
|
+
@_field_set = {
|
|
58
|
+
"name": name,
|
|
59
|
+
"email_address": email_address,
|
|
60
|
+
"phone_number": phone_number,
|
|
61
|
+
"details": details,
|
|
62
|
+
"account": account,
|
|
63
|
+
"integration_params": integration_params,
|
|
64
|
+
"linked_account_params": linked_account_params
|
|
65
|
+
}.reject do |_k, v|
|
|
66
|
+
v == OMIT
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Deserialize a JSON object to an instance of ContactRequest
|
|
71
|
+
#
|
|
72
|
+
# @param json_object [String]
|
|
73
|
+
# @return [Merge::Ticketing::ContactRequest]
|
|
74
|
+
def self.from_json(json_object:)
|
|
75
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
76
|
+
parsed_json = JSON.parse(json_object)
|
|
77
|
+
name = struct["name"]
|
|
78
|
+
email_address = struct["email_address"]
|
|
79
|
+
phone_number = struct["phone_number"]
|
|
80
|
+
details = struct["details"]
|
|
81
|
+
if parsed_json["account"].nil?
|
|
82
|
+
account = nil
|
|
83
|
+
else
|
|
84
|
+
account = parsed_json["account"].to_json
|
|
85
|
+
account = Merge::Ticketing::ContactRequestAccount.from_json(json_object: account)
|
|
86
|
+
end
|
|
87
|
+
integration_params = struct["integration_params"]
|
|
88
|
+
linked_account_params = struct["linked_account_params"]
|
|
89
|
+
new(
|
|
90
|
+
name: name,
|
|
91
|
+
email_address: email_address,
|
|
92
|
+
phone_number: phone_number,
|
|
93
|
+
details: details,
|
|
94
|
+
account: account,
|
|
95
|
+
integration_params: integration_params,
|
|
96
|
+
linked_account_params: linked_account_params,
|
|
97
|
+
additional_properties: struct
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# Serialize an instance of ContactRequest to a JSON object
|
|
102
|
+
#
|
|
103
|
+
# @return [String]
|
|
104
|
+
def to_json(*_args)
|
|
105
|
+
@_field_set&.to_json
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
109
|
+
# hash and check each fields type against the current object's property
|
|
110
|
+
# definitions.
|
|
111
|
+
#
|
|
112
|
+
# @param obj [Object]
|
|
113
|
+
# @return [Void]
|
|
114
|
+
def self.validate_raw(obj:)
|
|
115
|
+
obj.name&.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
|
|
116
|
+
obj.email_address&.is_a?(String) != false || raise("Passed value for field obj.email_address is not the expected type, validation failed.")
|
|
117
|
+
obj.phone_number&.is_a?(String) != false || raise("Passed value for field obj.phone_number is not the expected type, validation failed.")
|
|
118
|
+
obj.details&.is_a?(String) != false || raise("Passed value for field obj.details is not the expected type, validation failed.")
|
|
119
|
+
obj.account.nil? || Merge::Ticketing::ContactRequestAccount.validate_raw(obj: obj.account)
|
|
120
|
+
obj.integration_params&.is_a?(Hash) != false || raise("Passed value for field obj.integration_params is not the expected type, validation failed.")
|
|
121
|
+
obj.linked_account_params&.is_a?(Hash) != false || raise("Passed value for field obj.linked_account_params is not the expected type, validation failed.")
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
require_relative "account"
|
|
5
|
+
|
|
6
|
+
module Merge
|
|
7
|
+
module Ticketing
|
|
8
|
+
# The contact's account.
|
|
9
|
+
class ContactRequestAccount
|
|
10
|
+
# Deserialize a JSON object to an instance of ContactRequestAccount
|
|
11
|
+
#
|
|
12
|
+
# @param json_object [String]
|
|
13
|
+
# @return [Merge::Ticketing::ContactRequestAccount]
|
|
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 json_object unless json_object.nil?
|
|
19
|
+
|
|
20
|
+
return nil
|
|
21
|
+
rescue StandardError
|
|
22
|
+
# noop
|
|
23
|
+
end
|
|
24
|
+
begin
|
|
25
|
+
Merge::Ticketing::Account.validate_raw(obj: struct)
|
|
26
|
+
return Merge::Ticketing::Account.from_json(json_object: json_object) unless json_object.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::Ticketing::Account.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
|
|
@@ -43,6 +43,9 @@ module Merge
|
|
|
43
43
|
# - `FORCED_LINKED_ACCOUNT_RESYNC` - FORCED_LINKED_ACCOUNT_RESYNC
|
|
44
44
|
# - `MUTED_ISSUE` - MUTED_ISSUE
|
|
45
45
|
# - `GENERATED_MAGIC_LINK` - GENERATED_MAGIC_LINK
|
|
46
|
+
# - `ENABLED_MERGE_WEBHOOK` - ENABLED_MERGE_WEBHOOK
|
|
47
|
+
# - `DISABLED_MERGE_WEBHOOK` - DISABLED_MERGE_WEBHOOK
|
|
48
|
+
# - `MERGE_WEBHOOK_TARGET_CHANGED` - MERGE_WEBHOOK_TARGET_CHANGED
|
|
46
49
|
class EventTypeEnum
|
|
47
50
|
CREATED_REMOTE_PRODUCTION_API_KEY = "CREATED_REMOTE_PRODUCTION_API_KEY"
|
|
48
51
|
DELETED_REMOTE_PRODUCTION_API_KEY = "DELETED_REMOTE_PRODUCTION_API_KEY"
|
|
@@ -78,6 +81,9 @@ module Merge
|
|
|
78
81
|
FORCED_LINKED_ACCOUNT_RESYNC = "FORCED_LINKED_ACCOUNT_RESYNC"
|
|
79
82
|
MUTED_ISSUE = "MUTED_ISSUE"
|
|
80
83
|
GENERATED_MAGIC_LINK = "GENERATED_MAGIC_LINK"
|
|
84
|
+
ENABLED_MERGE_WEBHOOK = "ENABLED_MERGE_WEBHOOK"
|
|
85
|
+
DISABLED_MERGE_WEBHOOK = "DISABLED_MERGE_WEBHOOK"
|
|
86
|
+
MERGE_WEBHOOK_TARGET_CHANGED = "MERGE_WEBHOOK_TARGET_CHANGED"
|
|
81
87
|
end
|
|
82
88
|
end
|
|
83
89
|
end
|
|
@@ -18,9 +18,9 @@ module Merge
|
|
|
18
18
|
attr_reader :id
|
|
19
19
|
# @return [String] The third-party API ID of the matching object.
|
|
20
20
|
attr_reader :remote_id
|
|
21
|
-
# @return [DateTime]
|
|
21
|
+
# @return [DateTime] The datetime that this object was created by Merge.
|
|
22
22
|
attr_reader :created_at
|
|
23
|
-
# @return [DateTime]
|
|
23
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
|
24
24
|
attr_reader :modified_at
|
|
25
25
|
# @return [String] The project's name.
|
|
26
26
|
attr_reader :name
|
|
@@ -43,8 +43,8 @@ module Merge
|
|
|
43
43
|
|
|
44
44
|
# @param id [String]
|
|
45
45
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
46
|
-
# @param created_at [DateTime]
|
|
47
|
-
# @param modified_at [DateTime]
|
|
46
|
+
# @param created_at [DateTime] The datetime that this object was created by Merge.
|
|
47
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
|
48
48
|
# @param name [String] The project's name.
|
|
49
49
|
# @param description [String] The project's description.
|
|
50
50
|
# @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require_relative "remote_endpoint_info"
|
|
4
4
|
require_relative "advanced_metadata"
|
|
5
|
+
require_relative "remote_field_api_coverage"
|
|
5
6
|
require "ostruct"
|
|
6
7
|
require "json"
|
|
7
8
|
|
|
@@ -18,6 +19,8 @@ module Merge
|
|
|
18
19
|
attr_reader :example_values
|
|
19
20
|
# @return [Merge::Ticketing::AdvancedMetadata]
|
|
20
21
|
attr_reader :advanced_metadata
|
|
22
|
+
# @return [Merge::Ticketing::RemoteFieldApiCoverage]
|
|
23
|
+
attr_reader :coverage
|
|
21
24
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
22
25
|
attr_reader :additional_properties
|
|
23
26
|
# @return [Object]
|
|
@@ -31,22 +34,25 @@ module Merge
|
|
|
31
34
|
# @param remote_endpoint_info [Merge::Ticketing::RemoteEndpointInfo]
|
|
32
35
|
# @param example_values [Array<Object>]
|
|
33
36
|
# @param advanced_metadata [Merge::Ticketing::AdvancedMetadata]
|
|
37
|
+
# @param coverage [Merge::Ticketing::RemoteFieldApiCoverage]
|
|
34
38
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
35
39
|
# @return [Merge::Ticketing::RemoteFieldApi]
|
|
36
40
|
def initialize(schema:, remote_key_name:, remote_endpoint_info:, example_values:, advanced_metadata: OMIT,
|
|
37
|
-
additional_properties: nil)
|
|
41
|
+
coverage: OMIT, additional_properties: nil)
|
|
38
42
|
@schema = schema
|
|
39
43
|
@remote_key_name = remote_key_name
|
|
40
44
|
@remote_endpoint_info = remote_endpoint_info
|
|
41
45
|
@example_values = example_values
|
|
42
46
|
@advanced_metadata = advanced_metadata if advanced_metadata != OMIT
|
|
47
|
+
@coverage = coverage if coverage != OMIT
|
|
43
48
|
@additional_properties = additional_properties
|
|
44
49
|
@_field_set = {
|
|
45
50
|
"schema": schema,
|
|
46
51
|
"remote_key_name": remote_key_name,
|
|
47
52
|
"remote_endpoint_info": remote_endpoint_info,
|
|
48
53
|
"example_values": example_values,
|
|
49
|
-
"advanced_metadata": advanced_metadata
|
|
54
|
+
"advanced_metadata": advanced_metadata,
|
|
55
|
+
"coverage": coverage
|
|
50
56
|
}.reject do |_k, v|
|
|
51
57
|
v == OMIT
|
|
52
58
|
end
|
|
@@ -74,12 +80,19 @@ module Merge
|
|
|
74
80
|
advanced_metadata = parsed_json["advanced_metadata"].to_json
|
|
75
81
|
advanced_metadata = Merge::Ticketing::AdvancedMetadata.from_json(json_object: advanced_metadata)
|
|
76
82
|
end
|
|
83
|
+
if parsed_json["coverage"].nil?
|
|
84
|
+
coverage = nil
|
|
85
|
+
else
|
|
86
|
+
coverage = parsed_json["coverage"].to_json
|
|
87
|
+
coverage = Merge::Ticketing::RemoteFieldApiCoverage.from_json(json_object: coverage)
|
|
88
|
+
end
|
|
77
89
|
new(
|
|
78
90
|
schema: schema,
|
|
79
91
|
remote_key_name: remote_key_name,
|
|
80
92
|
remote_endpoint_info: remote_endpoint_info,
|
|
81
93
|
example_values: example_values,
|
|
82
94
|
advanced_metadata: advanced_metadata,
|
|
95
|
+
coverage: coverage,
|
|
83
96
|
additional_properties: struct
|
|
84
97
|
)
|
|
85
98
|
end
|
|
@@ -103,6 +116,7 @@ module Merge
|
|
|
103
116
|
Merge::Ticketing::RemoteEndpointInfo.validate_raw(obj: obj.remote_endpoint_info)
|
|
104
117
|
obj.example_values.is_a?(Array) != false || raise("Passed value for field obj.example_values is not the expected type, validation failed.")
|
|
105
118
|
obj.advanced_metadata.nil? || Merge::Ticketing::AdvancedMetadata.validate_raw(obj: obj.advanced_metadata)
|
|
119
|
+
obj.coverage.nil? || Merge::Ticketing::RemoteFieldApiCoverage.validate_raw(obj: obj.coverage)
|
|
106
120
|
end
|
|
107
121
|
end
|
|
108
122
|
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "json"
|
|
4
|
+
|
|
5
|
+
module Merge
|
|
6
|
+
module Ticketing
|
|
7
|
+
class RemoteFieldApiCoverage
|
|
8
|
+
# Deserialize a JSON object to an instance of RemoteFieldApiCoverage
|
|
9
|
+
#
|
|
10
|
+
# @param json_object [String]
|
|
11
|
+
# @return [Merge::Ticketing::RemoteFieldApiCoverage]
|
|
12
|
+
def self.from_json(json_object:)
|
|
13
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
14
|
+
begin
|
|
15
|
+
struct.is_a?(Integer) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
|
16
|
+
return json_object unless json_object.nil?
|
|
17
|
+
|
|
18
|
+
return nil
|
|
19
|
+
rescue StandardError
|
|
20
|
+
# noop
|
|
21
|
+
end
|
|
22
|
+
begin
|
|
23
|
+
struct.is_a?(Float) != false || raise("Passed value for field struct is not the expected type, validation failed.")
|
|
24
|
+
return json_object unless json_object.nil?
|
|
25
|
+
|
|
26
|
+
return nil
|
|
27
|
+
rescue StandardError
|
|
28
|
+
# noop
|
|
29
|
+
end
|
|
30
|
+
struct
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
34
|
+
# hash and check each fields type against the current object's property
|
|
35
|
+
# definitions.
|
|
36
|
+
#
|
|
37
|
+
# @param obj [Object]
|
|
38
|
+
# @return [Void]
|
|
39
|
+
def self.validate_raw(obj:)
|
|
40
|
+
begin
|
|
41
|
+
return obj.is_a?(Integer) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
|
42
|
+
rescue StandardError
|
|
43
|
+
# noop
|
|
44
|
+
end
|
|
45
|
+
begin
|
|
46
|
+
return obj.is_a?(Float) != false || raise("Passed value for field obj is not the expected type, validation failed.")
|
|
47
|
+
rescue StandardError
|
|
48
|
+
# noop
|
|
49
|
+
end
|
|
50
|
+
raise("Passed value matched no type within the union, validation failed.")
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -20,9 +20,9 @@ module Merge
|
|
|
20
20
|
attr_reader :id
|
|
21
21
|
# @return [String] The third-party API ID of the matching object.
|
|
22
22
|
attr_reader :remote_id
|
|
23
|
-
# @return [DateTime]
|
|
23
|
+
# @return [DateTime] The datetime that this object was created by Merge.
|
|
24
24
|
attr_reader :created_at
|
|
25
|
-
# @return [DateTime]
|
|
25
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
|
26
26
|
attr_reader :modified_at
|
|
27
27
|
# @return [String] The name of the Role.
|
|
28
28
|
attr_reader :name
|
|
@@ -51,8 +51,8 @@ module Merge
|
|
|
51
51
|
|
|
52
52
|
# @param id [String]
|
|
53
53
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
54
|
-
# @param created_at [DateTime]
|
|
55
|
-
# @param modified_at [DateTime]
|
|
54
|
+
# @param created_at [DateTime] The datetime that this object was created by Merge.
|
|
55
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
|
56
56
|
# @param name [String] The name of the Role.
|
|
57
57
|
# @param ticket_actions [Array<Merge::Ticketing::TicketActionsEnum>] The set of actions that a User with this Role can perform. Possible enum values
|
|
58
58
|
# include: `VIEW`, `CREATE`, `EDIT`, `DELETE`, `CLOSE`, and `ASSIGN`.
|
|
@@ -15,9 +15,9 @@ module Merge
|
|
|
15
15
|
class Tag
|
|
16
16
|
# @return [String] The third-party API ID of the matching object.
|
|
17
17
|
attr_reader :remote_id
|
|
18
|
-
# @return [DateTime]
|
|
18
|
+
# @return [DateTime] The datetime that this object was created by Merge.
|
|
19
19
|
attr_reader :created_at
|
|
20
|
-
# @return [DateTime]
|
|
20
|
+
# @return [DateTime] The datetime that this object was modified by Merge.
|
|
21
21
|
attr_reader :modified_at
|
|
22
22
|
# @return [String] The tag's name.
|
|
23
23
|
attr_reader :name
|
|
@@ -37,8 +37,8 @@ module Merge
|
|
|
37
37
|
OMIT = Object.new
|
|
38
38
|
|
|
39
39
|
# @param remote_id [String] The third-party API ID of the matching object.
|
|
40
|
-
# @param created_at [DateTime]
|
|
41
|
-
# @param modified_at [DateTime]
|
|
40
|
+
# @param created_at [DateTime] The datetime that this object was created by Merge.
|
|
41
|
+
# @param modified_at [DateTime] The datetime that this object was modified by Merge.
|
|
42
42
|
# @param name [String] The tag's name.
|
|
43
43
|
# @param remote_was_deleted [Boolean] Indicates whether or not this object has been deleted in the third party
|
|
44
44
|
# platform.
|