merge_hris_client 3.0.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +27 -8
  3. data/docs/AccountIntegration.md +6 -2
  4. data/docs/BankInfo.md +9 -5
  5. data/docs/BankInfoApi.md +15 -11
  6. data/docs/Benefit.md +8 -4
  7. data/docs/BenefitsApi.md +6 -6
  8. data/docs/CommonModelScopeData.md +20 -0
  9. data/docs/CommonModelScopes.md +20 -0
  10. data/docs/CommonModelScopesApi.md +157 -0
  11. data/docs/CommonModelScopesBodyRequest.md +22 -0
  12. data/docs/CommonModelScopesDisabledModels.md +26 -0
  13. data/docs/CommonModelScopesDisabledModelsEnabledActionsEnum.md +15 -0
  14. data/docs/CommonModelScopesPostInnerDeserializerRequest.md +22 -0
  15. data/docs/CommonModelScopesUpdateSerializer.md +18 -0
  16. data/docs/CompaniesApi.md +4 -4
  17. data/docs/Company.md +7 -3
  18. data/docs/ConditionSchema.md +30 -0
  19. data/docs/ConditionTypeEnum.md +15 -0
  20. data/docs/DataPassthroughRequest.md +1 -1
  21. data/docs/Deduction.md +11 -5
  22. data/docs/Earning.md +10 -2
  23. data/docs/Employee.md +19 -15
  24. data/docs/EmployeePayrollRun.md +11 -7
  25. data/docs/EmployeePayrollRunsApi.md +4 -4
  26. data/docs/EmployeeRequest.md +16 -18
  27. data/docs/EmployeesApi.md +31 -18
  28. data/docs/Employment.md +14 -10
  29. data/docs/EmploymentsApi.md +13 -9
  30. data/docs/EnabledActionsEnum.md +15 -0
  31. data/docs/EndUserDetailsRequest.md +5 -3
  32. data/docs/ForceResyncApi.md +1 -1
  33. data/docs/Group.md +8 -4
  34. data/docs/GroupsApi.md +15 -9
  35. data/docs/Issue.md +10 -8
  36. data/docs/IssuesApi.md +6 -6
  37. data/docs/LinkToken.md +1 -1
  38. data/docs/LinkedAccountCondition.md +28 -0
  39. data/docs/LinkedAccountConditionRequest.md +22 -0
  40. data/docs/LinkedAccountSelectiveSyncConfiguration.md +18 -0
  41. data/docs/LinkedAccountSelectiveSyncConfigurationListRequest.md +18 -0
  42. data/docs/LinkedAccountSelectiveSyncConfigurationRequest.md +18 -0
  43. data/docs/LinkedAccountsApi.md +2 -2
  44. data/docs/Location.md +9 -5
  45. data/docs/LocationsApi.md +13 -9
  46. data/docs/MetaResponse.md +2 -0
  47. data/docs/MultipartFormFieldRequest.md +1 -1
  48. data/docs/OperatorSchema.md +20 -0
  49. data/docs/PaginatedConditionSchemaList.md +22 -0
  50. data/docs/PayGroup.md +7 -3
  51. data/docs/PayGroupsApi.md +4 -4
  52. data/docs/PayrollRun.md +9 -5
  53. data/docs/PayrollRunsApi.md +14 -10
  54. data/docs/SelectiveSyncApi.md +233 -0
  55. data/docs/SelectiveSyncConfigurationsUsageEnum.md +15 -0
  56. data/docs/SyncStatus.md +5 -3
  57. data/docs/SyncStatusApi.md +11 -15
  58. data/docs/Tax.md +9 -1
  59. data/docs/Team.md +8 -4
  60. data/docs/TeamsApi.md +4 -4
  61. data/docs/TimeOff.md +13 -9
  62. data/docs/TimeOffApi.md +16 -12
  63. data/docs/TimeOffBalance.md +10 -6
  64. data/docs/TimeOffBalancesApi.md +15 -11
  65. data/docs/TimeOffRequest.md +11 -9
  66. data/lib/merge_hris_client/api/bank_info_api.rb +24 -10
  67. data/lib/merge_hris_client/api/benefits_api.rb +6 -6
  68. data/lib/merge_hris_client/api/common_model_scopes_api.rb +146 -0
  69. data/lib/merge_hris_client/api/companies_api.rb +4 -4
  70. data/lib/merge_hris_client/api/employee_payroll_runs_api.rb +4 -4
  71. data/lib/merge_hris_client/api/employees_api.rb +44 -17
  72. data/lib/merge_hris_client/api/employments_api.rb +22 -8
  73. data/lib/merge_hris_client/api/force_resync_api.rb +2 -2
  74. data/lib/merge_hris_client/api/groups_api.rb +25 -8
  75. data/lib/merge_hris_client/api/issues_api.rb +6 -6
  76. data/lib/merge_hris_client/api/linked_accounts_api.rb +3 -3
  77. data/lib/merge_hris_client/api/locations_api.rb +22 -8
  78. data/lib/merge_hris_client/api/pay_groups_api.rb +4 -4
  79. data/lib/merge_hris_client/api/payroll_runs_api.rb +24 -10
  80. data/lib/merge_hris_client/api/selective_sync_api.rb +225 -0
  81. data/lib/merge_hris_client/api/sync_status_api.rb +2 -2
  82. data/lib/merge_hris_client/api/teams_api.rb +4 -4
  83. data/lib/merge_hris_client/api/time_off_api.rb +26 -12
  84. data/lib/merge_hris_client/api/time_off_balances_api.rb +24 -10
  85. data/lib/merge_hris_client/models/account_integration.rb +30 -8
  86. data/lib/merge_hris_client/models/bank_info.rb +39 -16
  87. data/lib/merge_hris_client/models/benefit.rb +38 -15
  88. data/lib/merge_hris_client/models/categories_enum.rb +3 -1
  89. data/lib/merge_hris_client/models/category_enum.rb +3 -1
  90. data/lib/merge_hris_client/models/common_model_scope_data.rb +234 -0
  91. data/lib/merge_hris_client/models/common_model_scopes.rb +234 -0
  92. data/lib/merge_hris_client/models/common_model_scopes_body_request.rb +274 -0
  93. data/lib/merge_hris_client/models/common_model_scopes_disabled_models.rb +283 -0
  94. data/lib/merge_hris_client/models/common_model_scopes_disabled_models_enabled_actions_enum.rb +45 -0
  95. data/lib/merge_hris_client/models/common_model_scopes_post_inner_deserializer_request.rb +274 -0
  96. data/lib/merge_hris_client/models/common_model_scopes_update_serializer.rb +226 -0
  97. data/lib/merge_hris_client/models/company.rb +37 -15
  98. data/lib/merge_hris_client/models/condition_schema.rb +298 -0
  99. data/lib/merge_hris_client/models/condition_type_enum.rb +50 -0
  100. data/lib/merge_hris_client/models/data_passthrough_request.rb +1 -0
  101. data/lib/merge_hris_client/models/deduction.rb +50 -17
  102. data/lib/merge_hris_client/models/earning.rb +51 -6
  103. data/lib/merge_hris_client/models/employee.rb +51 -23
  104. data/lib/merge_hris_client/models/employee_payroll_run.rb +41 -17
  105. data/lib/merge_hris_client/models/employee_request.rb +34 -39
  106. data/lib/merge_hris_client/models/employment.rb +44 -20
  107. data/lib/merge_hris_client/models/enabled_actions_enum.rb +45 -0
  108. data/lib/merge_hris_client/models/end_user_details_request.rb +20 -7
  109. data/lib/merge_hris_client/models/group.rb +38 -16
  110. data/lib/merge_hris_client/models/group_type_enum.rb +2 -1
  111. data/lib/merge_hris_client/models/issue.rb +16 -4
  112. data/lib/merge_hris_client/models/link_token.rb +0 -5
  113. data/lib/merge_hris_client/models/linked_account_condition.rb +282 -0
  114. data/lib/merge_hris_client/models/linked_account_condition_request.rb +269 -0
  115. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration.rb +221 -0
  116. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration_list_request.rb +226 -0
  117. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration_request.rb +226 -0
  118. data/lib/merge_hris_client/models/location.rb +39 -17
  119. data/lib/merge_hris_client/models/meta_response.rb +12 -1
  120. data/lib/merge_hris_client/models/multipart_form_field_request.rb +1 -1
  121. data/lib/merge_hris_client/models/operator_schema.rb +229 -0
  122. data/lib/merge_hris_client/models/paginated_condition_schema_list.rb +240 -0
  123. data/lib/merge_hris_client/models/pay_frequency_enum.rb +2 -1
  124. data/lib/merge_hris_client/models/pay_group.rb +37 -15
  125. data/lib/merge_hris_client/models/pay_period_enum.rb +2 -1
  126. data/lib/merge_hris_client/models/payroll_run.rb +39 -17
  127. data/lib/merge_hris_client/models/selective_sync_configurations_usage_enum.rb +45 -0
  128. data/lib/merge_hris_client/models/sync_status.rb +13 -4
  129. data/lib/merge_hris_client/models/sync_status_status_enum.rb +2 -1
  130. data/lib/merge_hris_client/models/tax.rb +50 -5
  131. data/lib/merge_hris_client/models/team.rb +38 -15
  132. data/lib/merge_hris_client/models/time_off.rb +43 -19
  133. data/lib/merge_hris_client/models/time_off_balance.rb +40 -17
  134. data/lib/merge_hris_client/models/time_off_request.rb +36 -21
  135. data/lib/merge_hris_client/version.rb +1 -1
  136. data/lib/merge_hris_client.rb +20 -3
  137. data/spec/api/bank_info_api_spec.rb +7 -5
  138. data/spec/api/benefits_api_spec.rb +3 -3
  139. data/spec/api/common_model_scopes_api_spec.rb +58 -0
  140. data/spec/api/companies_api_spec.rb +2 -2
  141. data/spec/api/employee_payroll_runs_api_spec.rb +2 -2
  142. data/spec/api/employees_api_spec.rb +13 -6
  143. data/spec/api/employments_api_spec.rb +6 -4
  144. data/spec/api/force_resync_api_spec.rb +1 -1
  145. data/spec/api/groups_api_spec.rb +7 -4
  146. data/spec/api/issues_api_spec.rb +3 -3
  147. data/spec/api/linked_accounts_api_spec.rb +1 -1
  148. data/spec/api/locations_api_spec.rb +6 -4
  149. data/spec/api/pay_groups_api_spec.rb +2 -2
  150. data/spec/api/payroll_runs_api_spec.rb +7 -5
  151. data/spec/api/selective_sync_api_spec.rb +72 -0
  152. data/spec/api/sync_status_api_spec.rb +1 -1
  153. data/spec/api/teams_api_spec.rb +2 -2
  154. data/spec/api/time_off_api_spec.rb +8 -6
  155. data/spec/api/time_off_balances_api_spec.rb +7 -5
  156. data/spec/models/account_integration_spec.rb +12 -0
  157. data/spec/models/bank_info_spec.rb +14 -2
  158. data/spec/models/benefit_spec.rb +14 -2
  159. data/spec/models/common_model_scope_data_spec.rb +40 -0
  160. data/spec/models/common_model_scopes_body_request_spec.rb +46 -0
  161. data/spec/models/common_model_scopes_disabled_models_enabled_actions_enum_spec.rb +28 -0
  162. data/spec/models/common_model_scopes_disabled_models_spec.rb +58 -0
  163. data/spec/models/common_model_scopes_post_inner_deserializer_request_spec.rb +46 -0
  164. data/spec/models/common_model_scopes_spec.rb +40 -0
  165. data/spec/models/common_model_scopes_update_serializer_spec.rb +34 -0
  166. data/spec/models/company_spec.rb +14 -2
  167. data/spec/models/condition_schema_spec.rb +70 -0
  168. data/spec/models/condition_type_enum_spec.rb +28 -0
  169. data/spec/models/deduction_spec.rb +20 -2
  170. data/spec/models/earning_spec.rb +24 -0
  171. data/spec/models/employee_payroll_run_spec.rb +14 -2
  172. data/spec/models/employee_request_spec.rb +5 -11
  173. data/spec/models/employee_spec.rb +15 -3
  174. data/spec/models/employment_spec.rb +14 -2
  175. data/spec/models/enabled_actions_enum_spec.rb +28 -0
  176. data/spec/models/end_user_details_request_spec.rb +6 -0
  177. data/spec/models/group_spec.rb +14 -2
  178. data/spec/models/issue_spec.rb +6 -0
  179. data/spec/models/linked_account_condition_request_spec.rb +46 -0
  180. data/spec/models/linked_account_condition_spec.rb +64 -0
  181. data/spec/models/linked_account_selective_sync_configuration_list_request_spec.rb +34 -0
  182. data/spec/models/linked_account_selective_sync_configuration_request_spec.rb +34 -0
  183. data/spec/models/linked_account_selective_sync_configuration_spec.rb +34 -0
  184. data/spec/models/location_spec.rb +14 -2
  185. data/spec/models/meta_response_spec.rb +6 -0
  186. data/spec/models/operator_schema_spec.rb +40 -0
  187. data/spec/models/paginated_condition_schema_list_spec.rb +46 -0
  188. data/spec/models/pay_group_spec.rb +14 -2
  189. data/spec/models/payroll_run_spec.rb +14 -2
  190. data/spec/models/selective_sync_configurations_usage_enum_spec.rb +28 -0
  191. data/spec/models/sync_status_spec.rb +6 -0
  192. data/spec/models/tax_spec.rb +24 -0
  193. data/spec/models/team_spec.rb +14 -2
  194. data/spec/models/time_off_balance_spec.rb +14 -2
  195. data/spec/models/time_off_request_spec.rb +12 -6
  196. data/spec/models/time_off_spec.rb +14 -2
  197. metadata +184 -104
