merge_ruby_client 0.0.5 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/lib/merge_ruby_client/accounting/audit_trail/client.rb +2 -4
  3. data/lib/merge_ruby_client/accounting/client.rb +7 -0
  4. data/lib/merge_ruby_client/accounting/link_token/client.rb +4 -8
  5. data/lib/merge_ruby_client/accounting/payments/client.rb +0 -4
  6. data/lib/merge_ruby_client/accounting/selective_sync/client.rb +218 -0
  7. data/lib/merge_ruby_client/accounting/types/account.rb +4 -4
  8. data/lib/merge_ruby_client/accounting/types/accounting_attachment.rb +4 -4
  9. data/lib/merge_ruby_client/accounting/types/accounting_period.rb +4 -4
  10. data/lib/merge_ruby_client/accounting/types/accounting_phone_number.rb +4 -4
  11. data/lib/merge_ruby_client/accounting/types/address.rb +4 -4
  12. data/lib/merge_ruby_client/accounting/types/audit_log_event.rb +0 -6
  13. data/lib/merge_ruby_client/accounting/types/balance_sheet.rb +4 -4
  14. data/lib/merge_ruby_client/accounting/types/cash_flow_statement.rb +4 -4
  15. data/lib/merge_ruby_client/accounting/types/company_info.rb +4 -4
  16. data/lib/merge_ruby_client/accounting/types/condition_schema.rb +136 -0
  17. data/lib/merge_ruby_client/accounting/types/condition_type_enum.rb +22 -0
  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 +13 -5
  21. data/lib/merge_ruby_client/accounting/types/event_type_enum.rb +0 -6
  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/linked_account_condition.rb +104 -0
  31. data/lib/merge_ruby_client/accounting/types/linked_account_condition_request.rb +87 -0
  32. data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration.rb +65 -0
  33. data/lib/merge_ruby_client/accounting/types/linked_account_selective_sync_configuration_request.rb +63 -0
  34. data/lib/merge_ruby_client/accounting/types/operator_schema.rb +68 -0
  35. data/lib/merge_ruby_client/accounting/types/paginated_condition_schema_list.rb +80 -0
  36. data/lib/merge_ruby_client/accounting/types/patched_payment_request.rb +1 -14
  37. data/lib/merge_ruby_client/accounting/types/payment.rb +5 -18
  38. data/lib/merge_ruby_client/accounting/types/payment_line_item.rb +4 -4
  39. data/lib/merge_ruby_client/accounting/types/payment_request.rb +1 -14
  40. data/lib/merge_ruby_client/accounting/types/purchase_order.rb +4 -4
  41. data/lib/merge_ruby_client/accounting/types/purchase_order_line_item.rb +4 -4
  42. data/lib/merge_ruby_client/accounting/types/remote_field_api.rb +2 -16
  43. data/lib/merge_ruby_client/accounting/types/report_item.rb +4 -4
  44. data/lib/merge_ruby_client/accounting/types/tax_rate.rb +10 -12
  45. data/lib/merge_ruby_client/accounting/types/tax_rate_company.rb +1 -2
  46. data/lib/merge_ruby_client/accounting/types/tracking_category.rb +4 -4
  47. data/lib/merge_ruby_client/accounting/types/transaction.rb +4 -4
  48. data/lib/merge_ruby_client/accounting/types/transaction_line_item.rb +6 -6
  49. data/lib/merge_ruby_client/accounting/types/vendor_credit.rb +4 -4
  50. data/lib/merge_ruby_client/accounting/types/vendor_credit_line.rb +4 -4
  51. data/lib/merge_ruby_client/ats/audit_trail/client.rb +2 -4
  52. data/lib/merge_ruby_client/ats/client.rb +7 -0
  53. data/lib/merge_ruby_client/ats/job_postings/client.rb +4 -16
  54. data/lib/merge_ruby_client/ats/link_token/client.rb +4 -8
  55. data/lib/merge_ruby_client/ats/selective_sync/client.rb +218 -0
  56. data/lib/merge_ruby_client/ats/types/activity.rb +4 -4
  57. data/lib/merge_ruby_client/ats/types/application.rb +4 -4
  58. data/lib/merge_ruby_client/ats/types/attachment.rb +4 -4
  59. data/lib/merge_ruby_client/ats/types/audit_log_event.rb +0 -6
  60. data/lib/merge_ruby_client/ats/types/candidate.rb +4 -4
  61. data/lib/merge_ruby_client/ats/types/condition_schema.rb +136 -0
  62. data/lib/merge_ruby_client/ats/types/condition_type_enum.rb +22 -0
  63. data/lib/merge_ruby_client/ats/types/department.rb +4 -4
  64. data/lib/merge_ruby_client/ats/types/eeoc.rb +4 -4
  65. data/lib/merge_ruby_client/ats/types/email_address.rb +4 -4
  66. data/lib/merge_ruby_client/ats/types/event_type_enum.rb +0 -6
  67. data/lib/merge_ruby_client/ats/types/job.rb +4 -4
  68. data/lib/merge_ruby_client/ats/types/job_interview_stage.rb +4 -4
  69. data/lib/merge_ruby_client/ats/types/job_posting.rb +4 -4
  70. data/lib/merge_ruby_client/ats/types/linked_account_condition.rb +104 -0
  71. data/lib/merge_ruby_client/ats/types/linked_account_condition_request.rb +87 -0
  72. data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration.rb +65 -0
  73. data/lib/merge_ruby_client/ats/types/linked_account_selective_sync_configuration_request.rb +63 -0
  74. data/lib/merge_ruby_client/ats/types/offer.rb +4 -4
  75. data/lib/merge_ruby_client/ats/types/office.rb +4 -4
  76. data/lib/merge_ruby_client/ats/types/operator_schema.rb +68 -0
  77. data/lib/merge_ruby_client/ats/types/paginated_condition_schema_list.rb +80 -0
  78. data/lib/merge_ruby_client/ats/types/phone_number.rb +4 -4
  79. data/lib/merge_ruby_client/ats/types/reject_reason.rb +4 -4
  80. data/lib/merge_ruby_client/ats/types/remote_field_api.rb +2 -16
  81. data/lib/merge_ruby_client/ats/types/remote_user.rb +4 -4
  82. data/lib/merge_ruby_client/ats/types/scheduled_interview.rb +4 -4
  83. data/lib/merge_ruby_client/ats/types/scorecard.rb +4 -4
  84. data/lib/merge_ruby_client/ats/types/screening_question.rb +4 -4
  85. data/lib/merge_ruby_client/ats/types/screening_question_option.rb +4 -4
  86. data/lib/merge_ruby_client/ats/types/tag.rb +4 -4
  87. data/lib/merge_ruby_client/ats/types/url.rb +4 -4
  88. data/lib/merge_ruby_client/crm/accounts/client.rb +0 -4
  89. data/lib/merge_ruby_client/crm/audit_trail/client.rb +2 -4
  90. data/lib/merge_ruby_client/crm/client.rb +7 -0
  91. data/lib/merge_ruby_client/crm/custom_objects/client.rb +2 -2
  92. data/lib/merge_ruby_client/crm/link_token/client.rb +4 -8
  93. data/lib/merge_ruby_client/crm/selective_sync/client.rb +218 -0
  94. data/lib/merge_ruby_client/crm/types/account.rb +4 -4
  95. data/lib/merge_ruby_client/crm/types/account_request.rb +1 -13
  96. data/lib/merge_ruby_client/crm/types/address.rb +4 -4
  97. data/lib/merge_ruby_client/crm/types/association.rb +6 -6
  98. data/lib/merge_ruby_client/crm/types/association_association_type.rb +0 -1
  99. data/lib/merge_ruby_client/crm/types/association_sub_type.rb +4 -4
  100. data/lib/merge_ruby_client/crm/types/association_type.rb +6 -8
  101. data/lib/merge_ruby_client/crm/types/audit_log_event.rb +0 -6
  102. data/lib/merge_ruby_client/crm/types/condition_schema.rb +136 -0
  103. data/lib/merge_ruby_client/crm/types/condition_type_enum.rb +22 -0
  104. data/lib/merge_ruby_client/crm/types/contact.rb +4 -4
  105. data/lib/merge_ruby_client/crm/types/custom_object.rb +8 -8
  106. data/lib/merge_ruby_client/crm/types/custom_object_class.rb +8 -10
  107. data/lib/merge_ruby_client/crm/types/email_address.rb +4 -4
  108. data/lib/merge_ruby_client/crm/types/engagement.rb +4 -4
  109. data/lib/merge_ruby_client/crm/types/engagement_type.rb +4 -4
  110. data/lib/merge_ruby_client/crm/types/event_type_enum.rb +0 -6
  111. data/lib/merge_ruby_client/crm/types/lead.rb +4 -4
  112. data/lib/merge_ruby_client/crm/types/linked_account_condition.rb +104 -0
  113. data/lib/merge_ruby_client/crm/types/linked_account_condition_request.rb +87 -0
  114. data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration.rb +65 -0
  115. data/lib/merge_ruby_client/crm/types/linked_account_selective_sync_configuration_request.rb +63 -0
  116. data/lib/merge_ruby_client/crm/types/note.rb +4 -4
  117. data/lib/merge_ruby_client/crm/types/operator_schema.rb +68 -0
  118. data/lib/merge_ruby_client/crm/types/opportunity.rb +4 -4
  119. data/lib/merge_ruby_client/crm/types/paginated_condition_schema_list.rb +80 -0
  120. data/lib/merge_ruby_client/crm/types/patched_account_request.rb +1 -13
  121. data/lib/merge_ruby_client/crm/types/phone_number.rb +4 -4
  122. data/lib/merge_ruby_client/crm/types/remote_field_api.rb +2 -16
  123. data/lib/merge_ruby_client/crm/types/remote_field_class_for_custom_object_class.rb +4 -4
  124. data/lib/merge_ruby_client/crm/types/stage.rb +4 -4
  125. data/lib/merge_ruby_client/crm/types/task.rb +4 -4
  126. data/lib/merge_ruby_client/crm/types/user.rb +4 -4
  127. data/lib/merge_ruby_client/filestorage/audit_trail/client.rb +2 -4
  128. data/lib/merge_ruby_client/filestorage/client.rb +7 -0
  129. data/lib/merge_ruby_client/filestorage/link_token/client.rb +4 -8
  130. data/lib/merge_ruby_client/filestorage/selective_sync/client.rb +218 -0
  131. data/lib/merge_ruby_client/filestorage/types/audit_log_event.rb +0 -6
  132. data/lib/merge_ruby_client/filestorage/types/condition_schema.rb +136 -0
  133. data/lib/merge_ruby_client/filestorage/types/condition_type_enum.rb +22 -0
  134. data/lib/merge_ruby_client/filestorage/types/drive.rb +4 -4
  135. data/lib/merge_ruby_client/filestorage/types/event_type_enum.rb +0 -6
  136. data/lib/merge_ruby_client/filestorage/types/file.rb +4 -4
  137. data/lib/merge_ruby_client/filestorage/types/folder.rb +4 -4
  138. data/lib/merge_ruby_client/filestorage/types/group.rb +4 -4
  139. data/lib/merge_ruby_client/filestorage/types/linked_account_condition.rb +104 -0
  140. data/lib/merge_ruby_client/filestorage/types/linked_account_condition_request.rb +87 -0
  141. data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration.rb +65 -0
  142. data/lib/merge_ruby_client/filestorage/types/linked_account_selective_sync_configuration_request.rb +63 -0
  143. data/lib/merge_ruby_client/filestorage/types/operator_schema.rb +68 -0
  144. data/lib/merge_ruby_client/filestorage/types/paginated_condition_schema_list.rb +80 -0
  145. data/lib/merge_ruby_client/filestorage/types/permission.rb +4 -4
  146. data/lib/merge_ruby_client/filestorage/types/remote_field_api.rb +2 -16
  147. data/lib/merge_ruby_client/filestorage/types/user.rb +4 -4
  148. data/lib/merge_ruby_client/hris/audit_trail/client.rb +2 -4
  149. data/lib/merge_ruby_client/hris/client.rb +7 -0
  150. data/lib/merge_ruby_client/hris/groups/client.rb +2 -10
  151. data/lib/merge_ruby_client/hris/link_token/client.rb +4 -8
  152. data/lib/merge_ruby_client/hris/selective_sync/client.rb +218 -0
  153. data/lib/merge_ruby_client/hris/types/audit_log_event.rb +0 -6
  154. data/lib/merge_ruby_client/hris/types/bank_info.rb +4 -4
  155. data/lib/merge_ruby_client/hris/types/benefit.rb +4 -4
  156. data/lib/merge_ruby_client/hris/types/company.rb +4 -4
  157. data/lib/merge_ruby_client/hris/types/condition_schema.rb +136 -0
  158. data/lib/merge_ruby_client/hris/types/condition_type_enum.rb +22 -0
  159. data/lib/merge_ruby_client/hris/types/deduction.rb +4 -4
  160. data/lib/merge_ruby_client/hris/types/dependent.rb +4 -4
  161. data/lib/merge_ruby_client/hris/types/earning.rb +4 -4
  162. data/lib/merge_ruby_client/hris/types/employee.rb +4 -4
  163. data/lib/merge_ruby_client/hris/types/employee_payroll_run.rb +4 -4
  164. data/lib/merge_ruby_client/hris/types/employer_benefit.rb +4 -4
  165. data/lib/merge_ruby_client/hris/types/employment.rb +4 -4
  166. data/lib/merge_ruby_client/hris/types/event_type_enum.rb +0 -6
  167. data/lib/merge_ruby_client/hris/types/group.rb +5 -19
  168. data/lib/merge_ruby_client/hris/types/linked_account_condition.rb +104 -0
  169. data/lib/merge_ruby_client/hris/types/linked_account_condition_request.rb +87 -0
  170. data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration.rb +65 -0
  171. data/lib/merge_ruby_client/hris/types/linked_account_selective_sync_configuration_request.rb +63 -0
  172. data/lib/merge_ruby_client/hris/types/location.rb +4 -4
  173. data/lib/merge_ruby_client/hris/types/operator_schema.rb +68 -0
  174. data/lib/merge_ruby_client/hris/types/paginated_condition_schema_list.rb +80 -0
  175. data/lib/merge_ruby_client/hris/types/pay_group.rb +4 -4
  176. data/lib/merge_ruby_client/hris/types/payroll_run.rb +4 -4
  177. data/lib/merge_ruby_client/hris/types/remote_field_api.rb +2 -16
  178. data/lib/merge_ruby_client/hris/types/tax.rb +4 -4
  179. data/lib/merge_ruby_client/hris/types/team.rb +4 -4
  180. data/lib/merge_ruby_client/hris/types/time_off.rb +4 -4
  181. data/lib/merge_ruby_client/hris/types/time_off_balance.rb +4 -4
  182. data/lib/merge_ruby_client/hris/types/timesheet_entry.rb +4 -4
  183. data/lib/merge_ruby_client/ticketing/audit_trail/client.rb +2 -4
  184. data/lib/merge_ruby_client/ticketing/client.rb +7 -0
  185. data/lib/merge_ruby_client/ticketing/contacts/client.rb +0 -127
  186. data/lib/merge_ruby_client/ticketing/link_token/client.rb +4 -8
  187. data/lib/merge_ruby_client/ticketing/selective_sync/client.rb +218 -0
  188. data/lib/merge_ruby_client/ticketing/types/account.rb +4 -4
  189. data/lib/merge_ruby_client/ticketing/types/attachment.rb +4 -4
  190. data/lib/merge_ruby_client/ticketing/types/audit_log_event.rb +0 -6
  191. data/lib/merge_ruby_client/ticketing/types/collection.rb +4 -4
  192. data/lib/merge_ruby_client/ticketing/types/comment.rb +4 -4
  193. data/lib/merge_ruby_client/ticketing/types/condition_schema.rb +136 -0
  194. data/lib/merge_ruby_client/ticketing/types/condition_type_enum.rb +22 -0
  195. data/lib/merge_ruby_client/ticketing/types/contact.rb +4 -4
  196. data/lib/merge_ruby_client/ticketing/types/event_type_enum.rb +0 -6
  197. data/lib/merge_ruby_client/ticketing/types/linked_account_condition.rb +104 -0
  198. data/lib/merge_ruby_client/ticketing/types/linked_account_condition_request.rb +87 -0
  199. data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration.rb +65 -0
  200. data/lib/merge_ruby_client/ticketing/types/linked_account_selective_sync_configuration_request.rb +63 -0
  201. data/lib/merge_ruby_client/ticketing/types/operator_schema.rb +68 -0
  202. data/lib/merge_ruby_client/ticketing/types/paginated_condition_schema_list.rb +80 -0
  203. data/lib/merge_ruby_client/ticketing/types/project.rb +4 -4
  204. data/lib/merge_ruby_client/ticketing/types/remote_field_api.rb +2 -16
  205. data/lib/merge_ruby_client/ticketing/types/role.rb +4 -4
  206. data/lib/merge_ruby_client/ticketing/types/tag.rb +4 -4
  207. data/lib/merge_ruby_client/ticketing/types/team.rb +4 -4
  208. data/lib/merge_ruby_client/ticketing/types/ticket.rb +4 -4
  209. data/lib/merge_ruby_client/ticketing/types/user.rb +4 -4
  210. data/lib/merge_ruby_client.rb +7 -7
  211. data/lib/requests.rb +2 -12
  212. data/lib/types_export.rb +153 -115
  213. metadata +56 -12
  214. data/lib/merge_ruby_client/accounting/types/payment_type_enum.rb +0 -12
  215. data/lib/merge_ruby_client/accounting/types/remote_field_api_coverage.rb +0 -54
  216. data/lib/merge_ruby_client/ats/types/remote_field_api_coverage.rb +0 -54
  217. data/lib/merge_ruby_client/crm/types/remote_field_api_coverage.rb +0 -54
  218. data/lib/merge_ruby_client/filestorage/types/remote_field_api_coverage.rb +0 -54
  219. data/lib/merge_ruby_client/hris/types/remote_field_api_coverage.rb +0 -54
  220. data/lib/merge_ruby_client/ticketing/types/contact_request.rb +0 -125
  221. data/lib/merge_ruby_client/ticketing/types/contact_request_account.rb +0 -56
  222. data/lib/merge_ruby_client/ticketing/types/remote_field_api_coverage.rb +0 -54
  223. data/lib/merge_ruby_client/ticketing/types/ticketing_contact_response.rb +0 -101
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "condition_type_enum"
4
+ require_relative "operator_schema"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module Merge
9
+ module Accounting
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::Accounting::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::Accounting::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::Accounting::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::Accounting::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::Accounting::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::Accounting::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::Accounting::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::Accounting::ConditionTypeEnum) != false || raise("Passed value for field obj.condition_type is not the expected type, validation failed.")
132
+ obj.operators.is_a?(Array) != false || raise("Passed value for field obj.operators is not the expected type, validation failed.")
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Merge
4
+ module Accounting
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
@@ -25,9 +25,9 @@ module Merge
25
25
  attr_reader :id
