merge_hris_client 2.0.4 → 3.2.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 (380) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +67 -10
  3. data/docs/AccountDetails.md +5 -1
  4. data/docs/AccountDetailsAndActions.md +9 -3
  5. data/docs/AccountIntegration.md +10 -2
  6. data/docs/AdvancedMetadata.md +28 -0
  7. data/docs/AsyncPassthroughApi.md +155 -0
  8. data/docs/AsyncPassthroughReciept.md +18 -0
  9. data/docs/AuditLogEvent.md +32 -0
  10. data/docs/AuditTrailApi.md +91 -0
  11. data/docs/BankInfo.md +11 -5
  12. data/docs/BankInfoApi.md +17 -13
  13. data/docs/Benefit.md +17 -5
  14. data/docs/BenefitPlanTypeEnum.md +15 -0
  15. data/docs/BenefitsApi.md +6 -6
  16. data/docs/CommonModelScopeAPI.md +18 -0
  17. data/docs/CommonModelScopeData.md +20 -0
  18. data/docs/CommonModelScopes.md +20 -0
  19. data/docs/CommonModelScopesApi.md +157 -0
  20. data/docs/CommonModelScopesBodyRequest.md +22 -0
  21. data/docs/CommonModelScopesDisabledModels.md +26 -0
  22. data/docs/CommonModelScopesDisabledModelsEnabledActionsEnum.md +15 -0
  23. data/docs/CommonModelScopesPostInnerDeserializerRequest.md +22 -0
  24. data/docs/CommonModelScopesUpdateSerializer.md +18 -0
  25. data/docs/CompaniesApi.md +4 -4
  26. data/docs/Company.md +9 -3
  27. data/docs/ConditionSchema.md +30 -0
  28. data/docs/ConditionTypeEnum.md +15 -0
  29. data/docs/CreateFieldMappingRequest.md +28 -0
  30. data/docs/DataPassthroughRequest.md +5 -5
  31. data/docs/DebugModelLogSummary.md +1 -1
  32. data/docs/Deduction.md +13 -5
  33. data/docs/DeleteAccountApi.md +9 -9
  34. data/docs/Dependent.md +52 -0
  35. data/docs/DependentsApi.md +181 -0
  36. data/docs/Earning.md +13 -5
  37. data/docs/Employee.md +27 -15
  38. data/docs/EmployeePayrollRun.md +13 -7
  39. data/docs/EmployeePayrollRunsApi.md +4 -4
  40. data/docs/EmployeeRequest.md +20 -16
  41. data/docs/EmployeesApi.md +37 -18
  42. data/docs/EmployerBenefit.md +38 -0
  43. data/docs/EmployerBenefitsApi.md +177 -0
  44. data/docs/Employment.md +16 -10
  45. data/docs/EmploymentsApi.md +15 -11
  46. data/docs/EnabledActionsEnum.md +15 -0
  47. data/docs/EndUserDetailsRequest.md +22 -12
  48. data/docs/EventTypeEnum.md +15 -0
  49. data/docs/ExternalTargetFieldAPI.md +22 -0
  50. data/docs/ExternalTargetFieldAPIResponse.md +48 -0
  51. data/docs/FieldMappingApi.md +455 -0
  52. data/docs/FieldMappingApiInstance.md +24 -0
  53. data/docs/FieldMappingApiInstanceRemoteField.md +22 -0
  54. data/docs/FieldMappingApiInstanceRemoteFieldRemoteEndpointInfo.md +22 -0
  55. data/docs/FieldMappingApiInstanceResponse.md +48 -0
  56. data/docs/FieldMappingApiInstanceTargetField.md +22 -0
  57. data/docs/FieldMappingInstanceResponse.md +24 -0
  58. data/docs/FieldPermissionDeserializer.md +20 -0
  59. data/docs/FieldPermissionDeserializerRequest.md +20 -0
  60. data/docs/ForceResyncApi.md +1 -1
  61. data/docs/GenerateRemoteKeyRequest.md +1 -1
  62. data/docs/Group.md +12 -4
  63. data/docs/GroupsApi.md +19 -9
  64. data/docs/IndividualCommonModelScopeDeserializer.md +22 -0
  65. data/docs/IndividualCommonModelScopeDeserializerRequest.md +22 -0
  66. data/docs/Issue.md +10 -8
  67. data/docs/IssuesApi.md +11 -9
  68. data/docs/LinkToken.md +4 -2
  69. data/docs/LinkTokenApi.md +1 -1
  70. data/docs/LinkedAccountCommonModelScopeDeserializerRequest.md +18 -0
  71. data/docs/LinkedAccountCondition.md +28 -0
  72. data/docs/LinkedAccountConditionRequest.md +22 -0
  73. data/docs/LinkedAccountSelectiveSyncConfiguration.md +18 -0
  74. data/docs/LinkedAccountSelectiveSyncConfigurationListRequest.md +18 -0
  75. data/docs/LinkedAccountSelectiveSyncConfigurationRequest.md +18 -0
  76. data/docs/LinkedAccountsApi.md +4 -2
  77. data/docs/Location.md +12 -6
  78. data/docs/LocationsApi.md +15 -9
  79. data/docs/MetaResponse.md +3 -1
  80. data/docs/ModelPermissionDeserializer.md +18 -0
  81. data/docs/ModelPermissionDeserializerRequest.md +18 -0
  82. data/docs/MultipartFormFieldRequest.md +1 -1
  83. data/docs/OperatorSchema.md +20 -0
  84. data/docs/PaginatedAuditLogEventList.md +22 -0
  85. data/docs/PaginatedConditionSchemaList.md +22 -0
  86. data/docs/PaginatedDependentList.md +22 -0
  87. data/docs/PaginatedEmployerBenefitList.md +22 -0
  88. data/docs/PaginatedTimesheetEntryList.md +22 -0
  89. data/docs/PatchedEditFieldMappingRequest.md +22 -0
  90. data/docs/PayGroup.md +9 -3
  91. data/docs/PayGroupsApi.md +4 -4
  92. data/docs/PayrollRun.md +11 -5
  93. data/docs/PayrollRunsApi.md +14 -10
  94. data/docs/RelationshipEnum.md +15 -0
  95. data/docs/RemoteData.md +1 -1
  96. data/docs/RemoteEndpointInfo.md +22 -0
  97. data/docs/RemoteFieldAPI.md +28 -0
  98. data/docs/RemoteFieldAPIResponse.md +48 -0
  99. data/docs/RemoteKeyForRegenerationRequest.md +1 -1
  100. data/docs/RemoteResponse.md +3 -1
  101. data/docs/ResponseTypeEnum.md +15 -0
  102. data/docs/RoleEnum.md +15 -0
  103. data/docs/ScopesApi.md +222 -0
  104. data/docs/SelectiveSyncApi.md +233 -0
  105. data/docs/SelectiveSyncConfigurationsUsageEnum.md +15 -0
  106. data/docs/SyncStatus.md +7 -5
  107. data/docs/SyncStatusApi.md +1 -1
  108. data/docs/Tax.md +12 -4
  109. data/docs/Team.md +10 -4
  110. data/docs/TeamsApi.md +4 -4
  111. data/docs/TimeOff.md +15 -9
  112. data/docs/TimeOffApi.md +24 -12
  113. data/docs/TimeOffBalance.md +12 -6
  114. data/docs/TimeOffBalancesApi.md +15 -11
  115. data/docs/TimeOffRequest.md +11 -9
  116. data/docs/TimesheetEntriesApi.md +341 -0
  117. data/docs/TimesheetEntry.md +38 -0
  118. data/docs/TimesheetEntryEndpointRequest.md +18 -0
  119. data/docs/TimesheetEntryRequest.md +28 -0
  120. data/docs/TimesheetEntryResponse.md +24 -0
  121. data/lib/merge_hris_client/api/async_passthrough_api.rb +160 -0
  122. data/lib/merge_hris_client/api/audit_trail_api.rb +95 -0
  123. data/lib/merge_hris_client/api/bank_info_api.rb +26 -12
  124. data/lib/merge_hris_client/api/benefits_api.rb +6 -6
  125. data/lib/merge_hris_client/api/common_model_scopes_api.rb +146 -0
  126. data/lib/merge_hris_client/api/companies_api.rb +4 -4
  127. data/lib/merge_hris_client/api/delete_account_api.rb +7 -7
  128. data/lib/merge_hris_client/api/dependents_api.rb +188 -0
  129. data/lib/merge_hris_client/api/employee_payroll_runs_api.rb +4 -4
  130. data/lib/merge_hris_client/api/employees_api.rb +53 -17
  131. data/lib/merge_hris_client/api/employer_benefits_api.rb +182 -0
  132. data/lib/merge_hris_client/api/employments_api.rb +24 -10
  133. data/lib/merge_hris_client/api/field_mapping_api.rb +424 -0
  134. data/lib/merge_hris_client/api/force_resync_api.rb +2 -2
  135. data/lib/merge_hris_client/api/groups_api.rb +31 -8
  136. data/lib/merge_hris_client/api/issues_api.rb +13 -10
  137. data/lib/merge_hris_client/api/linked_accounts_api.rb +6 -3
  138. data/lib/merge_hris_client/api/locations_api.rb +29 -8
  139. data/lib/merge_hris_client/api/pay_groups_api.rb +4 -4
  140. data/lib/merge_hris_client/api/payroll_runs_api.rb +24 -10
  141. data/lib/merge_hris_client/api/scopes_api.rb +209 -0
  142. data/lib/merge_hris_client/api/selective_sync_api.rb +225 -0
  143. data/lib/merge_hris_client/api/sync_status_api.rb +2 -2
  144. data/lib/merge_hris_client/api/teams_api.rb +4 -4
  145. data/lib/merge_hris_client/api/time_off_api.rb +38 -12
  146. data/lib/merge_hris_client/api/time_off_balances_api.rb +24 -10
  147. data/lib/merge_hris_client/api/timesheet_entries_api.rb +342 -0
  148. data/lib/merge_hris_client/configuration.rb +4 -0
  149. data/lib/merge_hris_client/models/account_details.rb +24 -4
  150. data/lib/merge_hris_client/models/account_details_and_actions.rb +39 -4
  151. data/lib/merge_hris_client/models/account_details_and_actions_status_enum.rb +17 -7
  152. data/lib/merge_hris_client/models/account_integration.rb +52 -8
  153. data/lib/merge_hris_client/models/account_type_enum.rb +17 -7
  154. data/lib/merge_hris_client/models/advanced_metadata.rb +270 -0
  155. data/lib/merge_hris_client/models/async_passthrough_reciept.rb +223 -0
  156. data/lib/merge_hris_client/models/audit_log_event.rb +356 -0
  157. data/lib/merge_hris_client/models/bank_info.rb +48 -17
  158. data/lib/merge_hris_client/models/benefit.rb +79 -15
  159. data/lib/merge_hris_client/models/benefit_plan_type_enum.rb +48 -0
  160. data/lib/merge_hris_client/models/categories_enum.rb +19 -7
  161. data/lib/merge_hris_client/models/category_enum.rb +19 -7
  162. data/lib/merge_hris_client/models/common_model_scope_api.rb +226 -0
  163. data/lib/merge_hris_client/models/common_model_scope_data.rb +234 -0
  164. data/lib/merge_hris_client/models/common_model_scopes.rb +234 -0
  165. data/lib/merge_hris_client/models/common_model_scopes_body_request.rb +274 -0
  166. data/lib/merge_hris_client/models/common_model_scopes_disabled_models.rb +283 -0
  167. data/lib/merge_hris_client/models/common_model_scopes_disabled_models_enabled_actions_enum.rb +45 -0
  168. data/lib/merge_hris_client/models/common_model_scopes_post_inner_deserializer_request.rb +274 -0
  169. data/lib/merge_hris_client/models/common_model_scopes_update_serializer.rb +226 -0
  170. data/lib/merge_hris_client/models/company.rb +46 -16
  171. data/lib/merge_hris_client/models/condition_schema.rb +298 -0
  172. data/lib/merge_hris_client/models/condition_type_enum.rb +50 -0
  173. data/lib/merge_hris_client/models/country_enum.rb +17 -7
  174. data/lib/merge_hris_client/models/create_field_mapping_request.rb +396 -0
  175. data/lib/merge_hris_client/models/data_passthrough_request.rb +5 -1
  176. data/lib/merge_hris_client/models/deduction.rb +59 -18
  177. data/lib/merge_hris_client/models/dependent.rb +478 -0
  178. data/lib/merge_hris_client/models/earning.rb +58 -17
  179. data/lib/merge_hris_client/models/earning_type_enum.rb +17 -7
  180. data/lib/merge_hris_client/models/employee.rb +93 -24
  181. data/lib/merge_hris_client/models/employee_payroll_run.rb +50 -18
  182. data/lib/merge_hris_client/models/employee_request.rb +56 -28
  183. data/lib/merge_hris_client/models/employer_benefit.rb +371 -0
  184. data/lib/merge_hris_client/models/employment.rb +53 -21
  185. data/lib/merge_hris_client/models/employment_status_enum.rb +17 -7
  186. data/lib/merge_hris_client/models/employment_type_enum.rb +17 -7
  187. data/lib/merge_hris_client/models/enabled_actions_enum.rb +45 -0
  188. data/lib/merge_hris_client/models/encoding_enum.rb +17 -7
  189. data/lib/merge_hris_client/models/end_user_details_request.rb +102 -11
  190. data/lib/merge_hris_client/models/ethnicity_enum.rb +17 -7
  191. data/lib/merge_hris_client/models/event_type_enum.rb +81 -0
  192. data/lib/merge_hris_client/models/external_target_field_api.rb +239 -0
  193. data/lib/merge_hris_client/models/external_target_field_api_response.rb +385 -0
  194. data/lib/merge_hris_client/models/field_mapping_api_instance.rb +247 -0
  195. data/lib/merge_hris_client/models/field_mapping_api_instance_remote_field.rb +253 -0
  196. data/lib/merge_hris_client/models/field_mapping_api_instance_remote_field_remote_endpoint_info.rb +241 -0
  197. data/lib/merge_hris_client/models/field_mapping_api_instance_response.rb +385 -0
  198. data/lib/merge_hris_client/models/field_mapping_api_instance_target_field.rb +251 -0
  199. data/lib/merge_hris_client/models/field_mapping_instance_response.rb +266 -0
  200. data/lib/merge_hris_client/models/field_permission_deserializer.rb +231 -0
  201. data/lib/merge_hris_client/models/field_permission_deserializer_request.rb +231 -0
  202. data/lib/merge_hris_client/models/flsa_status_enum.rb +17 -7
  203. data/lib/merge_hris_client/models/gender_enum.rb +17 -7
  204. data/lib/merge_hris_client/models/generate_remote_key_request.rb +1 -0
  205. data/lib/merge_hris_client/models/group.rb +58 -17
  206. data/lib/merge_hris_client/models/group_type_enum.rb +18 -7
  207. data/lib/merge_hris_client/models/individual_common_model_scope_deserializer.rb +243 -0
  208. data/lib/merge_hris_client/models/individual_common_model_scope_deserializer_request.rb +262 -0
  209. data/lib/merge_hris_client/models/issue.rb +17 -5
  210. data/lib/merge_hris_client/models/issue_status_enum.rb +17 -7
  211. data/lib/merge_hris_client/models/link_token.rb +13 -9
  212. data/lib/merge_hris_client/models/linked_account_common_model_scope_deserializer_request.rb +226 -0
  213. data/lib/merge_hris_client/models/linked_account_condition.rb +282 -0
  214. data/lib/merge_hris_client/models/linked_account_condition_request.rb +269 -0
  215. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration.rb +221 -0
  216. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration_list_request.rb +226 -0
  217. data/lib/merge_hris_client/models/linked_account_selective_sync_configuration_request.rb +226 -0
  218. data/lib/merge_hris_client/models/location.rb +48 -18
  219. data/lib/merge_hris_client/models/location_type_enum.rb +17 -7
  220. data/lib/merge_hris_client/models/marital_status_enum.rb +17 -7
  221. data/lib/merge_hris_client/models/meta_response.rb +13 -2
  222. data/lib/merge_hris_client/models/method_enum.rb +17 -7
  223. data/lib/merge_hris_client/models/model_permission_deserializer.rb +218 -0
  224. data/lib/merge_hris_client/models/model_permission_deserializer_request.rb +218 -0
  225. data/lib/merge_hris_client/models/multipart_form_field_request.rb +1 -1
  226. data/lib/merge_hris_client/models/operator_schema.rb +229 -0
  227. data/lib/merge_hris_client/models/paginated_audit_log_event_list.rb +240 -0
  228. data/lib/merge_hris_client/models/paginated_condition_schema_list.rb +240 -0
  229. data/lib/merge_hris_client/models/paginated_dependent_list.rb +240 -0
  230. data/lib/merge_hris_client/models/paginated_employer_benefit_list.rb +240 -0
  231. data/lib/merge_hris_client/models/paginated_timesheet_entry_list.rb +240 -0
  232. data/lib/merge_hris_client/models/patched_edit_field_mapping_request.rb +271 -0
  233. data/lib/merge_hris_client/models/pay_currency_enum.rb +17 -7
  234. data/lib/merge_hris_client/models/pay_frequency_enum.rb +18 -7
  235. data/lib/merge_hris_client/models/pay_group.rb +46 -16
  236. data/lib/merge_hris_client/models/pay_period_enum.rb +18 -7
  237. data/lib/merge_hris_client/models/payroll_run.rb +48 -18
  238. data/lib/merge_hris_client/models/policy_type_enum.rb +17 -7
  239. data/lib/merge_hris_client/models/reason_enum.rb +17 -7
  240. data/lib/merge_hris_client/models/relationship_enum.rb +46 -0
  241. data/lib/merge_hris_client/models/remote_data.rb +3 -4
  242. data/lib/merge_hris_client/models/remote_endpoint_info.rb +253 -0
  243. data/lib/merge_hris_client/models/remote_field_api.rb +285 -0
  244. data/lib/merge_hris_client/models/remote_field_api_response.rb +385 -0
  245. data/lib/merge_hris_client/models/remote_key_for_regeneration_request.rb +1 -0
  246. data/lib/merge_hris_client/models/remote_response.rb +14 -11
  247. data/lib/merge_hris_client/models/request_format_enum.rb +17 -7
  248. data/lib/merge_hris_client/models/request_type_enum.rb +17 -7
  249. data/lib/merge_hris_client/models/response_type_enum.rb +45 -0
  250. data/lib/merge_hris_client/models/role_enum.rb +49 -0
  251. data/lib/merge_hris_client/models/run_state_enum.rb +17 -7
  252. data/lib/merge_hris_client/models/run_type_enum.rb +17 -7
  253. data/lib/merge_hris_client/models/selective_sync_configurations_usage_enum.rb +45 -0
  254. data/lib/merge_hris_client/models/sync_status.rb +13 -14
  255. data/lib/merge_hris_client/models/sync_status_status_enum.rb +19 -7
  256. data/lib/merge_hris_client/models/tax.rb +57 -16
  257. data/lib/merge_hris_client/models/team.rb +47 -16
  258. data/lib/merge_hris_client/models/time_off.rb +51 -19
  259. data/lib/merge_hris_client/models/time_off_balance.rb +49 -18
  260. data/lib/merge_hris_client/models/time_off_request.rb +36 -21
  261. data/lib/merge_hris_client/models/time_off_status_enum.rb +17 -7
  262. data/lib/merge_hris_client/models/timesheet_entry.rb +326 -0
  263. data/lib/merge_hris_client/models/timesheet_entry_endpoint_request.rb +223 -0
  264. data/lib/merge_hris_client/models/timesheet_entry_request.rb +278 -0
  265. data/lib/merge_hris_client/models/timesheet_entry_response.rb +266 -0
  266. data/lib/merge_hris_client/models/units_enum.rb +17 -7
  267. data/lib/merge_hris_client/version.rb +1 -1
  268. data/lib/merge_hris_client.rb +49 -4
  269. data/spec/api/async_passthrough_api_spec.rb +59 -0
  270. data/spec/api/audit_trail_api_spec.rb +51 -0
  271. data/spec/api/bank_info_api_spec.rb +8 -6
  272. data/spec/api/benefits_api_spec.rb +3 -3
  273. data/spec/api/common_model_scopes_api_spec.rb +58 -0
  274. data/spec/api/companies_api_spec.rb +2 -2
  275. data/spec/api/delete_account_api_spec.rb +2 -2
  276. data/spec/api/dependents_api_spec.rb +70 -0
  277. data/spec/api/employee_payroll_runs_api_spec.rb +2 -2
  278. data/spec/api/employees_api_spec.rb +16 -6
  279. data/spec/api/employer_benefits_api_spec.rb +68 -0
  280. data/spec/api/employments_api_spec.rb +7 -5
  281. data/spec/api/field_mapping_api_spec.rb +107 -0
  282. data/spec/api/force_resync_api_spec.rb +1 -1
  283. data/spec/api/groups_api_spec.rb +9 -4
  284. data/spec/api/issues_api_spec.rb +6 -5
  285. data/spec/api/linked_accounts_api_spec.rb +2 -1
  286. data/spec/api/locations_api_spec.rb +7 -4
  287. data/spec/api/pay_groups_api_spec.rb +2 -2
  288. data/spec/api/payroll_runs_api_spec.rb +7 -5
  289. data/spec/api/scopes_api_spec.rb +68 -0
  290. data/spec/api/selective_sync_api_spec.rb +72 -0
  291. data/spec/api/sync_status_api_spec.rb +1 -1
  292. data/spec/api/teams_api_spec.rb +2 -2
  293. data/spec/api/time_off_api_spec.rb +12 -6
  294. data/spec/api/time_off_balances_api_spec.rb +7 -5
  295. data/spec/api/timesheet_entries_api_spec.rb +99 -0
  296. data/spec/models/account_details_and_actions_spec.rb +18 -0
  297. data/spec/models/account_details_spec.rb +12 -0
  298. data/spec/models/account_integration_spec.rb +24 -0
  299. data/spec/models/advanced_metadata_spec.rb +64 -0
  300. data/spec/models/async_passthrough_reciept_spec.rb +34 -0
  301. data/spec/models/audit_log_event_spec.rb +76 -0
  302. data/spec/models/bank_info_spec.rb +24 -0
  303. data/spec/models/benefit_plan_type_enum_spec.rb +28 -0
  304. data/spec/models/benefit_spec.rb +42 -0
  305. data/spec/models/common_model_scope_api_spec.rb +34 -0
  306. data/spec/models/common_model_scope_data_spec.rb +40 -0
  307. data/spec/models/common_model_scopes_body_request_spec.rb +46 -0
  308. data/spec/models/common_model_scopes_disabled_models_enabled_actions_enum_spec.rb +28 -0
  309. data/spec/models/common_model_scopes_disabled_models_spec.rb +58 -0
  310. data/spec/models/common_model_scopes_post_inner_deserializer_request_spec.rb +46 -0
  311. data/spec/models/common_model_scopes_spec.rb +40 -0
  312. data/spec/models/common_model_scopes_update_serializer_spec.rb +34 -0
  313. data/spec/models/company_spec.rb +24 -0
  314. data/spec/models/condition_schema_spec.rb +70 -0
  315. data/spec/models/condition_type_enum_spec.rb +28 -0
  316. data/spec/models/create_field_mapping_request_spec.rb +64 -0
  317. data/spec/models/deduction_spec.rb +30 -0
  318. data/spec/models/dependent_spec.rb +136 -0
  319. data/spec/models/earning_spec.rb +30 -0
  320. data/spec/models/employee_payroll_run_spec.rb +24 -0
  321. data/spec/models/employee_request_spec.rb +18 -6
  322. data/spec/models/employee_spec.rb +42 -0
  323. data/spec/models/employer_benefit_spec.rb +94 -0
  324. data/spec/models/employment_spec.rb +24 -0
  325. data/spec/models/enabled_actions_enum_spec.rb +28 -0
  326. data/spec/models/end_user_details_request_spec.rb +30 -0
  327. data/spec/models/event_type_enum_spec.rb +28 -0
  328. data/spec/models/external_target_field_api_response_spec.rb +124 -0
  329. data/spec/models/external_target_field_api_spec.rb +46 -0
  330. data/spec/models/field_mapping_api_instance_remote_field_remote_endpoint_info_spec.rb +46 -0
  331. data/spec/models/field_mapping_api_instance_remote_field_spec.rb +46 -0
  332. data/spec/models/field_mapping_api_instance_response_spec.rb +124 -0
  333. data/spec/models/field_mapping_api_instance_spec.rb +52 -0
  334. data/spec/models/field_mapping_api_instance_target_field_spec.rb +46 -0
  335. data/spec/models/field_mapping_instance_response_spec.rb +52 -0
  336. data/spec/models/field_permission_deserializer_request_spec.rb +40 -0
  337. data/spec/models/field_permission_deserializer_spec.rb +40 -0
  338. data/spec/models/group_spec.rb +30 -0
  339. data/spec/models/individual_common_model_scope_deserializer_request_spec.rb +46 -0
  340. data/spec/models/individual_common_model_scope_deserializer_spec.rb +46 -0
  341. data/spec/models/issue_spec.rb +6 -0
  342. data/spec/models/link_token_spec.rb +6 -0
  343. data/spec/models/linked_account_common_model_scope_deserializer_request_spec.rb +34 -0
  344. data/spec/models/linked_account_condition_request_spec.rb +46 -0
  345. data/spec/models/linked_account_condition_spec.rb +64 -0
  346. data/spec/models/linked_account_selective_sync_configuration_list_request_spec.rb +34 -0
  347. data/spec/models/linked_account_selective_sync_configuration_request_spec.rb +34 -0
  348. data/spec/models/linked_account_selective_sync_configuration_spec.rb +34 -0
  349. data/spec/models/location_spec.rb +24 -0
  350. data/spec/models/meta_response_spec.rb +6 -0
  351. data/spec/models/model_permission_deserializer_request_spec.rb +34 -0
  352. data/spec/models/model_permission_deserializer_spec.rb +34 -0
  353. data/spec/models/operator_schema_spec.rb +40 -0
  354. data/spec/models/paginated_audit_log_event_list_spec.rb +46 -0
  355. data/spec/models/paginated_condition_schema_list_spec.rb +46 -0
  356. data/spec/models/paginated_dependent_list_spec.rb +46 -0
  357. data/spec/models/paginated_employer_benefit_list_spec.rb +46 -0
  358. data/spec/models/paginated_timesheet_entry_list_spec.rb +46 -0
  359. data/spec/models/patched_edit_field_mapping_request_spec.rb +46 -0
  360. data/spec/models/pay_group_spec.rb +24 -0
  361. data/spec/models/payroll_run_spec.rb +24 -0
  362. data/spec/models/relationship_enum_spec.rb +28 -0
  363. data/spec/models/remote_endpoint_info_spec.rb +46 -0
  364. data/spec/models/remote_field_api_response_spec.rb +124 -0
  365. data/spec/models/remote_field_api_spec.rb +64 -0
  366. data/spec/models/remote_response_spec.rb +6 -0
  367. data/spec/models/response_type_enum_spec.rb +28 -0
  368. data/spec/models/role_enum_spec.rb +28 -0
  369. data/spec/models/selective_sync_configurations_usage_enum_spec.rb +28 -0
  370. data/spec/models/sync_status_spec.rb +6 -0
  371. data/spec/models/tax_spec.rb +30 -0
  372. data/spec/models/team_spec.rb +24 -0
  373. data/spec/models/time_off_balance_spec.rb +24 -0
  374. data/spec/models/time_off_request_spec.rb +12 -6
  375. data/spec/models/time_off_spec.rb +24 -0
  376. data/spec/models/timesheet_entry_endpoint_request_spec.rb +34 -0
  377. data/spec/models/timesheet_entry_request_spec.rb +64 -0
  378. data/spec/models/timesheet_entry_response_spec.rb +52 -0
  379. data/spec/models/timesheet_entry_spec.rb +94 -0
  380. metadata +368 -104