@@ -18,7 +18,7 @@ module MergeHRISClient
18
18
  # Company name.
19
19
  attr_accessor :name
20
20
 
21
- # Category or categories this integration belongs to. Multiple categories should be comma separated.<br/><br>Example: For [ats, hris], enter <i>ats,hris</i>
21
+ # Category or categories this integration belongs to. Multiple categories should be comma separated, i.e. [ats, hris].
22
22
  attr_accessor :categories
23
23
 
24
24
  # Company logo in rectangular shape. <b>Upload an image with a clear background.</b>
@@ -32,6 +32,12 @@ module MergeHRISClient
32
32
 
33
33
  attr_accessor :slug
34
34
 
35
+ # If checked, this integration will not appear in the linking flow, and will appear elsewhere with a Beta tag.
36
+ attr_accessor :is_in_beta
37
+
38
+ # Mapping of API endpoints to documentation urls for support. Example: {'GET': [['/common-model-scopes', 'https://docs.merge.dev/accounting/common-model-scopes/#common_model_scopes_retrieve'],['/common-model-actions', 'https://docs.merge.dev/accounting/common-model-actions/#common_model_actions_retrieve']], 'POST': []}
39
+ attr_accessor :api_endpoints_to_documentation_urls
40
+
35
41
  # Attribute mapping from ruby-style variable name to JSON key.