26
26
  # @return [String] The third-party API ID of the matching object.
27
27
  attr_reader :remote_id
28
- # @return [DateTime] The datetime that this object was created by Merge.
28
+ # @return [DateTime]
29
29
  attr_reader :created_at
30
- # @return [DateTime] The datetime that this object was modified by Merge.
30
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
31
31
  attr_reader :modified_at
32
32
  # @return [String] The contact's name.
33
33
  attr_reader :name
@@ -70,8 +70,8 @@ module Merge
70
70
 
71
71
  # @param id [String]
72
72
  # @param remote_id [String] The third-party API ID of the matching object.
73
- # @param created_at [DateTime] The datetime that this object was created by Merge.
74
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
73
+ # @param created_at [DateTime]
74
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
75
75
  # @param name [String] The contact's name.
76
76
  # @param is_supplier [Boolean] Whether the contact is a supplier.
77
77
  # @param is_customer [Boolean] Whether the contact is a customer.
@@ -30,9 +30,9 @@ module Merge
30
30
  attr_reader :id
31
31
  # @return [String] The third-party API ID of the matching object.
32
32
  attr_reader :remote_id
33
- # @return [DateTime] The datetime that this object was created by Merge.
33
+ # @return [DateTime]
34
34
  attr_reader :created_at