@@ -14,40 +14,52 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module MergeHRISClient
17
- # # The TimeOffBalance Object ### Description The `TimeOffBalance` object is used to represent a Time Off Balance for an employee. ### Usage Example Fetch from the `LIST TimeOffBalances` endpoint and filter by `ID` to show all time off balances.
17
+ # # The TimeOffBalance Object ### Description The `TimeOffBalance` object is used to represent current balances for an employee's Time Off plan. ### Usage Example Fetch from the `LIST TimeOffBalances` endpoint and filter by `ID` to show all time off balances.
18
18
  class TimeOffBalance
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 datetime that this object was created by Merge.
25
+ attr_accessor :created_at
26
+
27
+ # The datetime that this object was modified by Merge.
28
+ attr_accessor :modified_at
29
+
30
+ # The employee the balance belongs to.
24
31
  attr_accessor :employee
25
32
 
26
- # The current remaining PTO balance in terms of hours. This does not represent the starting PTO balance. If the API provider only provides PTO balance in terms of days, we estimate 8 hours per day.
33
+ # The current remaining PTO balance, always measured in terms of hours.
27
34
  attr_accessor :balance
28
35
 
29
36
  # The amount of PTO used in terms of hours.
30
37
  attr_accessor :used
31
38
 
32
- # The policy type of this time off balance.
39
+ # The policy type of this time off balance. * `VACATION` - VACATION * `SICK` - SICK * `PERSONAL` - PERSONAL * `JURY_DUTY` - JURY_DUTY * `VOLUNTEER` - VOLUNTEER * `BEREAVEMENT` - BEREAVEMENT
33
40
  attr_accessor :policy_type