36
42
  def self.attribute_map
37
43
  {
@@ -40,7 +46,9 @@ module MergeHRISClient
40
46
  :'image' => :'image',
41
47
  :'square_image' => :'square_image',
42
48
  :'color' => :'color',
43
- :'slug' => :'slug'
49
+ :'slug' => :'slug',
50
+ :'is_in_beta' => :'is_in_beta',
51
+ :'api_endpoints_to_documentation_urls' => :'api_endpoints_to_documentation_urls'
44
52
  }
45
53
  end
46
54
 
@@ -57,7 +65,9 @@ module MergeHRISClient
57
65
  :'image' => :'String',
58
66
  :'square_image' => :'String',
59
67
  :'color' => :'String',
60
- :'slug' => :'String'
68
+ :'slug' => :'String',
69
+ :'is_in_beta' => :'Boolean',
70
+ :'api_endpoints_to_documentation_urls' => :'Hash<String, Object>'
61
71
  }
62
72
  end
63
73
 
@@ -109,6 +119,16 @@ module MergeHRISClient
109
119
  if attributes.key?(:'slug')
110
120
  self.slug = attributes[:'slug']
111
121
  end
122
+
123
+ if attributes.key?(:'is_in_beta')
124
+ self.is_in_beta = attributes[:'is_in_beta']
125
+ end
126
+
127
+ if attributes.key?(:'api_endpoints_to_documentation_urls')
128
+ if (value = attributes[:'api_endpoints_to_documentation_urls']).is_a?(Hash)
129
+ self.api_endpoints_to_documentation_urls = value
130
+ end
131
+ end
112
132
  end