35
- # @return [DateTime] The datetime that this object was modified by Merge.
35
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
36
36
  attr_reader :modified_at
37
37
  # @return [DateTime] The credit note's transaction date.
38
38
  attr_reader :transaction_date
@@ -393,8 +393,8 @@ module Merge
393
393
 
394
394
  # @param id [String]
395
395
  # @param remote_id [String] The third-party API ID of the matching object.
396
- # @param created_at [DateTime] The datetime that this object was created by Merge.
397
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
396
+ # @param created_at [DateTime]
397
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
398
398
  # @param transaction_date [DateTime] The credit note's transaction date.
399
399
  # @param status [Merge::Accounting::CreditNoteStatusEnum] The credit note's status.
400
400
  # - `SUBMITTED` - SUBMITTED
@@ -13,9 +13,9 @@ module Merge
13
13
  attr_reader :id
14
14
  # @return [String] The third-party API ID of the matching object.
15
15
  attr_reader :remote_id
16
- # @return [DateTime] The datetime that this object was created by Merge.
16
+ # @return [DateTime]
17
17
  attr_reader :created_at
18
- # @return [DateTime] The datetime that this object was modified by Merge.
18
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
19
19
  attr_reader :modified_at
20
20
  # @return [Merge::Accounting::CreditNoteLineItemItem]
