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
@@ -1,218 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../requests"
4
- require_relative "../types/linked_account_selective_sync_configuration"
5
- require "json"
6
- require_relative "../types/linked_account_selective_sync_configuration_request"
7
- require_relative "../types/paginated_condition_schema_list"
8
- require "async"
9
-
10
- module Merge
11
- module Ticketing
12
- class SelectiveSyncClient
13
- # @return [Merge::RequestClient]
14
- attr_reader :request_client
15
-
16
- # @param request_client [Merge::RequestClient]
17
- # @return [Merge::Ticketing::SelectiveSyncClient]
18
- def initialize(request_client:)
19
- @request_client = request_client
20
- end
21
-
22
- # Get a linked account's selective syncs.
23
- #
24
- # @param request_options [Merge::RequestOptions]
25
- # @return [Array<Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration>]
26
- # @example
27
- # api = Merge::Client.new(
28
- # environment: Environment::PRODUCTION,
29
- # base_url: "https://api.example.com",
30
- # api_key: "YOUR_AUTH_TOKEN"
31
- # )
32
- # api.ticketing.configurations_list
33
- def configurations_list(request_options: nil)
34
- response = @request_client.conn.get do |req|
35
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
36
- req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
37
- req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
38
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
39
- req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/selective-sync/configurations"
40
- end
41
- parsed_json = JSON.parse(response.body)
42
- parsed_json&.map do |v|
43
- v = v.to_json
44
- Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration.from_json(json_object: v)
45
- end
46
- end
47
-
48
- # Replace a linked account's selective syncs.
49
- #
50
- # @param sync_configurations [Array<Hash>] The selective syncs associated with a linked account.Request of type Array<Merge::Ticketing::LinkedAccountSelectiveSyncConfigurationRequest>, as a Hash
51
- # * :linked_account_conditions (Array<Merge::Ticketing::LinkedAccountConditionRequest>)
52
- # @param request_options [Merge::RequestOptions]
53
- # @return [Array<Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration>]
54
- # @example
55
- # api = Merge::Client.new(
56
- # environment: Environment::PRODUCTION,
57
- # base_url: "https://api.example.com",
58
- # api_key: "YOUR_AUTH_TOKEN"
59
- # )
60
- # api.ticketing.configurations_update(sync_configurations: [{ linked_account_conditions: }])
61
- def configurations_update(sync_configurations:, request_options: nil)
62
- response = @request_client.conn.put do |req|
63
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
64
- req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
65
- req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
66
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
67
- req.body = {
68
- **(request_options&.additional_body_parameters || {}),
69
- sync_configurations: sync_configurations
70
- }.compact
71
- req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/selective-sync/configurations"
72
- end
73
- parsed_json = JSON.parse(response.body)
74
- parsed_json&.map do |v|
75
- v = v.to_json
76
- Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration.from_json(json_object: v)
77
- end
78
- end
79
-
80
- # Get metadata for the conditions available to a linked account.
81
- #
82
- # @param common_model [String]
83
- # @param cursor [String] The pagination cursor value.
84
- # @param page_size [Integer] Number of results to return per page.
85
- # @param request_options [Merge::RequestOptions]
86
- # @return [Merge::Ticketing::PaginatedConditionSchemaList]
87
- # @example
88
- # api = Merge::Client.new(
89
- # environment: Environment::PRODUCTION,
90
- # base_url: "https://api.example.com",
91
- # api_key: "YOUR_AUTH_TOKEN"
92
- # )
93
- # api.ticketing.meta_list
94
- def meta_list(common_model: nil, cursor: nil, page_size: nil, request_options: nil)
95
- response = @request_client.conn.get do |req|
96
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
97
- req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
98
- req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
99
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
100
- req.params = {
101
- **(request_options&.additional_query_parameters || {}),
102
- "common_model": common_model,
103
- "cursor": cursor,
104
- "page_size": page_size
105
- }.compact
106
- req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/selective-sync/meta"
107
- end
108
- Merge::Ticketing::PaginatedConditionSchemaList.from_json(json_object: response.body)
109
- end
110
- end
111
-
112
- class AsyncSelectiveSyncClient
113
- # @return [Merge::AsyncRequestClient]
114
- attr_reader :request_client
115
-
116
- # @param request_client [Merge::AsyncRequestClient]
117
- # @return [Merge::Ticketing::AsyncSelectiveSyncClient]
118
- def initialize(request_client:)
119
- @request_client = request_client
120
- end
121
-
122
- # Get a linked account's selective syncs.
123
- #
124
- # @param request_options [Merge::RequestOptions]
125
- # @return [Array<Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration>]
126
- # @example
127
- # api = Merge::Client.new(
128
- # environment: Environment::PRODUCTION,
129
- # base_url: "https://api.example.com",
130
- # api_key: "YOUR_AUTH_TOKEN"
131
- # )
132
- # api.ticketing.configurations_list
133
- def configurations_list(request_options: nil)
134
- Async do
135
- response = @request_client.conn.get do |req|
136
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
137
- req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
138
- req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
139
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
140
- req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/selective-sync/configurations"
141
- end
142
- parsed_json = JSON.parse(response.body)
143
- parsed_json&.map do |v|
144
- v = v.to_json
145
- Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration.from_json(json_object: v)
146
- end
147
- end
148
- end
149
-
150
- # Replace a linked account's selective syncs.
151
- #
152
- # @param sync_configurations [Array<Hash>] The selective syncs associated with a linked account.Request of type Array<Merge::Ticketing::LinkedAccountSelectiveSyncConfigurationRequest>, as a Hash
153
- # * :linked_account_conditions (Array<Merge::Ticketing::LinkedAccountConditionRequest>)
154
- # @param request_options [Merge::RequestOptions]
155
- # @return [Array<Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration>]
156
- # @example
157
- # api = Merge::Client.new(
158
- # environment: Environment::PRODUCTION,
159
- # base_url: "https://api.example.com",
160
- # api_key: "YOUR_AUTH_TOKEN"
161
- # )
162
- # api.ticketing.configurations_update(sync_configurations: [{ linked_account_conditions: }])
163
- def configurations_update(sync_configurations:, request_options: nil)
164
- Async do
165
- response = @request_client.conn.put do |req|
166
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
167
- req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
168
- req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
169
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
170
- req.body = {
171
- **(request_options&.additional_body_parameters || {}),
172
- sync_configurations: sync_configurations
173
- }.compact
174
- req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/selective-sync/configurations"
175
- end
176
- parsed_json = JSON.parse(response.body)
177
- parsed_json&.map do |v|
178
- v = v.to_json
179
- Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration.from_json(json_object: v)
180
- end
181
- end
182
- end
183
-
184
- # Get metadata for the conditions available to a linked account.
185
- #
186
- # @param common_model [String]
187
- # @param cursor [String] The pagination cursor value.
188
- # @param page_size [Integer] Number of results to return per page.
189
- # @param request_options [Merge::RequestOptions]
190
- # @return [Merge::Ticketing::PaginatedConditionSchemaList]
191
- # @example
192
- # api = Merge::Client.new(
193
- # environment: Environment::PRODUCTION,
194
- # base_url: "https://api.example.com",
195
- # api_key: "YOUR_AUTH_TOKEN"
196
- # )
197
- # api.ticketing.meta_list
198
- def meta_list(common_model: nil, cursor: nil, page_size: nil, request_options: nil)
199
- Async do
200
- response = @request_client.conn.get do |req|
201
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
202
- req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
203
- req.headers["X-Account-Token"] = request_options.account_token unless request_options&.account_token.nil?
204
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
205
- req.params = {
206
- **(request_options&.additional_query_parameters || {}),
207
- "common_model": common_model,
208
- "cursor": cursor,
209
- "page_size": page_size
210
- }.compact
211
- req.url "#{@request_client.get_url(request_options: request_options)}/ticketing/v1/selective-sync/meta"
212
- end
213
- Merge::Ticketing::PaginatedConditionSchemaList.from_json(json_object: response.body)
214
- end
215
- end
216
- end
217
- end
218
- end
@@ -1,136 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "condition_type_enum"
4
- require_relative "operator_schema"
5
- require "ostruct"
6
- require "json"
7
-
8
- module Merge
9
- module Ticketing
10
- class ConditionSchema
11
- # @return [String] The ID of the condition schema. This ID is used when updating selective syncs
12
- # for a linked account.
13
- attr_reader :id
14
- # @return [String] The common model for which a condition schema is defined.
15
- attr_reader :common_model
16
- # @return [String]
17
- attr_reader :native_name
18
- # @return [String]
19
- attr_reader :field_name
20
- # @return [Boolean] Whether this condition can only be applied once. If false, the condition can be
21
- # AND'd together multiple times.
22
- attr_reader :is_unique
23
- # @return [Merge::Ticketing::ConditionTypeEnum] The type of value(s) that can be set for this condition.
24
- # - `BOOLEAN` - BOOLEAN
25
- # - `DATE` - DATE
26
- # - `DATE_TIME` - DATE_TIME
27
- # - `INTEGER` - INTEGER
28
- # - `FLOAT` - FLOAT
29
- # - `STRING` - STRING
30
- # - `LIST_OF_STRINGS` - LIST_OF_STRINGS
31
- attr_reader :condition_type
32
- # @return [Array<Merge::Ticketing::OperatorSchema>] The schemas for the operators that can be used on a condition.
33
- attr_reader :operators
34
- # @return [OpenStruct] Additional properties unmapped to the current class definition
35
- attr_reader :additional_properties
36
- # @return [Object]
37
- attr_reader :_field_set
38
- protected :_field_set
39
-
40
- OMIT = Object.new
41
-
42
- # @param id [String] The ID of the condition schema. This ID is used when updating selective syncs
43
- # for a linked account.
44
- # @param common_model [String] The common model for which a condition schema is defined.
45
- # @param native_name [String]
46
- # @param field_name [String]
47
- # @param is_unique [Boolean] Whether this condition can only be applied once. If false, the condition can be
48
- # AND'd together multiple times.
49
- # @param condition_type [Merge::Ticketing::ConditionTypeEnum] The type of value(s) that can be set for this condition.
50
- # - `BOOLEAN` - BOOLEAN
51
- # - `DATE` - DATE
52
- # - `DATE_TIME` - DATE_TIME
53
- # - `INTEGER` - INTEGER
54
- # - `FLOAT` - FLOAT
55
- # - `STRING` - STRING
56
- # - `LIST_OF_STRINGS` - LIST_OF_STRINGS
57
- # @param operators [Array<Merge::Ticketing::OperatorSchema>] The schemas for the operators that can be used on a condition.
58
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
59
- # @return [Merge::Ticketing::ConditionSchema]
60
- def initialize(id:, condition_type:, operators:, common_model: OMIT, native_name: OMIT, field_name: OMIT,
61
- is_unique: OMIT, additional_properties: nil)
62
- @id = id
63
- @common_model = common_model if common_model != OMIT
64
- @native_name = native_name if native_name != OMIT
65
- @field_name = field_name if field_name != OMIT
66
- @is_unique = is_unique if is_unique != OMIT
67
- @condition_type = condition_type
68
- @operators = operators
69
- @additional_properties = additional_properties
70
- @_field_set = {
71
- "id": id,
72
- "common_model": common_model,
73
- "native_name": native_name,
74
- "field_name": field_name,
75
- "is_unique": is_unique,
76
- "condition_type": condition_type,
77
- "operators": operators
78
- }.reject do |_k, v|
79
- v == OMIT
80
- end
81
- end
82
-
83
- # Deserialize a JSON object to an instance of ConditionSchema
84
- #
85
- # @param json_object [String]
86
- # @return [Merge::Ticketing::ConditionSchema]
87
- def self.from_json(json_object:)
88
- struct = JSON.parse(json_object, object_class: OpenStruct)
89
- parsed_json = JSON.parse(json_object)
90
- id = struct["id"]
91
- common_model = struct["common_model"]
92
- native_name = struct["native_name"]
93
- field_name = struct["field_name"]
94
- is_unique = struct["is_unique"]
95
- condition_type = struct["condition_type"]
96
- operators = parsed_json["operators"]&.map do |v|
97
- v = v.to_json
98
- Merge::Ticketing::OperatorSchema.from_json(json_object: v)
99
- end
100
- new(
101
- id: id,
102
- common_model: common_model,
103
- native_name: native_name,
104
- field_name: field_name,
105
- is_unique: is_unique,
106
- condition_type: condition_type,
107
- operators: operators,
108
- additional_properties: struct
109
- )
110
- end
111
-
112
- # Serialize an instance of ConditionSchema to a JSON object
113
- #
114
- # @return [String]
115
- def to_json(*_args)
116
- @_field_set&.to_json
117
- end
118
-
119
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
120
- # hash and check each fields type against the current object's property
121
- # definitions.
122
- #
123
- # @param obj [Object]
124
- # @return [Void]
125
- def self.validate_raw(obj:)
126
- obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
127
- obj.common_model&.is_a?(String) != false || raise("Passed value for field obj.common_model is not the expected type, validation failed.")
128
- obj.native_name&.is_a?(String) != false || raise("Passed value for field obj.native_name is not the expected type, validation failed.")
129
- obj.field_name&.is_a?(String) != false || raise("Passed value for field obj.field_name is not the expected type, validation failed.")
130
- obj.is_unique&.is_a?(Boolean) != false || raise("Passed value for field obj.is_unique is not the expected type, validation failed.")
131
- obj.condition_type.is_a?(Merge::Ticketing::ConditionTypeEnum) != false || raise("Passed value for field obj.condition_type is not the expected type, validation failed.")
132
- obj.operators.is_a?(Array) != false || raise("Passed value for field obj.operators is not the expected type, validation failed.")
133
- end
134
- end
135
- end
136
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Merge
4
- module Ticketing
5
- # - `BOOLEAN` - BOOLEAN
6
- # - `DATE` - DATE
7
- # - `DATE_TIME` - DATE_TIME
8
- # - `INTEGER` - INTEGER
9
- # - `FLOAT` - FLOAT
10
- # - `STRING` - STRING
11
- # - `LIST_OF_STRINGS` - LIST_OF_STRINGS
12
- class ConditionTypeEnum
13
- BOOLEAN = "BOOLEAN"
14
- DATE = "DATE"
15
- DATE_TIME = "DATE_TIME"
16
- INTEGER = "INTEGER"
17
- FLOAT = "FLOAT"
18
- STRING = "STRING"
19
- LIST_OF_STRINGS = "LIST_OF_STRINGS"
20
- end
21
- end
22
- end
@@ -1,104 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "ostruct"
4
- require "json"
5
-
6
- module Merge
7
- module Ticketing
8
- class LinkedAccountCondition
9
- # @return [String] The ID indicating which condition schema to use for a specific condition.
10
- attr_reader :condition_schema_id
11
- # @return [String] The common model for a specific condition.
12
- attr_reader :common_model
13
- # @return [String]
14
- attr_reader :native_name
15
- # @return [String] The operator for a specific condition.
16
- attr_reader :operator
17
- # @return [Object]
18
- attr_reader :value
19
- # @return [String]
20
- attr_reader :field_name
21
- # @return [OpenStruct] Additional properties unmapped to the current class definition
22
- attr_reader :additional_properties
23
- # @return [Object]
24
- attr_reader :_field_set
25
- protected :_field_set
26
-
27
- OMIT = Object.new
28
-
29
- # @param condition_schema_id [String] The ID indicating which condition schema to use for a specific condition.
30
- # @param common_model [String] The common model for a specific condition.
31
- # @param native_name [String]
32
- # @param operator [String] The operator for a specific condition.
33
- # @param value [Object]
34
- # @param field_name [String]
35
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
36
- # @return [Merge::Ticketing::LinkedAccountCondition]
37
- def initialize(condition_schema_id:, operator:, common_model: OMIT, native_name: OMIT, value: OMIT,
38
- field_name: OMIT, additional_properties: nil)
39
- @condition_schema_id = condition_schema_id
40
- @common_model = common_model if common_model != OMIT
41
- @native_name = native_name if native_name != OMIT
42
- @operator = operator
43
- @value = value if value != OMIT
44
- @field_name = field_name if field_name != OMIT
45
- @additional_properties = additional_properties
46
- @_field_set = {
47
- "condition_schema_id": condition_schema_id,
48
- "common_model": common_model,
49
- "native_name": native_name,
50
- "operator": operator,
51
- "value": value,
52
- "field_name": field_name
53
- }.reject do |_k, v|
54
- v == OMIT
55
- end
56
- end
57
-
58
- # Deserialize a JSON object to an instance of LinkedAccountCondition
59
- #
60
- # @param json_object [String]
61
- # @return [Merge::Ticketing::LinkedAccountCondition]
62
- def self.from_json(json_object:)
63
- struct = JSON.parse(json_object, object_class: OpenStruct)
64
- condition_schema_id = struct["condition_schema_id"]
65
- common_model = struct["common_model"]
66
- native_name = struct["native_name"]
67
- operator = struct["operator"]
68
- value = struct["value"]
69
- field_name = struct["field_name"]
70
- new(
71
- condition_schema_id: condition_schema_id,
72
- common_model: common_model,
73
- native_name: native_name,
74
- operator: operator,
75
- value: value,
76
- field_name: field_name,
77
- additional_properties: struct
78
- )
79
- end
80
-
81
- # Serialize an instance of LinkedAccountCondition to a JSON object
82
- #
83
- # @return [String]
84
- def to_json(*_args)
85
- @_field_set&.to_json
86
- end
87
-
88
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
89
- # hash and check each fields type against the current object's property
90
- # definitions.
91
- #
92
- # @param obj [Object]
93
- # @return [Void]
94
- def self.validate_raw(obj:)
95
- obj.condition_schema_id.is_a?(String) != false || raise("Passed value for field obj.condition_schema_id is not the expected type, validation failed.")
96
- obj.common_model&.is_a?(String) != false || raise("Passed value for field obj.common_model is not the expected type, validation failed.")
97
- obj.native_name&.is_a?(String) != false || raise("Passed value for field obj.native_name is not the expected type, validation failed.")
98
- obj.operator.is_a?(String) != false || raise("Passed value for field obj.operator is not the expected type, validation failed.")
99
- obj.value&.is_a?(Object) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
100
- obj.field_name&.is_a?(String) != false || raise("Passed value for field obj.field_name is not the expected type, validation failed.")
101
- end
102
- end
103
- end
104
- end
@@ -1,87 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "ostruct"
4
- require "json"
5
-
6
- module Merge
7
- module Ticketing
8
- class LinkedAccountConditionRequest
9
- # @return [String] The ID indicating which Linked Account Condition this is.
10
- attr_reader :id
11
- # @return [String] The ID indicating which condition schema to use for a specific condition.
12
- attr_reader :condition_schema_id
13
- # @return [String] The operator for a specific condition.
14
- attr_reader :operator
15
- # @return [Object]
16
- attr_reader :value
17
- # @return [OpenStruct] Additional properties unmapped to the current class definition
18
- attr_reader :additional_properties
19
- # @return [Object]
20
- attr_reader :_field_set
21
- protected :_field_set
22
-
23
- OMIT = Object.new
24
-
25
- # @param id [String] The ID indicating which Linked Account Condition this is.
26
- # @param condition_schema_id [String] The ID indicating which condition schema to use for a specific condition.
27
- # @param operator [String] The operator for a specific condition.
28
- # @param value [Object]
29
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
- # @return [Merge::Ticketing::LinkedAccountConditionRequest]
31
- def initialize(condition_schema_id:, operator:, value:, id: OMIT, additional_properties: nil)
32
- @id = id if id != OMIT
33
- @condition_schema_id = condition_schema_id
34
- @operator = operator
35
- @value = value
36
- @additional_properties = additional_properties
37
- @_field_set = {
38
- "id": id,
39
- "condition_schema_id": condition_schema_id,
40
- "operator": operator,
41
- "value": value
42
- }.reject do |_k, v|
43
- v == OMIT
44
- end
45
- end
46
-
47
- # Deserialize a JSON object to an instance of LinkedAccountConditionRequest
48
- #
49
- # @param json_object [String]
50
- # @return [Merge::Ticketing::LinkedAccountConditionRequest]
51
- def self.from_json(json_object:)
52
- struct = JSON.parse(json_object, object_class: OpenStruct)
53
- id = struct["id"]
54
- condition_schema_id = struct["condition_schema_id"]
55
- operator = struct["operator"]
56
- value = struct["value"]
57
- new(
58
- id: id,
59
- condition_schema_id: condition_schema_id,
60
- operator: operator,
61
- value: value,
62
- additional_properties: struct
63
- )
64
- end
65
-
66
- # Serialize an instance of LinkedAccountConditionRequest to a JSON object
67
- #
68
- # @return [String]
69
- def to_json(*_args)
70
- @_field_set&.to_json
71
- end
72
-
73
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
74
- # hash and check each fields type against the current object's property
75
- # definitions.
76
- #
77
- # @param obj [Object]
78
- # @return [Void]
79
- def self.validate_raw(obj:)
80
- obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
81
- obj.condition_schema_id.is_a?(String) != false || raise("Passed value for field obj.condition_schema_id is not the expected type, validation failed.")
82
- obj.operator.is_a?(String) != false || raise("Passed value for field obj.operator is not the expected type, validation failed.")
83
- obj.value.is_a?(Object) != false || raise("Passed value for field obj.value is not the expected type, validation failed.")
84
- end
85
- end
86
- end
87
- end
@@ -1,65 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "linked_account_condition"
4
- require "ostruct"
5
- require "json"
6
-
7
- module Merge
8
- module Ticketing
9
- class LinkedAccountSelectiveSyncConfiguration
10
- # @return [Array<Merge::Ticketing::LinkedAccountCondition>] The conditions belonging to a selective sync.
11
- attr_reader :linked_account_conditions
12
- # @return [OpenStruct] Additional properties unmapped to the current class definition
13
- attr_reader :additional_properties
14
- # @return [Object]
15
- attr_reader :_field_set
16
- protected :_field_set
17
-
18
- OMIT = Object.new
19
-
20
- # @param linked_account_conditions [Array<Merge::Ticketing::LinkedAccountCondition>] The conditions belonging to a selective sync.
21
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
- # @return [Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration]
23
- def initialize(linked_account_conditions: OMIT, additional_properties: nil)
24
- @linked_account_conditions = linked_account_conditions if linked_account_conditions != OMIT
25
- @additional_properties = additional_properties
26
- @_field_set = { "linked_account_conditions": linked_account_conditions }.reject do |_k, v|
27
- v == OMIT
28
- end
29
- end
30
-
31
- # Deserialize a JSON object to an instance of
32
- # LinkedAccountSelectiveSyncConfiguration
33
- #
34
- # @param json_object [String]
35
- # @return [Merge::Ticketing::LinkedAccountSelectiveSyncConfiguration]
36
- def self.from_json(json_object:)
37
- struct = JSON.parse(json_object, object_class: OpenStruct)
38
- parsed_json = JSON.parse(json_object)
39
- linked_account_conditions = parsed_json["linked_account_conditions"]&.map do |v|
40
- v = v.to_json
41
- Merge::Ticketing::LinkedAccountCondition.from_json(json_object: v)
42
- end
43
- new(linked_account_conditions: linked_account_conditions, additional_properties: struct)
44
- end
45
-
46
- # Serialize an instance of LinkedAccountSelectiveSyncConfiguration to a JSON
47
- # object
48
- #
49
- # @return [String]
50
- def to_json(*_args)
51
- @_field_set&.to_json
52
- end
53
-
54
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
55
- # hash and check each fields type against the current object's property
56
- # definitions.
57
- #
58
- # @param obj [Object]
59
- # @return [Void]
60
- def self.validate_raw(obj:)
61
- obj.linked_account_conditions&.is_a?(Array) != false || raise("Passed value for field obj.linked_account_conditions is not the expected type, validation failed.")
62
- end
63
- end
64
- end
65
- end