113
133
 
114
134
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -124,7 +144,7 @@ module MergeHRISClient
124
144
  end
125
145
 
126
146
  pattern = Regexp.new(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)
127
- if !@color.nil? && @color !~ pattern
147
+ if !@color.nil? && @color.to_s !~ pattern
128
148
  invalid_properties.push("invalid value for \"color\", must conform to the pattern #{pattern}.")
129
149
  end
130
150
 
@@ -136,7 +156,7 @@ module MergeHRISClient
136
156
  def valid?
137
157
  return false if @name.nil?
138
158
  return false if !@color.nil? && @color.to_s.length > 18
139
- return false if !@color.nil? && @color !~ Regexp.new(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)
159
+ return false if !@color.nil? && @color.to_s !~ Regexp.new(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)
140
160
  true
141
161
  end
142
162
 
@@ -148,7 +168,7 @@ module MergeHRISClient
148
168
  end
149
169
 
150
170
  pattern = Regexp.new(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/)
151
- if !color.nil? && color !~ pattern
171
+ if !color.nil? && color.to_s !~ pattern
152
172
  fail ArgumentError, "invalid value for \"color\", must conform to the pattern #{pattern}."
153
173
  end
154
174
 
@@ -165,7 +185,9 @@ module MergeHRISClient
165
185
  image == o.image &&
166
186
  square_image == o.square_image &&
167
187
  color == o.color &&
168
- slug == o.slug
188
+ slug == o.slug &&
189
+ is_in_beta == o.is_in_beta &&
190
+ api_endpoints_to_documentation_urls == o.api_endpoints_to_documentation_urls
169
191
  end
170
192
 
171
193
  # @see the `==` method
@@ -177,7 +199,7 @@ module MergeHRISClient
177
199
  # Calculates hash code according to all attributes.
178
200
  # @return [Integer] Hash code
179
201
  def hash
180
- [name, categories, image, square_image, color, slug].hash
202
+ [name, categories, image, square_image, color, slug, is_in_beta, api_endpoints_to_documentation_urls].hash
181
203
  end
182
204
 
183
205
  # Builds the object from hash