21
21
  attr_reader :item
@@ -29,6 +29,8 @@ module Merge
29
29
  attr_reader :memo
30
30
  # @return [String] The credit note line item's unit price.
31
31
  attr_reader :unit_price
32
+ # @return [String] The credit note line item's tax rate.
33
+ attr_reader :tax_rate
32
34
  # @return [String] The credit note line item's total.
33
35
  attr_reader :total_line_amount
34
36
  # @return [String] The credit note line item's associated tracking category.
@@ -52,14 +54,15 @@ module Merge
52
54
 
53
55
  # @param id [String]
54
56
  # @param remote_id [String] The third-party API ID of the matching object.
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
+ # @param created_at [DateTime]
58
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
57
59
  # @param item [Merge::Accounting::CreditNoteLineItemItem]
58
60
  # @param name [String] The credit note line item's name.
59
61
  # @param description [String] The description of the item that is owed.
60
62
  # @param quantity [String] The credit note line item's quantity.
61
63
  # @param memo [String] The credit note line item's memo.
62
64
  # @param unit_price [String] The credit note line item's unit price.
65
+ # @param tax_rate [String] The credit note line item's tax rate.
63
66
  # @param total_line_amount [String] The credit note line item's total.
64
67
  # @param tracking_category [String] The credit note line item's associated tracking category.
