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.
Files changed (235) hide show
  1. checksums.yaml +4 -4
  2. data/lib/environment.rb +3 -3
  3. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +4 -2
  4. data/lib/merge_ruby_client/accounting/client.rb +0 -7
  5. data/lib/merge_ruby_client/accounting/field_mapping/client.rb +2 -2
  6. data/lib/merge_ruby_client/accounting/link_token/client.rb +10 -6
  7. data/lib/merge_ruby_client/accounting/payments/client.rb +4 -0
  8. data/lib/merge_ruby_client/accounting/scopes/client.rb +2 -2
  9. data/lib/merge_ruby_client/accounting/types/account.rb +4 -4
  10. data/lib/merge_ruby_client/accounting/types/accounting_attachment.rb +4 -4
  11. data/lib/merge_ruby_client/accounting/types/accounting_period.rb +4 -4
  12. data/lib/merge_ruby_client/accounting/types/accounting_phone_number.rb +4 -4
  13. data/lib/merge_ruby_client/accounting/types/address.rb +4 -4
  14. data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +6 -0
  15. data/lib/merge_ruby_client/accounting/types/balance_sheet.rb +4 -4
  16. data/lib/merge_ruby_client/accounting/types/cash_flow_statement.rb +4 -4
  17. data/lib/merge_ruby_client/accounting/types/company_info.rb +4 -4
  18. data/lib/merge_ruby_client/accounting/types/contact.rb +4 -4
  19. data/lib/merge_ruby_client/accounting/types/credit_note.rb +4 -4
  20. data/lib/merge_ruby_client/accounting/types/credit_note_line_item.rb +5 -13
  21. data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +6 -0
  22. data/lib/merge_ruby_client/accounting/types/expense.rb +4 -4
  23. data/lib/merge_ruby_client/accounting/types/expense_line.rb +4 -4
  24. data/lib/merge_ruby_client/accounting/types/income_statement.rb +4 -4
  25. data/lib/merge_ruby_client/accounting/types/invoice.rb +4 -4
  26. data/lib/merge_ruby_client/accounting/types/invoice_line_item.rb +4 -4
  27. data/lib/merge_ruby_client/accounting/types/item.rb +4 -4
  28. data/lib/merge_ruby_client/accounting/types/journal_entry.rb +4 -4
  29. data/lib/merge_ruby_client/accounting/types/journal_line.rb +4 -4
  30. data/lib/merge_ruby_client/accounting/types/patched_payment_request.rb +14 -1
  31. data/lib/merge_ruby_client/accounting/types/payment.rb +18 -5
  32. data/lib/merge_ruby_client/accounting/types/payment_line_item.rb +4 -4
  33. data/lib/merge_ruby_client/accounting/types/payment_request.rb +14 -1
  34. data/lib/merge_ruby_client/accounting/types/payment_type_enum.rb +12 -0
  35. data/lib/merge_ruby_client/accounting/types/purchase_order.rb +4 -4
  36. data/lib/merge_ruby_client/accounting/types/purchase_order_line_item.rb +4 -4
  37. data/lib/merge_ruby_client/accounting/types/remote_field_api.rb +16 -2
  38. data/lib/merge_ruby_client/accounting/types/remote_field_api_coverage.rb +54 -0
  39. data/lib/merge_ruby_client/accounting/types/report_item.rb +4 -4
  40. data/lib/merge_ruby_client/accounting/types/tax_rate.rb +12 -10
  41. data/lib/merge_ruby_client/accounting/types/tax_rate_company.rb +2 -1
  42. data/lib/merge_ruby_client/accounting/types/tracking_category.rb +4 -4
  43. data/lib/merge_ruby_client/accounting/types/transaction.rb +4 -4
  44. data/lib/merge_ruby_client/accounting/types/transaction_line_item.rb +6 -6
  45. data/lib/merge_ruby_client/accounting/types/vendor_credit.rb +4 -4
  46. data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +4 -4
  47. data/lib/merge_ruby_client/ats/audit_trail/client.rb +4 -2
  48. data/lib/merge_ruby_client/ats/client.rb +0 -7
  49. data/lib/merge_ruby_client/ats/field_mapping/client.rb +2 -2
  50. data/lib/merge_ruby_client/ats/job_postings/client.rb +16 -4
  51. data/lib/merge_ruby_client/ats/link_token/client.rb +10 -6
  52. data/lib/merge_ruby_client/ats/scopes/client.rb +2 -2
  53. data/lib/merge_ruby_client/ats/types/activity.rb +4 -4
  54. data/lib/merge_ruby_client/ats/types/application.rb +4 -4
  55. data/lib/merge_ruby_client/ats/types/attachment.rb +4 -4
  56. data/lib/merge_ruby_client/ats/types/audit_log_event.rb +6 -0
  57. data/lib/merge_ruby_client/ats/types/candidate.rb +4 -4
  58. data/lib/merge_ruby_client/ats/types/department.rb +4 -4
  59. data/lib/merge_ruby_client/ats/types/eeoc.rb +4 -4
  60. data/lib/merge_ruby_client/ats/types/email_address.rb +4 -4
  61. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +6 -0
  62. data/lib/merge_ruby_client/ats/types/job.rb +4 -4
  63. data/lib/merge_ruby_client/ats/types/job_interview_stage.rb +4 -4
  64. data/lib/merge_ruby_client/ats/types/job_posting.rb +4 -4
  65. data/lib/merge_ruby_client/ats/types/offer.rb +4 -4
  66. data/lib/merge_ruby_client/ats/types/office.rb +4 -4
  67. data/lib/merge_ruby_client/ats/types/phone_number.rb +4 -4
  68. data/lib/merge_ruby_client/ats/types/reject_reason.rb +4 -4
  69. data/lib/merge_ruby_client/ats/types/remote_field_api.rb +16 -2
  70. data/lib/merge_ruby_client/ats/types/remote_field_api_coverage.rb +54 -0
  71. data/lib/merge_ruby_client/ats/types/remote_user.rb +4 -4
  72. data/lib/merge_ruby_client/ats/types/scheduled_interview.rb +4 -4
  73. data/lib/merge_ruby_client/ats/types/scorecard.rb +4 -4
  74. data/lib/merge_ruby_client/ats/types/screening_question.rb +4 -4
  75. data/lib/merge_ruby_client/ats/types/screening_question_option.rb +4 -4
  76. data/lib/merge_ruby_client/ats/types/tag.rb +4 -4
  77. data/lib/merge_ruby_client/ats/types/url.rb +4 -4
  78. data/lib/merge_ruby_client/crm/accounts/client.rb +4 -0
  79. data/lib/merge_ruby_client/crm/audit_trail/client.rb +4 -2
  80. data/lib/merge_ruby_client/crm/client.rb +0 -7
  81. data/lib/merge_ruby_client/crm/field_mapping/client.rb +2 -2
  82. data/lib/merge_ruby_client/crm/link_token/client.rb +10 -6
  83. data/lib/merge_ruby_client/crm/scopes/client.rb +2 -2
  84. data/lib/merge_ruby_client/crm/types/account.rb +4 -4
  85. data/lib/merge_ruby_client/crm/types/account_request.rb +13 -1
  86. data/lib/merge_ruby_client/crm/types/address.rb +4 -4
  87. data/lib/merge_ruby_client/crm/types/association.rb +6 -6
  88. data/lib/merge_ruby_client/crm/types/association_association_type.rb +1 -0
  89. data/lib/merge_ruby_client/crm/types/association_sub_type.rb +4 -4
  90. data/lib/merge_ruby_client/crm/types/association_type.rb +8 -6
  91. data/lib/merge_ruby_client/crm/types/audit_log_event.rb +6 -0
  92. data/lib/merge_ruby_client/crm/types/contact.rb +4 -4
  93. data/lib/merge_ruby_client/crm/types/custom_object.rb +8 -8
  94. data/lib/merge_ruby_client/crm/types/custom_object_class.rb +10 -8
  95. data/lib/merge_ruby_client/crm/types/email_address.rb +4 -4
  96. data/lib/merge_ruby_client/crm/types/engagement.rb +4 -4
  97. data/lib/merge_ruby_client/crm/types/engagement_type.rb +4 -4
  98. data/lib/merge_ruby_client/crm/types/event_type_enum.rb +6 -0
  99. data/lib/merge_ruby_client/crm/types/lead.rb +4 -4
  100. data/lib/merge_ruby_client/crm/types/note.rb +4 -4
  101. data/lib/merge_ruby_client/crm/types/opportunity.rb +4 -4
  102. data/lib/merge_ruby_client/crm/types/patched_account_request.rb +13 -1
  103. data/lib/merge_ruby_client/crm/types/phone_number.rb +4 -4
  104. data/lib/merge_ruby_client/crm/types/remote_field_api.rb +16 -2
  105. data/lib/merge_ruby_client/crm/types/remote_field_api_coverage.rb +54 -0
  106. data/lib/merge_ruby_client/crm/types/remote_field_class_for_custom_object_class.rb +4 -4
  107. data/lib/merge_ruby_client/crm/types/stage.rb +4 -4
  108. data/lib/merge_ruby_client/crm/types/task.rb +4 -4
  109. data/lib/merge_ruby_client/crm/types/user.rb +4 -4
  110. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +4 -2
  111. data/lib/merge_ruby_client/filestorage/client.rb +0 -7
  112. data/lib/merge_ruby_client/filestorage/field_mapping/client.rb +2 -2
  113. data/lib/merge_ruby_client/filestorage/link_token/client.rb +10 -6
  114. data/lib/merge_ruby_client/filestorage/scopes/client.rb +2 -2
  115. data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +6 -0
  116. data/lib/merge_ruby_client/filestorage/types/drive.rb +4 -4
  117. data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +6 -0
  118. data/lib/merge_ruby_client/filestorage/types/file.rb +4 -4
  119. data/lib/merge_ruby_client/filestorage/types/folder.rb +4 -4
  120. data/lib/merge_ruby_client/filestorage/types/group.rb +4 -4
  121. data/lib/merge_ruby_client/filestorage/types/permission.rb +4 -4
  122. data/lib/merge_ruby_client/filestorage/types/remote_field_api.rb +16 -2
  123. data/lib/merge_ruby_client/filestorage/types/remote_field_api_coverage.rb +54 -0
  124. data/lib/merge_ruby_client/filestorage/types/user.rb +4 -4
  125. data/lib/merge_ruby_client/hris/audit_trail/client.rb +4 -2
  126. data/lib/merge_ruby_client/hris/client.rb +0 -7
  127. data/lib/merge_ruby_client/hris/field_mapping/client.rb +2 -2
  128. data/lib/merge_ruby_client/hris/groups/client.rb +10 -2
  129. data/lib/merge_ruby_client/hris/link_token/client.rb +10 -6
  130. data/lib/merge_ruby_client/hris/scopes/client.rb +2 -2
  131. data/lib/merge_ruby_client/hris/types/audit_log_event.rb +6 -0
  132. data/lib/merge_ruby_client/hris/types/bank_info.rb +4 -4
  133. data/lib/merge_ruby_client/hris/types/benefit.rb +4 -4
  134. data/lib/merge_ruby_client/hris/types/company.rb +4 -4
  135. data/lib/merge_ruby_client/hris/types/deduction.rb +4 -4
  136. data/lib/merge_ruby_client/hris/types/dependent.rb +4 -4
  137. data/lib/merge_ruby_client/hris/types/earning.rb +4 -4
  138. data/lib/merge_ruby_client/hris/types/employee.rb +4 -4
  139. data/lib/merge_ruby_client/hris/types/employee_payroll_run.rb +4 -4
  140. data/lib/merge_ruby_client/hris/types/employer_benefit.rb +4 -4
  141. data/lib/merge_ruby_client/hris/types/employment.rb +4 -4
  142. data/lib/merge_ruby_client/hris/types/event_type_enum.rb +6 -0
  143. data/lib/merge_ruby_client/hris/types/group.rb +19 -5
  144. data/lib/merge_ruby_client/hris/types/location.rb +4 -4
  145. data/lib/merge_ruby_client/hris/types/pay_group.rb +4 -4
  146. data/lib/merge_ruby_client/hris/types/payroll_run.rb +4 -4
  147. data/lib/merge_ruby_client/hris/types/remote_field_api.rb +16 -2
  148. data/lib/merge_ruby_client/hris/types/remote_field_api_coverage.rb +54 -0
  149. data/lib/merge_ruby_client/hris/types/tax.rb +4 -4
  150. data/lib/merge_ruby_client/hris/types/team.rb +4 -4
  151. data/lib/merge_ruby_client/hris/types/time_off.rb +4 -4
  152. data/lib/merge_ruby_client/hris/types/time_off_balance.rb +4 -4
  153. data/lib/merge_ruby_client/hris/types/timesheet_entry.rb +4 -4
  154. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +4 -2
  155. data/lib/merge_ruby_client/ticketing/client.rb +0 -7
  156. data/lib/merge_ruby_client/ticketing/contacts/client.rb +127 -0
  157. data/lib/merge_ruby_client/ticketing/field_mapping/client.rb +2 -2
  158. data/lib/merge_ruby_client/ticketing/link_token/client.rb +10 -6
  159. data/lib/merge_ruby_client/ticketing/scopes/client.rb +2 -2
  160. data/lib/merge_ruby_client/ticketing/types/account.rb +4 -4
  161. data/lib/merge_ruby_client/ticketing/types/attachment.rb +4 -4
  162. data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +6 -0
  163. data/lib/merge_ruby_client/ticketing/types/collection.rb +4 -4
  164. data/lib/merge_ruby_client/ticketing/types/comment.rb +4 -4
  165. data/lib/merge_ruby_client/ticketing/types/contact.rb +4 -4
  166. data/lib/merge_ruby_client/ticketing/types/contact_request.rb +125 -0
  167. data/lib/merge_ruby_client/ticketing/types/contact_request_account.rb +56 -0
  168. data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +6 -0
  169. data/lib/merge_ruby_client/ticketing/types/project.rb +4 -4
  170. data/lib/merge_ruby_client/ticketing/types/remote_field_api.rb +16 -2
  171. data/lib/merge_ruby_client/ticketing/types/remote_field_api_coverage.rb +54 -0
  172. data/lib/merge_ruby_client/ticketing/types/role.rb +4 -4
  173. data/lib/merge_ruby_client/ticketing/types/tag.rb +4 -4
  174. data/lib/merge_ruby_client/ticketing/types/team.rb +4 -4
  175. data/lib/merge_ruby_client/ticketing/types/ticket.rb +4 -4
  176. data/lib/merge_ruby_client/ticketing/types/ticketing_contact_response.rb +101 -0
  177. data/lib/merge_ruby_client/ticketing/types/user.rb +4 -4
  178. data/lib/merge_ruby_client.rb +7 -7
  179. data/lib/requests.rb +12 -2
  180. data/lib/types_export.rb +162 -200
  181. metadata +12 -56
  182. data/lib/merge_ruby_client/accounting/selective_sync/client.rb +0 -218
  183. data/lib/merge_ruby_client/accounting/types/condition_schema.rb +0 -136
  184. data/lib/merge_ruby_client/accounting/types/condition_type_enum.rb +0 -22
  185. data/lib/merge_ruby_client/accounting/types/linked_account_condition.rb +0 -104
  186. data/lib/merge_ruby_client/accounting/types/linked_account_condition_request.rb +0 -87
  187. data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration.rb +0 -65
  188. data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration_request.rb +0 -63
  189. data/lib/merge_ruby_client/accounting/types/operator_schema.rb +0 -68
  190. data/lib/merge_ruby_client/accounting/types/paginated_condition_schema_list.rb +0 -80
  191. data/lib/merge_ruby_client/ats/selective_sync/client.rb +0 -218
  192. data/lib/merge_ruby_client/ats/types/condition_schema.rb +0 -136
  193. data/lib/merge_ruby_client/ats/types/condition_type_enum.rb +0 -22
  194. data/lib/merge_ruby_client/ats/types/linked_account_condition.rb +0 -104
  195. data/lib/merge_ruby_client/ats/types/linked_account_condition_request.rb +0 -87
  196. data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration.rb +0 -65
  197. data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration_request.rb +0 -63
  198. data/lib/merge_ruby_client/ats/types/operator_schema.rb +0 -68
  199. data/lib/merge_ruby_client/ats/types/paginated_condition_schema_list.rb +0 -80
  200. data/lib/merge_ruby_client/crm/selective_sync/client.rb +0 -218
  201. data/lib/merge_ruby_client/crm/types/condition_schema.rb +0 -136
  202. data/lib/merge_ruby_client/crm/types/condition_type_enum.rb +0 -22
  203. data/lib/merge_ruby_client/crm/types/linked_account_condition.rb +0 -104
  204. data/lib/merge_ruby_client/crm/types/linked_account_condition_request.rb +0 -87
  205. data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration.rb +0 -65
  206. data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration_request.rb +0 -63
  207. data/lib/merge_ruby_client/crm/types/operator_schema.rb +0 -68
  208. data/lib/merge_ruby_client/crm/types/paginated_condition_schema_list.rb +0 -80
  209. data/lib/merge_ruby_client/filestorage/selective_sync/client.rb +0 -218
  210. data/lib/merge_ruby_client/filestorage/types/condition_schema.rb +0 -136
  211. data/lib/merge_ruby_client/filestorage/types/condition_type_enum.rb +0 -22
  212. data/lib/merge_ruby_client/filestorage/types/linked_account_condition.rb +0 -104
  213. data/lib/merge_ruby_client/filestorage/types/linked_account_condition_request.rb +0 -87
  214. data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration.rb +0 -65
  215. data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration_request.rb +0 -63
  216. data/lib/merge_ruby_client/filestorage/types/operator_schema.rb +0 -68
  217. data/lib/merge_ruby_client/filestorage/types/paginated_condition_schema_list.rb +0 -80
  218. data/lib/merge_ruby_client/hris/selective_sync/client.rb +0 -218
  219. data/lib/merge_ruby_client/hris/types/condition_schema.rb +0 -136
  220. data/lib/merge_ruby_client/hris/types/condition_type_enum.rb +0 -22
  221. data/lib/merge_ruby_client/hris/types/linked_account_condition.rb +0 -104
  222. data/lib/merge_ruby_client/hris/types/linked_account_condition_request.rb +0 -87
  223. data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration.rb +0 -65
  224. data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration_request.rb +0 -63
  225. data/lib/merge_ruby_client/hris/types/operator_schema.rb +0 -68
  226. data/lib/merge_ruby_client/hris/types/paginated_condition_schema_list.rb +0 -80
  227. data/lib/merge_ruby_client/ticketing/selective_sync/client.rb +0 -218
  228. data/lib/merge_ruby_client/ticketing/types/condition_schema.rb +0 -136
  229. data/lib/merge_ruby_client/ticketing/types/condition_type_enum.rb +0 -22
  230. data/lib/merge_ruby_client/ticketing/types/linked_account_condition.rb +0 -104
  231. data/lib/merge_ruby_client/ticketing/types/linked_account_condition_request.rb +0 -87
  232. data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration.rb +0 -65
  233. data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration_request.rb +0 -63
  234. data/lib/merge_ruby_client/ticketing/types/operator_schema.rb +0 -68
  235. 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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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] This is the datetime that this object was last updated by Merge
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.