@@ -14,13 +14,14 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module MergeHRISClient
17
- # # The BankInfo Object ### Description The `BankInfo` object is used to represent the Bank Account information for an Employee. This is often referenced with an Employee object. ### Usage Example Fetch from the `LIST BankInfo` endpoint and filter by `ID` to show all bank information.
17
+ # # The BankInfo Object ### Description The `BankInfo` object is used to represent the Bank Account information for an Employee. ### Usage Example Fetch from the `LIST BankInfo` endpoint and filter by `ID` to show all bank information.
18
18
  class BankInfo
19
19
  attr_accessor :id
20
20
 
21
21
  # The third-party API ID of the matching object.
22
22
  attr_accessor :remote_id
23
23
 
24
+ # The employee with this bank account.
24
25
  attr_accessor :employee
25
26
 
26
27
  # The account number.
@@ -32,17 +33,22 @@ module MergeHRISClient
32
33
  # The bank name.
33
34
  attr_accessor :bank_name
34
35
 
35
- # The bank account type
36
+ # The bank account type * `SAVINGS` - SAVINGS * `CHECKING` - CHECKING
36
37
  attr_accessor :account_type
37
38
 
38
39
  # When the matching bank object was created in the third party system.
39
40
  attr_accessor :remote_created_at
40
41
 
41
- attr_accessor :remote_data
42
-
43
42
  # Indicates whether or not this object has been deleted by third party webhooks.
44
43
  attr_accessor :remote_was_deleted
45
44
 
45
+ attr_accessor :field_mappings
46
+
47
+ # This is the datetime that this object was last updated by Merge
48
+ attr_accessor :modified_at
49
+
50
+ attr_accessor :remote_data
51
+
46
52
  # Attribute mapping from ruby-style variable name to JSON key.
47
53
  def self.attribute_map
48
54
  {
@@ -54,8 +60,10 @@ module MergeHRISClient
54
60
  :'bank_name' => :'bank_name',
55
61
  :'account_type' => :'account_type',
56
62
  :'remote_created_at' => :'remote_created_at',
57
- :'remote_data' => :'remote_data',
58
- :'remote_was_deleted' => :'remote_was_deleted'
63
+ :'remote_was_deleted' => :'remote_was_deleted',
64
+ :'field_mappings' => :'field_mappings',
65
+ :'modified_at' => :'modified_at',
66
+ :'remote_data' => :'remote_data'
59
67
  }
60
68
  end
61
69
 
@@ -75,8 +83,10 @@ module MergeHRISClient
75
83
  :'bank_name' => :'String',
76
84
  :'account_type' => :'AccountTypeEnum',
77
85
  :'remote_created_at' => :'Time',
78
- :'remote_data' => :'Array<RemoteData>',
79
- :'remote_was_deleted' => :'Boolean'
86
+ :'remote_was_deleted' => :'Boolean',
87
+ :'field_mappings' => :'Hash<String, Object>',
88
+ :'modified_at' => :'Time',
89
+ :'remote_data' => :'Array<RemoteData>'
80
90
  }
81
91
  end
82
92
 
@@ -90,7 +100,8 @@ module MergeHRISClient
90
100
  :'bank_name',
91
101
  :'account_type',
92
102
  :'remote_created_at',
93
- :'remote_data',
103
+ :'field_mappings',
104
+ :'remote_data'
94
105
  ])
95
106
  end
96
107
 
@@ -141,15 +152,25 @@ module MergeHRISClient
141
152
  self.remote_created_at = attributes[:'remote_created_at']
142
153
  end
143
154
 
155
+ if attributes.key?(:'remote_was_deleted')
156
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
157
+ end
158
+
159
+ if attributes.key?(:'field_mappings')
160
+ if (value = attributes[:'field_mappings']).is_a?(Hash)
161
+ self.field_mappings = value
162
+ end
163
+ end
164
+
165
+ if attributes.key?(:'modified_at')
166
+ self.modified_at = attributes[:'modified_at']
167
+ end
168
+
144
169
  if attributes.key?(:'remote_data')
145
170
  if (value = attributes[:'remote_data']).is_a?(Array)
146
171
  self.remote_data = value
147
172
  end
148
173
  end
149
-
150
- if attributes.key?(:'remote_was_deleted')
151
- self.remote_was_deleted = attributes[:'remote_was_deleted']
152
- end
153
174
  end
154
175
 
155
176
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -193,8 +214,10 @@ module MergeHRISClient
193
214
  bank_name == o.bank_name &&
194
215
  account_type == o.account_type &&
195
216
  remote_created_at == o.remote_created_at &&
196
- remote_data == o.remote_data &&
197
- remote_was_deleted == o.remote_was_deleted
217
+ remote_was_deleted == o.remote_was_deleted &&
218
+ field_mappings == o.field_mappings &&
219
+ modified_at == o.modified_at &&
220
+ remote_data == o.remote_data
198
221
  end
199
222
 