65
68
  # @param tracking_categories [Array<String>] The credit note line item's associated tracking categories.
@@ -70,7 +73,7 @@ module Merge
70
73
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
71
74
  # @return [Merge::Accounting::CreditNoteLineItem]
72
75
  def initialize(tracking_categories:, id: OMIT, remote_id: OMIT, created_at: OMIT, modified_at: OMIT, item: OMIT, name: OMIT,
73
- description: OMIT, quantity: OMIT, memo: OMIT, unit_price: OMIT, total_line_amount: OMIT, tracking_category: OMIT, account: OMIT, company: OMIT, remote_was_deleted: OMIT, additional_properties: nil)
76
+ description: OMIT, quantity: OMIT, memo: OMIT, unit_price: OMIT, tax_rate: OMIT, total_line_amount: OMIT, tracking_category: OMIT, account: OMIT, company: OMIT, remote_was_deleted: OMIT, additional_properties: nil)
74
77
  @id = id if id != OMIT
75
78
  @remote_id = remote_id if remote_id != OMIT
76
79
  @created_at = created_at if created_at != OMIT
@@ -81,6 +84,7 @@ module Merge
81
84
  @quantity = quantity if quantity != OMIT
82
85
  @memo = memo if memo != OMIT
83
86
  @unit_price = unit_price if unit_price != OMIT