34
41
 
35
- attr_accessor :remote_data
36
-
37
- # Indicates whether or not this object has been deleted by third party webhooks.
42
+ # Indicates whether or not this object has been deleted in the third party platform.
38
43
  attr_accessor :remote_was_deleted
39
44
 
45
+ attr_accessor :field_mappings
46
+
47
+ attr_accessor :remote_data
48
+
40
49
  # Attribute mapping from ruby-style variable name to JSON key.
41
50
  def self.attribute_map
42
51
  {
43
52
  :'id' => :'id',
44
53
  :'remote_id' => :'remote_id',
54
+ :'created_at' => :'created_at',
55
+ :'modified_at' => :'modified_at',
45
56
  :'employee' => :'employee',
46
57
  :'balance' => :'balance',
47
58
  :'used' => :'used',
48
59
  :'policy_type' => :'policy_type',
49
- :'remote_data' => :'remote_data',
50
- :'remote_was_deleted' => :'remote_was_deleted'
60
+ :'remote_was_deleted' => :'remote_was_deleted',
61
+ :'field_mappings' => :'field_mappings',
62
+ :'remote_data' => :'remote_data'
51
63
  }
52
64
  end
53
65
 
@@ -61,12 +73,15 @@ module MergeHRISClient
61
73
  {
62
74
  :'id' => :'String',
63
75
  :'remote_id' => :'String',
76
+ :'created_at' => :'Time',
77
+ :'modified_at' => :'Time',
64
78
  :'employee' => :'String',
65
79
  :'balance' => :'Float',
66
80
  :'used' => :'Float',
67
81
  :'policy_type' => :'PolicyTypeEnum',
68
- :'remote_data' => :'Array<RemoteData>',
69
- :'remote_was_deleted' => :'Boolean'
82
+ :'remote_was_deleted' => :'Boolean',
83
+ :'field_mappings' => :'Object',
84
+ :'remote_data' => :'Array<RemoteData>'
70
85
  }