200
223
  # @see the `==` method
@@ -206,7 +229,7 @@ module MergeHRISClient
206
229
  # Calculates hash code according to all attributes.
207
230
  # @return [Integer] Hash code
208
231
  def hash
209
- [id, remote_id, employee, account_number, routing_number, bank_name, account_type, remote_created_at, remote_data, remote_was_deleted].hash
232
+ [id, remote_id, employee, account_number, routing_number, bank_name, account_type, remote_created_at, remote_was_deleted, field_mappings, modified_at, remote_data].hash
210
233
  end
211
234
 
212
235
  # Builds the object from hash
@@ -14,13 +14,14 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module MergeHRISClient
17
- # # The Benefit Object ### Description The `Benefit` object is used to represent a Benefit for an employee. ### Usage Example Fetch from the `LIST Benefits` endpoint and filter by `ID` to show all benefits.
17
+ # # The Benefit Object ### Description The `Benefit` object is used to represent a benefit that an employee has enrolled in. ### Usage Example Fetch from the `LIST Benefits` endpoint and filter by `ID` to show all benefits.
18
18
  class Benefit
19
19
  attr_accessor :id
20
20
 
21
21
  # The third-party API ID of the matching object.
22
22
  attr_accessor :remote_id
23
23
 
24
+ # The employee on the plan.
24
25
  attr_accessor :employee
25
26
 
26
27
  # The name of the benefit provider.
@@ -35,11 +36,16 @@ module MergeHRISClient
35
36
  # The company's contribution.
36
37
  attr_accessor :company_contribution
37
38
 
38
- attr_accessor :remote_data
39
-
40
39
  # Indicates whether or not this object has been deleted by third party webhooks.
41
40
  attr_accessor :remote_was_deleted
42
41
 
42
+ attr_accessor :field_mappings
43
+
44
+ # This is the datetime that this object was last updated by Merge
45
+ attr_accessor :modified_at
46
+
47
+ attr_accessor :remote_data
48
+
43
49
  # Attribute mapping from ruby-style variable name to JSON key.
44
50
  def self.attribute_map
45
51
  {
@@ -50,8 +56,10 @@ module MergeHRISClient
50
56
  :'benefit_plan_type' => :'benefit_plan_type',
51
57
  :'employee_contribution' => :'employee_contribution',
52
58
  :'company_contribution' => :'company_contribution',
53
- :'remote_data' => :'remote_data',
54
- :'remote_was_deleted' => :'remote_was_deleted'
59
+ :'remote_was_deleted' => :'remote_was_deleted',
60
+ :'field_mappings' => :'field_mappings',
61
+ :'modified_at' => :'modified_at',
62
+ :'remote_data' => :'remote_data'
55
63
  }
56
64
  end
57
65
 
@@ -70,8 +78,10 @@ module MergeHRISClient
70
78
  :'benefit_plan_type' => :'String',
71
79
  :'employee_contribution' => :'Float',
72
80
  :'company_contribution' => :'Float',
73
- :'remote_data' => :'Array<RemoteData>',
74
- :'remote_was_deleted' => :'Boolean'
81
+ :'remote_was_deleted' => :'Boolean',
82
+ :'field_mappings' => :'Hash<String, Object>',
83
+ :'modified_at' => :'Time',
84
+ :'remote_data' => :'Array<RemoteData>'
75
85
  }
76
86
  end
77
87
 
@@ -84,7 +94,8 @@ module MergeHRISClient
84
94
  :'benefit_plan_type',
85
95
  :'employee_contribution',
86
96
  :'company_contribution',
87
- :'remote_data',
97
+ :'field_mappings',
98
+ :'remote_data'
88
99
  ])
89
100
  end
90
101
 
@@ -131,15 +142,25 @@ module MergeHRISClient
131
142
  self.company_contribution = attributes[:'company_contribution']
132
143
  end
133
144
 
145
+ if attributes.key?(:'remote_was_deleted')
146
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
147
+ end
148
+
149
+ if attributes.key?(:'field_mappings')
150
+ if (value = attributes[:'field_mappings']).is_a?(Hash)
151
+ self.field_mappings = value
152
+ end
153
+ end
154
+
155
+ if attributes.key?(:'modified_at')
156
+ self.modified_at = attributes[:'modified_at']
157
+ end
158
+
134
159
  if attributes.key?(:'remote_data')
135
160
  if (value = attributes[:'remote_data']).is_a?(Array)
136
161
  self.remote_data = value
137
162
  end
138
163
  end
139
-
140
- if attributes.key?(:'remote_was_deleted')
141
- self.remote_was_deleted = attributes[:'remote_was_deleted']
142
- end
143
164
  end
144
165
 
145
166
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -167,8 +188,10 @@ module MergeHRISClient
167
188
  benefit_plan_type == o.benefit_plan_type &&