87
+ @tax_rate = tax_rate if tax_rate != OMIT
84
88
  @total_line_amount = total_line_amount if total_line_amount != OMIT
85
89
  @tracking_category = tracking_category if tracking_category != OMIT
86
90
  @tracking_categories = tracking_categories
@@ -99,6 +103,7 @@ module Merge
99
103
  "quantity": quantity,
100
104
  "memo": memo,
101
105
  "unit_price": unit_price,
106
+ "tax_rate": tax_rate,
102
107
  "total_line_amount": total_line_amount,
103
108
  "tracking_category": tracking_category,
104
109
  "tracking_categories": tracking_categories,
@@ -132,6 +137,7 @@ module Merge
132
137
  quantity = struct["quantity"]
133
138
  memo = struct["memo"]
134
139
  unit_price = struct["unit_price"]
140
+ tax_rate = struct["tax_rate"]
135
141
  total_line_amount = struct["total_line_amount"]
136
142
  tracking_category = struct["tracking_category"]
137
143
  tracking_categories = struct["tracking_categories"]
@@ -154,6 +160,7 @@ module Merge
154
160
  quantity: quantity,
155
161
  memo: memo,
156
162
  unit_price: unit_price,
163
+ tax_rate: tax_rate,
157
164
  total_line_amount: total_line_amount,
158
165
  tracking_category: tracking_category,
159
166
  tracking_categories: tracking_categories,
@@ -188,6 +195,7 @@ module Merge
188
195
  obj.quantity&.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
189
196
  obj.memo&.is_a?(String) != false || raise("Passed value for field obj.memo is not the expected type, validation failed.")
190
197
  obj.unit_price&.is_a?(String) != false || raise("Passed value for field obj.unit_price is not the expected type, validation failed.")
198
+ obj.tax_rate&.is_a?(String) != false || raise("Passed value for field obj.tax_rate is not the expected type, validation failed.")
191
199
  obj.total_line_amount&.is_a?(String) != false || raise("Passed value for field obj.total_line_amount is not the expected type, validation failed.")
192
200
  obj.tracking_category&.is_a?(String) != false || raise("Passed value for field obj.tracking_category is not the expected type, validation failed.")
193
201
  obj.tracking_categories.is_a?(Array) != false || raise("Passed value for field obj.tracking_categories is not the expected type, validation failed.")
@@ -43,9 +43,6 @@ 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
49
46
  class EventTypeEnum
50
47
  CREATED_REMOTE_PRODUCTION_API_KEY = "CREATED_REMOTE_PRODUCTION_API_KEY"
51
48
  DELETED_REMOTE_PRODUCTION_API_KEY = "DELETED_REMOTE_PRODUCTION_API_KEY"