71
86
  end
72
87
 
@@ -78,7 +93,8 @@ module MergeHRISClient
78
93
  :'balance',
79
94
  :'used',
80
95
  :'policy_type',
81
- :'remote_data',
96
+ :'field_mappings',
97
+ :'remote_data'
82
98
  ])
83
99
  end
84
100
 
@@ -105,6 +121,14 @@ module MergeHRISClient
105
121
  self.remote_id = attributes[:'remote_id']
106
122
  end
107
123
 
124
+ if attributes.key?(:'created_at')
125
+ self.created_at = attributes[:'created_at']
126
+ end
127
+
128
+ if attributes.key?(:'modified_at')
129
+ self.modified_at = attributes[:'modified_at']
130
+ end
131
+
108
132
  if attributes.key?(:'employee')
109
133
  self.employee = attributes[:'employee']
110
134
  end
@@ -121,15 +145,19 @@ module MergeHRISClient
121
145
  self.policy_type = attributes[:'policy_type']
122
146
  end
123
147
 
148
+ if attributes.key?(:'remote_was_deleted')
149
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
150
+ end
151
+
152
+ if attributes.key?(:'field_mappings')
153
+ self.field_mappings = attributes[:'field_mappings']
154
+ end
155
+
124
156
  if attributes.key?(:'remote_data')