168
189
  employee_contribution == o.employee_contribution &&
169
190
  company_contribution == o.company_contribution &&
170
- remote_data == o.remote_data &&
171
- remote_was_deleted == o.remote_was_deleted
191
+ remote_was_deleted == o.remote_was_deleted &&
192
+ field_mappings == o.field_mappings &&
193
+ modified_at == o.modified_at &&
194
+ remote_data == o.remote_data
172
195
  end
173
196
 
174
197
  # @see the `==` method
@@ -180,7 +203,7 @@ module MergeHRISClient
180
203
  # Calculates hash code according to all attributes.
181
204
  # @return [Integer] Hash code
182
205
  def hash
183
- [id, remote_id, employee, provider_name, benefit_plan_type, employee_contribution, company_contribution, remote_data, remote_was_deleted].hash
206
+ [id, remote_id, employee, provider_name, benefit_plan_type, employee_contribution, company_contribution, remote_was_deleted, field_mappings, modified_at, remote_data].hash
184
207
  end
185
208
 
186
209
  # Builds the object from hash
@@ -20,6 +20,8 @@ module MergeHRISClient
20
20
  ACCOUNTING = "accounting".freeze
21
21
  TICKETING = "ticketing".freeze
22
22
  CRM = "crm".freeze
23
+ MKTG = "mktg".freeze
24
+ FILESTORAGE = "filestorage".freeze
23
25
 
24
26
  MERGE_NONSTANDARD_VALUE = "MERGE_NONSTANDARD_VALUE".freeze
25
27
 
@@ -31,7 +33,7 @@ module MergeHRISClient
31
33
  # @return [String] The enum value
32
34
  def build_from_hash(value)
33
35
  @raw_value = value
34
- if ["hris", "ats", "accounting", "ticketing", "crm", ].include? value
36
+ if ["hris", "ats", "accounting", "ticketing", "crm", "mktg", "filestorage", ].include? value
35
37
  @value = value
36
38
  else
37
39
  @value = MERGE_NONSTANDARD_VALUE
@@ -20,6 +20,8 @@ module MergeHRISClient
20
20
  ACCOUNTING = "accounting".freeze
21
21
  TICKETING = "ticketing".freeze
22
22
  CRM = "crm".freeze
23
+ MKTG = "mktg".freeze
24
+ FILESTORAGE = "filestorage".freeze
23
25
 
24
26
  MERGE_NONSTANDARD_VALUE = "MERGE_NONSTANDARD_VALUE".freeze
25
27
 
@@ -31,7 +33,7 @@ module MergeHRISClient
31
33
  # @return [String] The enum value
32
34
  def build_from_hash(value)
33
35
  @raw_value = value
34
- if ["hris", "ats", "accounting", "ticketing", "crm", ].include? value
36
+ if ["hris", "ats", "accounting", "ticketing", "crm", "mktg", "filestorage", ].include? value
35
37
  @value = value
36
38
  else
37
39
  @value = MERGE_NONSTANDARD_VALUE