@@ -81,9 +78,6 @@ module Merge
81
78
  FORCED_LINKED_ACCOUNT_RESYNC = "FORCED_LINKED_ACCOUNT_RESYNC"
82
79
  MUTED_ISSUE = "MUTED_ISSUE"
83
80
  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"
87
81
  end
88
82
  end
89
83
  end
@@ -31,9 +31,9 @@ module Merge
31
31
  attr_reader :id
32
32
  # @return [String] The third-party API ID of the matching object.
33
33
  attr_reader :remote_id
34
- # @return [DateTime] The datetime that this object was created by Merge.
34
+ # @return [DateTime]
35
35
  attr_reader :created_at
36
- # @return [DateTime] The datetime that this object was modified by Merge.
36
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
37
37
  attr_reader :modified_at
38
38
  # @return [DateTime] When the transaction occurred.
39
39
  attr_reader :transaction_date
@@ -386,8 +386,8 @@ module Merge
386
386
 
387
387
  # @param id [String]
388
388
  # @param remote_id [String] The third-party API ID of the matching object.
389
- # @param created_at [DateTime] The datetime that this object was created by Merge.
390
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
389
+ # @param created_at [DateTime]
390
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
391
391
  # @param transaction_date [DateTime] When the transaction occurred.
392
392
  # @param remote_created_at [DateTime] When the expense was created.
393
393
  # @param account [Merge::Accounting::ExpenseAccount] The expense's payment account.
@@ -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] The datetime that this object was created by Merge.
25
+ # @return [DateTime]
26
26
  attr_reader :created_at
27
- # @return [DateTime] The datetime that this object was modified by Merge.
27
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
28
28
  attr_reader :modified_at
29
29
  # @return [Merge::Accounting::ExpenseLineItem] The line's item.
30
30
  attr_reader :item
@@ -365,8 +365,8 @@ module Merge
365
365
 
366
366
  # @param id [String]
367
367
  # @param remote_id [String] The third-party API ID of the matching object.
368
- # @param created_at [DateTime] The datetime that this object was created by Merge.
369
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
368
+ # @param created_at [DateTime]
369
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
370
370
  # @param item [Merge::Accounting::ExpenseLineItem] The line's item.
371
371
  # @param net_amount [Float] The line's net amount.
372
372
  # @param tracking_category [Merge::Accounting::ExpenseLineTrackingCategory]
@@ -24,9 +24,9 @@ module Merge
24
24
  attr_reader :id
25
25
  # @return [String] The third-party API ID of the matching object.
26
26
  attr_reader :remote_id
27
- # @return [DateTime] The datetime that this object was created by Merge.
27
+ # @return [DateTime]
28
28
  attr_reader :created_at
29
- # @return [DateTime] The datetime that this object was modified by Merge.
29
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
30
30
  attr_reader :modified_at
31
31
  # @return [String] The income statement's name.
32
32
  attr_reader :name
@@ -375,8 +375,8 @@ module Merge
375
375
 
376
376
  # @param id [String]
377
377
  # @param remote_id [String] The third-party API ID of the matching object.
378
- # @param created_at [DateTime] The datetime that this object was created by Merge.
379
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
378
+ # @param created_at [DateTime]
379
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
380
380
  # @param name [String] The income statement's name.
381
381
  # @param currency [Merge::Accounting::CurrencyEnum] The income statement's currency.
382
382
  # - `XUA` - ADB Unit of Account
@@ -29,9 +29,9 @@ module Merge
29
29
  attr_reader :id
30
30
  # @return [String] The third-party API ID of the matching object.
31
31
  attr_reader :remote_id
32
- # @return [DateTime] The datetime that this object was created by Merge.
32
+ # @return [DateTime]
33
33
  attr_reader :created_at
34
- # @return [DateTime] The datetime that this object was modified by Merge.
34
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
35
35
  attr_reader :modified_at
36
36
  # @return [Merge::Accounting::InvoiceTypeEnum] Whether the invoice is an accounts receivable or accounts payable. If `type` is
37
37
  # `ACCOUNTS_PAYABLE`, the invoice is a bill. If `type` is `ACCOUNTS_RECEIVABLE`,
@@ -412,8 +412,8 @@ module Merge
412
412
 
413
413
  # @param id [String]
414
414
  # @param remote_id [String] The third-party API ID of the matching object.
415
- # @param created_at [DateTime] The datetime that this object was created by Merge.
416
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
415
+ # @param created_at [DateTime]
416
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
417
417
  # @param type [Merge::Accounting::InvoiceTypeEnum] Whether the invoice is an accounts receivable or accounts payable. If `type` is