125
157
  if (value = attributes[:'remote_data']).is_a?(Array)
126
158
  self.remote_data = value
127
159
  end
128
160
  end
129
-
130
- if attributes.key?(:'remote_was_deleted')
131
- self.remote_was_deleted = attributes[:'remote_was_deleted']
132
- end
133
161
  end
134
162
 
135
163
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -152,12 +180,15 @@ module MergeHRISClient
152
180
  self.class == o.class &&
153
181
  id == o.id &&
154
182
  remote_id == o.remote_id &&
183
+ created_at == o.created_at &&
184
+ modified_at == o.modified_at &&
155
185
  employee == o.employee &&
156
186
  balance == o.balance &&
157
187
  used == o.used &&
158
188
  policy_type == o.policy_type &&
159
- remote_data == o.remote_data &&
160
- remote_was_deleted == o.remote_was_deleted
189
+ remote_was_deleted == o.remote_was_deleted &&
190
+ field_mappings == o.field_mappings &&
191
+ remote_data == o.remote_data
161
192
  end
162
193
 
163
194
  # @see the `==` method
@@ -169,7 +200,7 @@ module MergeHRISClient
169
200
  # Calculates hash code according to all attributes.
170
201
  # @return [Integer] Hash code
171
202
  def hash
172
- [id, remote_id, employee, balance, used, policy_type, remote_data, remote_was_deleted].hash
203
+ [id, remote_id, created_at, modified_at, employee, balance, used, policy_type, remote_was_deleted, field_mappings, remote_data].hash
173
204
  end