@@ -0,0 +1,234 @@
1
+ =begin
2
+ #Merge HRIS API
3
+
4
+ #The unified API for building rich integrations with multiple HR Information System platforms.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Contact: hello@merge.dev
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.1.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module MergeHRISClient
17
+ class CommonModelScopeData
18
+ attr_accessor :common_models
19
+
20
+ attr_accessor :linked_account_id
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'common_models' => :'common_models',
26
+ :'linked_account_id' => :'linked_account_id'
27
+ }
28
+ end
29
+
30
+ # Returns all the JSON keys this model knows about
31
+ def self.acceptable_attributes
32
+ attribute_map.values
33
+ end
34
+
35
+ # Attribute type mapping.
36
+ def self.openapi_types
37
+ {
38
+ :'common_models' => :'Array<CommonModelScopesDisabledModels>',
39
+ :'linked_account_id' => :'String'
40
+ }
41
+ end
42
+
43
+ # List of attributes with nullable: true
44
+ def self.openapi_nullable
45
+ Set.new([
46
+ ])
47
+ end
48
+
49
+ # Initializes the object
50
+ # @param [Hash] attributes Model attributes in the form of hash
51
+ def initialize(attributes = {})
52
+ if (!attributes.is_a?(Hash))
53
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeHRISClient::CommonModelScopeData` initialize method"
54
+ end
55
+
56
+ # check to see if the attribute exists and convert string to symbol for hash key
57
+ attributes = attributes.each_with_object({}) { |(k, v), h|
58
+ if (!self.class.attribute_map.key?(k.to_sym))
59
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeHRISClient::CommonModelScopeData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
60
+ end
61
+ h[k.to_sym] = v
62
+ }
63
+
64
+ if attributes.key?(:'common_models')
65
+ if (value = attributes[:'common_models']).is_a?(Array)
66
+ self.common_models = value
67
+ end
68
+ end
69
+
70
+ if attributes.key?(:'linked_account_id')
71
+ self.linked_account_id = attributes[:'linked_account_id']
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ invalid_properties = Array.new
79
+ if @common_models.nil?
80
+ invalid_properties.push('invalid value for "common_models", common_models cannot be nil.')
81
+ end
82
+
83
+ invalid_properties
84
+ end
85
+
86
+ # Check to see if the all the properties in the model are valid
87
+ # @return true if the model is valid
88
+ def valid?
89
+ return false if @common_models.nil?
90
+ true
91
+ end
92
+
93
+ # Checks equality by comparing each attribute.
94
+ # @param [Object] Object to be compared
95
+ def ==(o)
96
+ return true if self.equal?(o)
97
+ self.class == o.class &&
98
+ common_models == o.common_models &&
99
+ linked_account_id == o.linked_account_id
100
+ end
101
+
102
+ # @see the `==` method
103
+ # @param [Object] Object to be compared
104
+ def eql?(o)
105
+ self == o
106
+ end
107
+
108
+ # Calculates hash code according to all attributes.
109
+ # @return [Integer] Hash code
110
+ def hash
111
+ [common_models, linked_account_id].hash
112
+ end
113
+
114
+ # Builds the object from hash
115
+ # @param [Hash] attributes Model attributes in the form of hash
116
+ # @return [Object] Returns the model itself
117
+ def self.build_from_hash(attributes)
118
+ new.build_from_hash(attributes)
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def build_from_hash(attributes)
125
+ return nil unless attributes.is_a?(Hash)
126
+ self.class.openapi_types.each_pair do |key, type|
127
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
128
+ self.send("#{key}=", nil)
129
+ elsif type =~ /\AArray<(.*)>/i
130
+ # check to ensure the input is an array given that the attribute
131
+ # is documented as an array but the input is not
132
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
133
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
134
+ end
135
+ elsif !attributes[self.class.attribute_map[key]].nil?
136
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
137
+ end
138
+ end
139
+
140
+ self
141
+ end
142
+
143
+ # Deserializes the data based on type
144
+ # @param string type Data type
145
+ # @param string value Value to be deserialized
146
+ # @return [Object] Deserialized data
147
+ def _deserialize(type, value)
148
+ case type.to_sym
149
+ when :Time
150
+ Time.parse(value)
151
+ when :Date
152
+ Date.parse(value)
153
+ when :String
154
+ value
155
+ when :Integer
156
+ value.to_i
157
+ when :Float
158
+ value.to_f
159
+ when :Boolean
160
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
161
+ true
162
+ else
163
+ false
164
+ end
165
+ when :Object
166
+ # generic object (usually a Hash), return directly
167
+ value
168
+ when /\AArray<(?<inner_type>.+)>\z/
169
+ inner_type = Regexp.last_match[:inner_type]
170
+ value.map { |v| _deserialize(inner_type, v) }
171
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
172
+ k_type = Regexp.last_match[:k_type]
173
+ v_type = Regexp.last_match[:v_type]
174
+ {}.tap do |hash|
175
+ value.each do |k, v|
176
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
177
+ end
178
+ end
179
+ else # model
180
+ # models (e.g. Pet) or oneOf
181
+ klass = MergeHRISClient.const_get(type)
182
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
183
+ end
184
+ end
185
+
186
+ # Returns the string representation of the object
187
+ # @return [String] String presentation of the object
188
+ def to_s
189
+ to_hash.to_s
190
+ end
191
+
192
+ # to_body is an alias to to_hash (backward compatibility)
193
+ # @return [Hash] Returns the object in the form of hash
194
+ def to_body
195
+ to_hash
196
+ end
197
+
198
+ # Returns the object in the form of hash
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_hash
201
+ hash = {}
202
+ self.class.attribute_map.each_pair do |attr, param|
203
+ value = self.send(attr)
204
+ if value.nil?
205
+ is_nullable = self.class.openapi_nullable.include?(attr)
206
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
207
+ end
208
+
209
+ hash[param] = _to_hash(value)
210
+ end
211
+ hash
212
+ end
213
+
214
+ # Outputs non-array value in the form of hash
215
+ # For object, use to_hash. Otherwise, just return the value
216
+ # @param [Object] value Any valid value
217
+ # @return [Hash] Returns the value in the form of hash
218
+ def _to_hash(value)
219
+ if value.is_a?(Array)
220
+ value.compact.map { |v| _to_hash(v) }
221
+ elsif value.is_a?(Hash)
222
+ {}.tap do |hash|
223
+ value.each { |k, v| hash[k] = _to_hash(v) }
224
+ end
225
+ elsif value.respond_to? :to_hash
226
+ value.to_hash
227
+ else
228
+ value
229
+ end
230
+ end
231
+
232
+ end
233
+
234
+ end