418
418
  # `ACCOUNTS_PAYABLE`, the invoice is a bill. If `type` is `ACCOUNTS_RECEIVABLE`,
419
419
  # it is an invoice.
@@ -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] The datetime that this object was created by Merge.
25
+ # @return [DateTime]
26
26
  attr_reader :created_at
27
- # @return [DateTime] The datetime that this object was modified by Merge.
27
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
28
28
  attr_reader :modified_at
29
29
  # @return [String] The line item's description.
30
30
  attr_reader :description
@@ -369,8 +369,8 @@ module Merge
369
369
 
370
370
  # @param id [String]
371
371
  # @param remote_id [String] The third-party API ID of the matching object.
372
- # @param created_at [DateTime] The datetime that this object was created by Merge.
373
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
372
+ # @param created_at [DateTime]
373
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
374
374
  # @param description [String] The line item's description.
375
375
  # @param unit_price [Float] The line item's unit price.
376
376
  # @param quantity [Float] The line item's quantity.
@@ -21,9 +21,9 @@ module Merge
21
21
  attr_reader :id
22
22
  # @return [String] The third-party API ID of the matching object.
23
23
  attr_reader :remote_id
24
- # @return [DateTime] The datetime that this object was created by Merge.
24
+ # @return [DateTime]
25
25
  attr_reader :created_at
26
- # @return [DateTime] The datetime that this object was modified by Merge.
26
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
27
27
  attr_reader :modified_at
28
28
  # @return [String] The item's name.
29
29
  attr_reader :name
@@ -60,8 +60,8 @@ module Merge
60
60
 
61
61
  # @param id [String]
62
62
  # @param remote_id [String] The third-party API ID of the matching object.
63
- # @param created_at [DateTime] The datetime that this object was created by Merge.
64
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
63
+ # @param created_at [DateTime]
64
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
65
65
  # @param name [String] The item's name.
66
66
  # @param status [Merge::Accounting::Status7D1Enum] The item's status.
67
67
  # - `ACTIVE` - ACTIVE
@@ -32,9 +32,9 @@ module Merge
32
32
  attr_reader :id
33
33
  # @return [String] The third-party API ID of the matching object.
34
34
  attr_reader :remote_id
35
- # @return [DateTime] The datetime that this object was created by Merge.
35
+ # @return [DateTime]
36
36
  attr_reader :created_at
37
- # @return [DateTime] The datetime that this object was modified by Merge.
37
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
38
38
  attr_reader :modified_at
39
39
  # @return [DateTime] The journal entry's transaction date.
40
40
  attr_reader :transaction_date
@@ -389,8 +389,8 @@ module Merge
389
389
 
390
390
  # @param id [String]
391
391
  # @param remote_id [String] The third-party API ID of the matching object.
392
- # @param created_at [DateTime] The datetime that this object was created by Merge.
393
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
392
+ # @param created_at [DateTime]
393
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
394
394
  # @param transaction_date [DateTime] The journal entry's transaction date.
395
395
  # @param remote_created_at [DateTime] When the third party's journal entry was created.
396
396
  # @param remote_updated_at [DateTime] When the third party's journal entry was updated.
@@ -21,9 +21,9 @@ module Merge
21
21
  attr_reader :id
22
22
  # @return [String] The third-party API ID of the matching object.
23
23
  attr_reader :remote_id
24
- # @return [DateTime] The datetime that this object was created by Merge.
24
+ # @return [DateTime]
25
25
  attr_reader :created_at
26
- # @return [DateTime] The datetime that this object was modified by Merge.
26
+ # @return [DateTime] This is the datetime that this object was last updated by Merge
27
27
  attr_reader :modified_at
28
28
  # @return [Merge::Accounting::JournalLineAccount]
29
29
  attr_reader :account
@@ -362,8 +362,8 @@ module Merge
362
362
 
363
363
  # @param id [String]
364
364
  # @param remote_id [String] The third-party API ID of the matching object.
365
- # @param created_at [DateTime] The datetime that this object was created by Merge.
366
- # @param modified_at [DateTime] The datetime that this object was modified by Merge.
365
+ # @param created_at [DateTime]
366
+ # @param modified_at [DateTime] This is the datetime that this object was last updated by Merge
367
367
  # @param account [Merge::Accounting::JournalLineAccount]
368
368
  # @param net_amount [Float] The value of the line item including taxes and other fees.
369
369
  # @param tracking_category [Merge::Accounting::JournalLineTrackingCategory]
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Merge
7
+ module Accounting
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::Accounting::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::Accounting::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