174
205
 
175
206
  # Builds the object from hash
@@ -14,28 +14,27 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module MergeHRISClient
17
- # # The TimeOff Object ### Description The `TimeOff` object is used to represent a Time Off Request filed by an employee. ### Usage Example Fetch from the `LIST TimeOffs` endpoint and filter by `ID` to show all time off requests.
17
+ # # The TimeOff Object ### Description The `TimeOff` object is used to represent all employees' Time Off entries. ### Usage Example Fetch from the `LIST TimeOffs` endpoint and filter by `ID` to show all time off requests.
18
18
  class TimeOffRequest
19
- # The third-party API ID of the matching object.
20
- attr_accessor :remote_id
21
-
19
+ # The employee requesting time off.
22
20
  attr_accessor :employee
23
21
 
22
+ # The Merge ID of the employee with the ability to approve the time off request.
24
23
  attr_accessor :approver
25
24
 
26
- # The status of this time off request.
25
+ # The status of this time off request. * `REQUESTED` - REQUESTED * `APPROVED` - APPROVED * `DECLINED` - DECLINED * `CANCELLED` - CANCELLED * `DELETED` - DELETED
27
26
  attr_accessor :status
28
27
 
29
28
  # The employee note for this time off request.
30
29
  attr_accessor :employee_note
31
30
 
32
- # The unit of time requested.
31
+ # The measurement that the third-party integration uses to count time requested. * `HOURS` - HOURS * `DAYS` - DAYS
33
32
  attr_accessor :units
34
33
 
35
- # The number of time off units requested.
34
+ # The time off quantity measured by the prescribed “units”.
36
35
  attr_accessor :amount
37
36
 
38
- # The type of time off request.
37
+ # The type of time off request. * `VACATION` - VACATION * `SICK` - SICK * `PERSONAL` - PERSONAL * `JURY_DUTY` - JURY_DUTY * `VOLUNTEER` - VOLUNTEER * `BEREAVEMENT` - BEREAVEMENT
39
38
  attr_accessor :request_type
40
39
 
41
40
  # The day and time of the start of the time requested off.
@@ -44,10 +43,13 @@ module MergeHRISClient
44
43
  # The day and time of the end of the time requested off.
45
44
  attr_accessor :end_time
46
45
 
46
+ attr_accessor :integration_params
47
+
48
+ attr_accessor :linked_account_params
49
+
47
50
  # Attribute mapping from ruby-style variable name to JSON key.
48
51
  def self.attribute_map
49
52
  {
50
- :'remote_id' => :'remote_id',
51
53
  :'employee' => :'employee',
52
54
  :'approver' => :'approver',
53
55
  :'status' => :'status',
@@ -56,7 +58,9 @@ module MergeHRISClient
56
58
  :'amount' => :'amount',
57
59
  :'request_type' => :'request_type',
58
60
  :'start_time' => :'start_time',
59
- :'end_time' => :'end_time'
61
+ :'end_time' => :'end_time',
62
+ :'integration_params' => :'integration_params',
63
+ :'linked_account_params' => :'linked_account_params'
60
64
  }
61
65
  end
62
66
 
@@ -68,7 +72,6 @@ module MergeHRISClient
68
72
  # Attribute type mapping.
69
73
  def self.openapi_types
70
74
  {
71
- :'remote_id' => :'String',
72
75
  :'employee' => :'String',
73
76
  :'approver' => :'String',
74
77
  :'status' => :'TimeOffStatusEnum',
@@ -77,14 +80,15 @@ module MergeHRISClient
77
80
  :'amount' => :'Float',
78
81
  :'request_type' => :'RequestTypeEnum',
79
82
  :'start_time' => :'Time',
80
- :'end_time' => :'Time'
83
+ :'end_time' => :'Time',
84
+ :'integration_params' => :'Hash<String, Object>',
85
+ :'linked_account_params' => :'Hash<String, Object>'
81
86
  }
82
87
  end
83
88
 
84
89
  # List of attributes with nullable: true
85
90
  def self.openapi_nullable
86
91
  Set.new([
87
- :'remote_id',
88
92
  :'employee',
89
93
  :'approver',
90
94
  :'status',
@@ -93,7 +97,9 @@ module MergeHRISClient
93
97
  :'amount',
94
98
  :'request_type',
95
99
  :'start_time',
96
- :'end_time'
100
+ :'end_time',
101
+ :'integration_params',
102
+ :'linked_account_params'
97
103
  ])
98
104
  end
99
105
 
@@ -112,10 +118,6 @@ module MergeHRISClient
112
118
  h[k.to_sym] = v
113
119
  }
114
120
 
115
- if attributes.key?(:'remote_id')
116
- self.remote_id = attributes[:'remote_id']
117
- end
118
-
119
121
  if attributes.key?(:'employee')
120
122
  self.employee = attributes[:'employee']
121
123
  end
@@ -151,6 +153,18 @@ module MergeHRISClient
151
153
  if attributes.key?(:'end_time')
152
154
  self.end_time = attributes[:'end_time']
153
155
  end
156
+
157
+ if attributes.key?(:'integration_params')
158
+ if (value = attributes[:'integration_params']).is_a?(Hash)
159
+ self.integration_params = value
160
+ end
161
+ end
162
+
163
+ if attributes.key?(:'linked_account_params')
164
+ if (value = attributes[:'linked_account_params']).is_a?(Hash)
165
+ self.linked_account_params = value
166
+ end
167
+ end
154
168
  end
155
169
 
156
170
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -171,7 +185,6 @@ module MergeHRISClient
171
185
  def ==(o)
172
186
  return true if self.equal?(o)
173
187
  self.class == o.class &&
174
- remote_id == o.remote_id &&
175
188
  employee == o.employee &&
176
189
  approver == o.approver &&
177
190
  status == o.status &&
@@ -180,7 +193,9 @@ module MergeHRISClient
180
193
  amount == o.amount &&
181
194
  request_type == o.request_type &&
182
195
  start_time == o.start_time &&
183
- end_time == o.end_time
196
+ end_time == o.end_time &&
197
+ integration_params == o.integration_params &&
198
+ linked_account_params == o.linked_account_params
184
199
  end
185
200
 
186
201
  # @see the `==` method
@@ -192,7 +207,7 @@ module MergeHRISClient
192
207
  # Calculates hash code according to all attributes.
193
208
  # @return [Integer] Hash code
194
209
  def hash
195
- [remote_id, employee, approver, status, employee_note, units, amount, request_type, start_time, end_time].hash
210
+ [employee, approver, status, employee_note, units, amount, request_type, start_time, end_time, integration_params, linked_account_params].hash
196
211
  end
197
212
 
198
213
  # Builds the object from hash
@@ -21,18 +21,28 @@ module MergeHRISClient
21
21
  CANCELLED = "CANCELLED".freeze
22
22
  DELETED = "DELETED".freeze
23
23
 
24
- # Builds the enum from string
25
- # @param [String] The enum value in the form of the string
26
- # @return [String] The enum value
27
- def self.build_from_hash(value)
28
- new.build_from_hash(value)
29
- end
24
+ MERGE_NONSTANDARD_VALUE = "MERGE_NONSTANDARD_VALUE".freeze
25
+
26
+ attr_accessor :value
27
+ attr_accessor :raw_value
30
28
 
31
29
  # Builds the enum from string
32
30
  # @param [String] The enum value in the form of the string
33
31
  # @return [String] The enum value
34
32
  def build_from_hash(value)
35
- value
33
+ @raw_value = value
34
+ if ["REQUESTED", "APPROVED", "DECLINED", "CANCELLED", "DELETED", ].include? value
35
+ @value = value
36
+ else
37
+ @value = MERGE_NONSTANDARD_VALUE
38
+ end
39
+
40
+ self
41
+ end
42
+
43
+ def self.build_from_hash(value)
44
+ TimeOffStatusEnum.new.build_from_hash(value)
36
45
  end
37
46
  end
47
+
38
48
  end
@@ -0,0 +1,326 @@
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
+ # # The Timesheet Entry Object ### Description The `Timesheet Entry` object is used to track coverage for hours worked by an 'Employee'. ### Usage Example GET and POST Timesheet Entries
18
+ class TimesheetEntry
19
+ attr_accessor :id
20
+
21
+ # The third-party API ID of the matching object.
22
+ attr_accessor :remote_id
23
+
24
+ # The datetime that this object was created by Merge.
25
+ attr_accessor :created_at
26
+
27
+ # The datetime that this object was modified by Merge.
28
+ attr_accessor :modified_at
29
+
30
+ # The employee the timesheet entry is for.
31
+ attr_accessor :employee
32
+
33
+ # The number of hours logged by the employee.
34
+ attr_accessor :hours_worked
35
+
36
+ # The time at which the employee started work.
37
+ attr_accessor :start_time
38
+
39
+ # The time at which the employee ended work.
40
+ attr_accessor :end_time
41
+
42
+ # Indicates whether or not this object has been deleted in the third party platform.
43
+ attr_accessor :remote_was_deleted
44
+
45
+ attr_accessor :field_mappings
46
+
47
+ attr_accessor :remote_data
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'id' => :'id',
53
+ :'remote_id' => :'remote_id',
54
+ :'created_at' => :'created_at',
55
+ :'modified_at' => :'modified_at',
56
+ :'employee' => :'employee',
57
+ :'hours_worked' => :'hours_worked',
58
+ :'start_time' => :'start_time',
59
+ :'end_time' => :'end_time',
60
+ :'remote_was_deleted' => :'remote_was_deleted',
61
+ :'field_mappings' => :'field_mappings',
62
+ :'remote_data' => :'remote_data'
63
+ }
64
+ end
65
+
66
+ # Returns all the JSON keys this model knows about
67
+ def self.acceptable_attributes
68
+ attribute_map.values
69
+ end
70
+
71
+ # Attribute type mapping.
72
+ def self.openapi_types
73
+ {
74
+ :'id' => :'String',
75
+ :'remote_id' => :'String',
76
+ :'created_at' => :'Time',
77
+ :'modified_at' => :'Time',
78
+ :'employee' => :'String',
79
+ :'hours_worked' => :'Float',
80
+ :'start_time' => :'Time',
81
+ :'end_time' => :'Time',
82
+ :'remote_was_deleted' => :'Boolean',
83
+ :'field_mappings' => :'Object',
84
+ :'remote_data' => :'Array<Hash<String, Object>>'
85
+ }
86
+ end
87
+
88
+ # List of attributes with nullable: true
89
+ def self.openapi_nullable
90
+ Set.new([
91
+ :'remote_id',
92
+ :'employee',
93
+ :'hours_worked',
94
+ :'start_time',
95
+ :'end_time',
96
+ :'field_mappings',
97
+ :'remote_data'
98
+ ])
99
+ end
100
+
101
+ # Initializes the object
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ def initialize(attributes = {})
104
+ if (!attributes.is_a?(Hash))
105
+ fail ArgumentError, "The input argument (attributes) must be a hash in `MergeHRISClient::TimesheetEntry` initialize method"
106
+ end
107
+
108
+ # check to see if the attribute exists and convert string to symbol for hash key
109
+ attributes = attributes.each_with_object({}) { |(k, v), h|
110
+ if (!self.class.attribute_map.key?(k.to_sym))
111
+ fail ArgumentError, "`#{k}` is not a valid attribute in `MergeHRISClient::TimesheetEntry`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
112
+ end
113
+ h[k.to_sym] = v
114
+ }
115
+
116
+ if attributes.key?(:'id')
117
+ self.id = attributes[:'id']
118
+ end
119
+
120
+ if attributes.key?(:'remote_id')
121
+ self.remote_id = attributes[:'remote_id']
122
+ end
123
+
124
+ if attributes.key?(:'created_at')
125
+ self.created_at = attributes[:'created_at']
126
+ end
127
+
128
+ if attributes.key?(:'modified_at')
129
+ self.modified_at = attributes[:'modified_at']
130
+ end
131
+
132
+ if attributes.key?(:'employee')
133
+ self.employee = attributes[:'employee']
134
+ end
135
+
136
+ if attributes.key?(:'hours_worked')
137
+ self.hours_worked = attributes[:'hours_worked']
138
+ end
139
+
140
+ if attributes.key?(:'start_time')
141
+ self.start_time = attributes[:'start_time']
142
+ end
143
+
144
+ if attributes.key?(:'end_time')
145
+ self.end_time = attributes[:'end_time']
146
+ end
147
+
148
+ if attributes.key?(:'remote_was_deleted')
149
+ self.remote_was_deleted = attributes[:'remote_was_deleted']
150
+ end
151
+
152
+ if attributes.key?(:'field_mappings')
153
+ self.field_mappings = attributes[:'field_mappings']
154
+ end
155
+
156
+ if attributes.key?(:'remote_data')
157
+ if (value = attributes[:'remote_data']).is_a?(Array)
158
+ self.remote_data = value
159
+ end
160
+ end
161
+ end
162
+
163
+ # Show invalid properties with the reasons. Usually used together with valid?
164
+ # @return Array for valid properties with the reasons
165
+ def list_invalid_properties
166
+ invalid_properties = Array.new
167
+ invalid_properties
168
+ end
169
+
170
+ # Check to see if the all the properties in the model are valid
171
+ # @return true if the model is valid
172
+ def valid?
173
+ true
174
+ end
175
+
176
+ # Checks equality by comparing each attribute.
177
+ # @param [Object] Object to be compared
178
+ def ==(o)
179
+ return true if self.equal?(o)
180
+ self.class == o.class &&
181
+ id == o.id &&
182
+ remote_id == o.remote_id &&
183
+ created_at == o.created_at &&
184
+ modified_at == o.modified_at &&
185
+ employee == o.employee &&
186
+ hours_worked == o.hours_worked &&
187
+ start_time == o.start_time &&
188
+ end_time == o.end_time &&
189
+ remote_was_deleted == o.remote_was_deleted &&
190
+ field_mappings == o.field_mappings &&
191
+ remote_data == o.remote_data
192
+ end
193
+
194
+ # @see the `==` method
195
+ # @param [Object] Object to be compared
196
+ def eql?(o)
197
+ self == o
198
+ end
199
+
200
+ # Calculates hash code according to all attributes.
201
+ # @return [Integer] Hash code
202
+ def hash
203
+ [id, remote_id, created_at, modified_at, employee, hours_worked, start_time, end_time, remote_was_deleted, field_mappings, remote_data].hash
204
+ end
205
+
206
+ # Builds the object from hash
207
+ # @param [Hash] attributes Model attributes in the form of hash
208
+ # @return [Object] Returns the model itself
209
+ def self.build_from_hash(attributes)
210
+ new.build_from_hash(attributes)
211
+ end
212
+
213
+ # Builds the object from hash
214
+ # @param [Hash] attributes Model attributes in the form of hash
215
+ # @return [Object] Returns the model itself
216
+ def build_from_hash(attributes)
217
+ return nil unless attributes.is_a?(Hash)
218
+ self.class.openapi_types.each_pair do |key, type|
219
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
220
+ self.send("#{key}=", nil)
221
+ elsif type =~ /\AArray<(.*)>/i
222
+ # check to ensure the input is an array given that the attribute
223
+ # is documented as an array but the input is not
224
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
225
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
226
+ end
227
+ elsif !attributes[self.class.attribute_map[key]].nil?
228
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
229
+ end
230
+ end
231
+
232
+ self
233
+ end
234
+
235
+ # Deserializes the data based on type
236
+ # @param string type Data type
237
+ # @param string value Value to be deserialized
238
+ # @return [Object] Deserialized data
239
+ def _deserialize(type, value)
240
+ case type.to_sym
241
+ when :Time
242
+ Time.parse(value)
243
+ when :Date
244
+ Date.parse(value)
245
+ when :String
246
+ value
247
+ when :Integer
248
+ value.to_i
249
+ when :Float
250
+ value.to_f
251
+ when :Boolean
252
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
253
+ true
254
+ else
255
+ false
256
+ end
257
+ when :Object
258
+ # generic object (usually a Hash), return directly
259
+ value
260
+ when /\AArray<(?<inner_type>.+)>\z/
261
+ inner_type = Regexp.last_match[:inner_type]
262
+ value.map { |v| _deserialize(inner_type, v) }
263
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
264
+ k_type = Regexp.last_match[:k_type]
265
+ v_type = Regexp.last_match[:v_type]
266
+ {}.tap do |hash|
267
+ value.each do |k, v|
268
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
269
+ end
270
+ end
271
+ else # model
272
+ # models (e.g. Pet) or oneOf
273
+ klass = MergeHRISClient.const_get(type)
274
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
275
+ end
276
+ end
277
+
278
+ # Returns the string representation of the object
279
+ # @return [String] String presentation of the object
280
+ def to_s
281
+ to_hash.to_s
282
+ end
283
+
284
+ # to_body is an alias to to_hash (backward compatibility)
285
+ # @return [Hash] Returns the object in the form of hash
286
+ def to_body
287
+ to_hash
288
+ end
289
+
290
+ # Returns the object in the form of hash
291
+ # @return [Hash] Returns the object in the form of hash
292
+ def to_hash
293
+ hash = {}
294
+ self.class.attribute_map.each_pair do |attr, param|
295
+ value = self.send(attr)
296
+ if value.nil?
297
+ is_nullable = self.class.openapi_nullable.include?(attr)
298
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
299
+ end
300
+
301
+ hash[param] = _to_hash(value)
302
+ end
303
+ hash
304
+ end
305
+
306
+ # Outputs non-array value in the form of hash
307
+ # For object, use to_hash. Otherwise, just return the value
308
+ # @param [Object] value Any valid value
309
+ # @return [Hash] Returns the value in the form of hash
310
+ def _to_hash(value)
311
+ if value.is_a?(Array)
312
+ value.compact.map { |v| _to_hash(v) }
313
+ elsif value.is_a?(Hash)
314
+ {}.tap do |hash|
315
+ value.each { |k, v| hash[k] = _to_hash(v) }
316
+ end
317
+ elsif value.respond_to? :to_hash
318
+ value.to_hash
319
+ else
320
+ value
321
+ end
322
+ end
323
+
324
+ end
325
+
326
+ end