merge_hris_client 1.0.1

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 (232) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +179 -0
  4. data/Rakefile +10 -0
  5. data/config.json +1 -0
  6. data/docs/AccountIntegration.md +28 -0
  7. data/docs/AccountToken.md +18 -0
  8. data/docs/AccountTokenApi.md +79 -0
  9. data/docs/AvailableActions.md +22 -0
  10. data/docs/AvailableActionsApi.md +79 -0
  11. data/docs/Benefit.md +32 -0
  12. data/docs/BenefitPlanTypeEnum.md +15 -0
  13. data/docs/BenefitsApi.md +181 -0
  14. data/docs/CompaniesApi.md +175 -0
  15. data/docs/Company.md +28 -0
  16. data/docs/CountryEnum.md +15 -0
  17. data/docs/DataPassthrough.md +24 -0
  18. data/docs/DataPassthroughRequest.md +26 -0
  19. data/docs/Deduction.md +28 -0
  20. data/docs/Earning.md +26 -0
  21. data/docs/Employee.md +66 -0
  22. data/docs/EmployeePayrollRun.md +42 -0
  23. data/docs/EmployeePayrollRunsApi.md +183 -0
  24. data/docs/EmployeesApi.md +187 -0
  25. data/docs/Employment.md +38 -0
  26. data/docs/EmploymentStatusEnum.md +15 -0
  27. data/docs/EmploymentTypeEnum.md +15 -0
  28. data/docs/EmploymentsApi.md +177 -0
  29. data/docs/EndUserDetails.md +24 -0
  30. data/docs/EndUserDetailsRequest.md +26 -0
  31. data/docs/EthnicityEnum.md +15 -0
  32. data/docs/FlsaStatusEnum.md +15 -0
  33. data/docs/GenderEnum.md +15 -0
  34. data/docs/GenerateKeyApi.md +79 -0
  35. data/docs/GenerateRemoteKeyRequest.md +18 -0
  36. data/docs/LinkToken.md +20 -0
  37. data/docs/LinkTokenApi.md +79 -0
  38. data/docs/Location.md +36 -0
  39. data/docs/LocationsApi.md +175 -0
  40. data/docs/MaritalStatusEnum.md +15 -0
  41. data/docs/MethodEnum.md +15 -0
  42. data/docs/ModelOperation.md +22 -0
  43. data/docs/NullEnum.md +15 -0
  44. data/docs/PaginatedBenefitList.md +22 -0
  45. data/docs/PaginatedCompanyList.md +22 -0
  46. data/docs/PaginatedEmployeeList.md +22 -0
  47. data/docs/PaginatedEmployeePayrollRunList.md +22 -0
  48. data/docs/PaginatedEmploymentList.md +22 -0
  49. data/docs/PaginatedLocationList.md +22 -0
  50. data/docs/PaginatedPayrollRunList.md +22 -0
  51. data/docs/PaginatedTeamList.md +22 -0
  52. data/docs/PaginatedTimeOffList.md +22 -0
  53. data/docs/PassthroughApi.md +81 -0
  54. data/docs/PayCurrencyEnum.md +15 -0
  55. data/docs/PayFrequencyEnum.md +15 -0
  56. data/docs/PayPeriodEnum.md +15 -0
  57. data/docs/PayrollRun.md +32 -0
  58. data/docs/PayrollRunsApi.md +175 -0
  59. data/docs/RegenerateKeyApi.md +79 -0
  60. data/docs/RemoteData.md +20 -0
  61. data/docs/RemoteKey.md +20 -0
  62. data/docs/RemoteKeyForRegeneration.md +18 -0
  63. data/docs/RemoteKeyForRegenerationRequest.md +18 -0
  64. data/docs/RemoteResponse.md +26 -0
  65. data/docs/RequestTypeEnum.md +15 -0
  66. data/docs/RunStateEnum.md +15 -0
  67. data/docs/RunTypeEnum.md +15 -0
  68. data/docs/StateEnum.md +15 -0
  69. data/docs/SyncStatus.md +28 -0
  70. data/docs/SyncStatusApi.md +79 -0
  71. data/docs/Tax.md +28 -0
  72. data/docs/Team.md +24 -0
  73. data/docs/TeamsApi.md +175 -0
  74. data/docs/TimeOff.md +36 -0
  75. data/docs/TimeOffApi.md +183 -0
  76. data/docs/TimeOffStatusEnum.md +15 -0
  77. data/docs/TypeEnum.md +15 -0
  78. data/docs/UnitsEnum.md +15 -0
  79. data/git_push.sh +58 -0
  80. data/lib/merge_hris_client.rb +110 -0
  81. data/lib/merge_hris_client/api/account_token_api.rb +83 -0
  82. data/lib/merge_hris_client/api/available_actions_api.rb +84 -0
  83. data/lib/merge_hris_client/api/benefits_api.rb +196 -0
  84. data/lib/merge_hris_client/api/companies_api.rb +179 -0
  85. data/lib/merge_hris_client/api/employee_payroll_runs_api.rb +199 -0
  86. data/lib/merge_hris_client/api/employees_api.rb +205 -0
  87. data/lib/merge_hris_client/api/employments_api.rb +182 -0
  88. data/lib/merge_hris_client/api/generate_key_api.rb +85 -0
  89. data/lib/merge_hris_client/api/link_token_api.rb +85 -0
  90. data/lib/merge_hris_client/api/locations_api.rb +179 -0
  91. data/lib/merge_hris_client/api/passthrough_api.rb +92 -0
  92. data/lib/merge_hris_client/api/payroll_runs_api.rb +179 -0
  93. data/lib/merge_hris_client/api/regenerate_key_api.rb +85 -0
  94. data/lib/merge_hris_client/api/sync_status_api.rb +84 -0
  95. data/lib/merge_hris_client/api/teams_api.rb +179 -0
  96. data/lib/merge_hris_client/api/time_off_api.rb +199 -0
  97. data/lib/merge_hris_client/api_client.rb +390 -0
  98. data/lib/merge_hris_client/api_error.rb +57 -0
  99. data/lib/merge_hris_client/configuration.rb +279 -0
  100. data/lib/merge_hris_client/models/account_integration.rb +325 -0
  101. data/lib/merge_hris_client/models/account_token.rb +223 -0
  102. data/lib/merge_hris_client/models/available_actions.rb +249 -0
  103. data/lib/merge_hris_client/models/benefit.rb +297 -0
  104. data/lib/merge_hris_client/models/benefit_plan_type_enum.rb +56 -0
  105. data/lib/merge_hris_client/models/company.rb +277 -0
  106. data/lib/merge_hris_client/models/country_enum.rb +282 -0
  107. data/lib/merge_hris_client/models/data_passthrough.rb +262 -0
  108. data/lib/merge_hris_client/models/data_passthrough_request.rb +271 -0
  109. data/lib/merge_hris_client/models/deduction.rb +275 -0
  110. data/lib/merge_hris_client/models/earning.rb +264 -0
  111. data/lib/merge_hris_client/models/employee.rb +544 -0
  112. data/lib/merge_hris_client/models/employee_payroll_run.rb +352 -0
  113. data/lib/merge_hris_client/models/employment.rb +330 -0
  114. data/lib/merge_hris_client/models/employment_status_enum.rb +37 -0
  115. data/lib/merge_hris_client/models/employment_type_enum.rb +39 -0
  116. data/lib/merge_hris_client/models/end_user_details.rb +289 -0
  117. data/lib/merge_hris_client/models/end_user_details_request.rb +298 -0
  118. data/lib/merge_hris_client/models/ethnicity_enum.rb +42 -0
  119. data/lib/merge_hris_client/models/flsa_status_enum.rb +38 -0
  120. data/lib/merge_hris_client/models/gender_enum.rb +39 -0
  121. data/lib/merge_hris_client/models/generate_remote_key_request.rb +224 -0
  122. data/lib/merge_hris_client/models/link_token.rb +237 -0
  123. data/lib/merge_hris_client/models/location.rb +319 -0
  124. data/lib/merge_hris_client/models/marital_status_enum.rb +39 -0
  125. data/lib/merge_hris_client/models/method_enum.rb +41 -0
  126. data/lib/merge_hris_client/models/model_operation.rb +256 -0
  127. data/lib/merge_hris_client/models/paginated_benefit_list.rb +240 -0
  128. data/lib/merge_hris_client/models/paginated_company_list.rb +240 -0
  129. data/lib/merge_hris_client/models/paginated_employee_list.rb +240 -0
  130. data/lib/merge_hris_client/models/paginated_employee_payroll_run_list.rb +240 -0
  131. data/lib/merge_hris_client/models/paginated_employment_list.rb +240 -0
  132. data/lib/merge_hris_client/models/paginated_location_list.rb +240 -0
  133. data/lib/merge_hris_client/models/paginated_payroll_run_list.rb +240 -0
  134. data/lib/merge_hris_client/models/paginated_team_list.rb +240 -0
  135. data/lib/merge_hris_client/models/paginated_time_off_list.rb +240 -0
  136. data/lib/merge_hris_client/models/pay_currency_enum.rb +340 -0
  137. data/lib/merge_hris_client/models/pay_frequency_enum.rb +43 -0
  138. data/lib/merge_hris_client/models/pay_period_enum.rb +42 -0
  139. data/lib/merge_hris_client/models/payroll_run.rb +297 -0
  140. data/lib/merge_hris_client/models/remote_data.rb +234 -0
  141. data/lib/merge_hris_client/models/remote_key.rb +238 -0
  142. data/lib/merge_hris_client/models/remote_key_for_regeneration.rb +224 -0
  143. data/lib/merge_hris_client/models/remote_key_for_regeneration_request.rb +224 -0
  144. data/lib/merge_hris_client/models/remote_response.rb +279 -0
  145. data/lib/merge_hris_client/models/request_type_enum.rb +38 -0
  146. data/lib/merge_hris_client/models/run_state_enum.rb +39 -0
  147. data/lib/merge_hris_client/models/run_type_enum.rb +49 -0
  148. data/lib/merge_hris_client/models/state_enum.rb +93 -0
  149. data/lib/merge_hris_client/models/sync_status.rb +294 -0
  150. data/lib/merge_hris_client/models/tax.rb +275 -0
  151. data/lib/merge_hris_client/models/team.rb +253 -0
  152. data/lib/merge_hris_client/models/time_off.rb +319 -0
  153. data/lib/merge_hris_client/models/time_off_status_enum.rb +39 -0
  154. data/lib/merge_hris_client/models/type_enum.rb +38 -0
  155. data/lib/merge_hris_client/models/units_enum.rb +36 -0
  156. data/lib/merge_hris_client/version.rb +15 -0
  157. data/merge_hris_client-1.0.0.gem +0 -0
  158. data/merge_hris_client.gemspec +38 -0
  159. data/pull_request_template.md +20 -0
  160. data/spec/api/account_token_api_spec.rb +46 -0
  161. data/spec/api/available_actions_api_spec.rb +46 -0
  162. data/spec/api/benefits_api_spec.rb +68 -0
  163. data/spec/api/companies_api_spec.rb +65 -0
  164. data/spec/api/employee_payroll_runs_api_spec.rb +69 -0
  165. data/spec/api/employees_api_spec.rb +71 -0
  166. data/spec/api/employments_api_spec.rb +66 -0
  167. data/spec/api/link_token_api_spec.rb +46 -0
  168. data/spec/api/locations_api_spec.rb +65 -0
  169. data/spec/api/passthrough_api_spec.rb +48 -0
  170. data/spec/api/payroll_runs_api_spec.rb +65 -0
  171. data/spec/api/regenerate_key_api_spec.rb +46 -0
  172. data/spec/api/teams_api_spec.rb +65 -0
  173. data/spec/api/time_off_api_spec.rb +69 -0
  174. data/spec/api_client_spec.rb +226 -0
  175. data/spec/configuration_spec.rb +42 -0
  176. data/spec/models/account_integration_spec.rb +58 -0
  177. data/spec/models/account_token_spec.rb +34 -0
  178. data/spec/models/available_actions_spec.rb +34 -0
  179. data/spec/models/benefit_plan_type_enum_spec.rb +28 -0
  180. data/spec/models/benefit_spec.rb +70 -0
  181. data/spec/models/company_spec.rb +58 -0
  182. data/spec/models/country_enum_spec.rb +28 -0
  183. data/spec/models/data_passthrough_request_spec.rb +58 -0
  184. data/spec/models/data_passthrough_spec.rb +52 -0
  185. data/spec/models/deduction_spec.rb +58 -0
  186. data/spec/models/earning_spec.rb +52 -0
  187. data/spec/models/employee_payroll_run_spec.rb +100 -0
  188. data/spec/models/employee_spec.rb +166 -0
  189. data/spec/models/employment_spec.rb +88 -0
  190. data/spec/models/employment_status_enum_spec.rb +28 -0
  191. data/spec/models/employment_type_enum_spec.rb +28 -0
  192. data/spec/models/end_user_details_request_spec.rb +56 -0
  193. data/spec/models/end_user_details_spec.rb +56 -0
  194. data/spec/models/ethnicity_enum_spec.rb +28 -0
  195. data/spec/models/flsa_status_enum_spec.rb +28 -0
  196. data/spec/models/gender_enum_spec.rb +28 -0
  197. data/spec/models/link_token_spec.rb +40 -0
  198. data/spec/models/location_spec.rb +82 -0
  199. data/spec/models/marital_status_enum_spec.rb +28 -0
  200. data/spec/models/method_enum_spec.rb +28 -0
  201. data/spec/models/model_operation_spec.rb +40 -0
  202. data/spec/models/paginated_benefit_list_spec.rb +46 -0
  203. data/spec/models/paginated_company_list_spec.rb +46 -0
  204. data/spec/models/paginated_employee_list_spec.rb +46 -0
  205. data/spec/models/paginated_employee_payroll_run_list_spec.rb +46 -0
  206. data/spec/models/paginated_employment_list_spec.rb +46 -0
  207. data/spec/models/paginated_location_list_spec.rb +46 -0
  208. data/spec/models/paginated_payroll_run_list_spec.rb +46 -0
  209. data/spec/models/paginated_team_list_spec.rb +46 -0
  210. data/spec/models/paginated_time_off_list_spec.rb +46 -0
  211. data/spec/models/pay_currency_enum_spec.rb +28 -0
  212. data/spec/models/pay_frequency_enum_spec.rb +28 -0
  213. data/spec/models/pay_period_enum_spec.rb +28 -0
  214. data/spec/models/payroll_run_spec.rb +70 -0
  215. data/spec/models/remote_data_spec.rb +40 -0
  216. data/spec/models/remote_key_for_regeneration_request_spec.rb +34 -0
  217. data/spec/models/remote_key_for_regeneration_spec.rb +34 -0
  218. data/spec/models/remote_key_spec.rb +40 -0
  219. data/spec/models/remote_response_spec.rb +58 -0
  220. data/spec/models/request_type_enum_spec.rb +28 -0
  221. data/spec/models/run_state_enum_spec.rb +28 -0
  222. data/spec/models/run_type_enum_spec.rb +28 -0
  223. data/spec/models/state_enum_spec.rb +28 -0
  224. data/spec/models/tax_spec.rb +58 -0
  225. data/spec/models/team_spec.rb +46 -0
  226. data/spec/models/time_off_spec.rb +82 -0
  227. data/spec/models/time_off_status_enum_spec.rb +28 -0
  228. data/spec/models/type_enum_spec.rb +28 -0
  229. data/spec/models/units_enum_spec.rb +28 -0
  230. data/spec/spec_helper.rb +111 -0
  231. data/test_ruby.rb +30 -0
  232. metadata +385 -0
@@ -0,0 +1,85 @@
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.0.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module MergeHRISClient
16
+ class RegenerateKeyApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Exchange remote keys.
23
+ # @param remote_key_for_regeneration_request [RemoteKeyForRegenerationRequest]
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [RemoteKey]
26
+ def regenerate_key_create(remote_key_for_regeneration_request, opts = {})
27
+ data, _status_code, _headers = regenerate_key_create_with_http_info(remote_key_for_regeneration_request, opts)
28
+ data
29
+ end
30
+
31
+ # Exchange remote keys.
32
+ # @param remote_key_for_regeneration_request [RemoteKeyForRegenerationRequest]
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(RemoteKey, Integer, Hash)>] RemoteKey data, response status code and response headers
35
+ def regenerate_key_create_with_http_info(remote_key_for_regeneration_request, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: RegenerateKeyApi.regenerate_key_create ...'
38
+ end
39
+ # verify the required parameter 'remote_key_for_regeneration_request' is set
40
+ if @api_client.config.client_side_validation && remote_key_for_regeneration_request.nil?
41
+ fail ArgumentError, "Missing the required parameter 'remote_key_for_regeneration_request' when calling RegenerateKeyApi.regenerate_key_create"
42
+ end
43
+ # resource path
44
+ local_var_path = '/regenerate-key'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
53
+ # HTTP header 'Content-Type'
54
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'application/x-www-form-urlencoded', 'multipart/form-data'])
55
+
56
+ # form parameters
57
+ form_params = opts[:form_params] || {}
58
+
59
+ # http body (model)
60
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(remote_key_for_regeneration_request)
61
+
62
+ # return_type
63
+ return_type = opts[:debug_return_type] || 'RemoteKey'
64
+
65
+ # auth_names
66
+ auth_names = opts[:debug_auth_names] || ['tokenAuth']
67
+
68
+ new_options = opts.merge(
69
+ :operation => :"RegenerateKeyApi.regenerate_key_create",
70
+ :header_params => header_params,
71
+ :query_params => query_params,
72
+ :form_params => form_params,
73
+ :body => post_body,
74
+ :auth_names => auth_names,
75
+ :return_type => return_type
76
+ )
77
+
78
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
79
+ if @api_client.config.debugging
80
+ @api_client.config.logger.debug "API called: RegenerateKeyApi#regenerate_key_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
81
+ end
82
+ return data, status_code, headers
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,84 @@
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.0.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module MergeHRISClient
16
+ class SyncStatusApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get syncing status.
23
+ # @param x_account_token [String] Token identifying the end user.
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [SyncStatus]
26
+ def sync_status_retrieve(x_account_token, opts = {})
27
+ data, _status_code, _headers = sync_status_retrieve_with_http_info(x_account_token, opts)
28
+ data
29
+ end
30
+
31
+ # Get syncing status.
32
+ # @param x_account_token [String] Token identifying the end user.
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(SyncStatus, Integer, Hash)>] SyncStatus data, response status code and response headers
35
+ def sync_status_retrieve_with_http_info(x_account_token, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: SyncStatusApi.sync_status_retrieve ...'
38
+ end
39
+ # verify the required parameter 'x_account_token' is set
40
+ if @api_client.config.client_side_validation && x_account_token.nil?
41
+ fail ArgumentError, "Missing the required parameter 'x_account_token' when calling SyncStatusApi.sync_status_retrieve"
42
+ end
43
+ # resource path
44
+ local_var_path = '/sync-status'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
53
+ header_params[:'X-Account-Token'] = x_account_token
54
+
55
+ # form parameters
56
+ form_params = opts[:form_params] || {}
57
+
58
+ # http body (model)
59
+ post_body = opts[:debug_body]
60
+
61
+ # return_type
62
+ return_type = opts[:debug_return_type] || 'SyncStatus'
63
+
64
+ # auth_names
65
+ auth_names = opts[:debug_auth_names] || ['tokenAuth']
66
+
67
+ new_options = opts.merge(
68
+ :operation => :"SyncStatusApi.sync_status_retrieve",
69
+ :header_params => header_params,
70
+ :query_params => query_params,
71
+ :form_params => form_params,
72
+ :body => post_body,
73
+ :auth_names => auth_names,
74
+ :return_type => return_type
75
+ )
76
+
77
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
78
+ if @api_client.config.debugging
79
+ @api_client.config.logger.debug "API called: SyncStatusApi#sync_status_retrieve\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
80
+ end
81
+ return data, status_code, headers
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,179 @@
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.0.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module MergeHRISClient
16
+ class TeamsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Returns a list of `Team` objects.
23
+ # @param x_account_token [String] Token identifying the end user.
24
+ # @param [Hash] opts the optional parameters
25
+ # @option opts [Time] :created_after If provided, will only return objects created after this datetime.
26
+ # @option opts [Time] :created_before If provided, will only return objects created before this datetime.
27
+ # @option opts [String] :cursor The pagination cursor value.
28
+ # @option opts [Boolean] :include_remote_data Whether to include the original data Merge fetched from the third-party to produce these models.
29
+ # @option opts [Time] :modified_after If provided, will only return objects modified after this datetime.
30
+ # @option opts [Time] :modified_before If provided, will only return objects modified before this datetime.
31
+ # @option opts [Integer] :page_size Number of results to return per page.
32
+ # @option opts [String] :remote_id The API provider&#39;s ID for the given object.
33
+ # @return [PaginatedTeamList]
34
+ def teams_list(x_account_token, opts = {})
35
+ data, _status_code, _headers = teams_list_with_http_info(x_account_token, opts)
36
+ data
37
+ end
38
+
39
+ # Returns a list of &#x60;Team&#x60; objects.
40
+ # @param x_account_token [String] Token identifying the end user.
41
+ # @param [Hash] opts the optional parameters
42
+ # @option opts [Time] :created_after If provided, will only return objects created after this datetime.
43
+ # @option opts [Time] :created_before If provided, will only return objects created before this datetime.
44
+ # @option opts [String] :cursor The pagination cursor value.
45
+ # @option opts [Boolean] :include_remote_data Whether to include the original data Merge fetched from the third-party to produce these models.
46
+ # @option opts [Time] :modified_after If provided, will only return objects modified after this datetime.
47
+ # @option opts [Time] :modified_before If provided, will only return objects modified before this datetime.
48
+ # @option opts [Integer] :page_size Number of results to return per page.
49
+ # @option opts [String] :remote_id The API provider&#39;s ID for the given object.
50
+ # @return [Array<(PaginatedTeamList, Integer, Hash)>] PaginatedTeamList data, response status code and response headers
51
+ def teams_list_with_http_info(x_account_token, opts = {})
52
+ if @api_client.config.debugging
53
+ @api_client.config.logger.debug 'Calling API: TeamsApi.teams_list ...'
54
+ end
55
+ # verify the required parameter 'x_account_token' is set
56
+ if @api_client.config.client_side_validation && x_account_token.nil?
57
+ fail ArgumentError, "Missing the required parameter 'x_account_token' when calling TeamsApi.teams_list"
58
+ end
59
+ # resource path
60
+ local_var_path = '/teams'
61
+
62
+ # query parameters
63
+ query_params = opts[:query_params] || {}
64
+ query_params[:'created_after'] = opts[:'created_after'] if !opts[:'created_after'].nil?
65
+ query_params[:'created_before'] = opts[:'created_before'] if !opts[:'created_before'].nil?
66
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
67
+ query_params[:'include_remote_data'] = opts[:'include_remote_data'] if !opts[:'include_remote_data'].nil?
68
+ query_params[:'modified_after'] = opts[:'modified_after'] if !opts[:'modified_after'].nil?
69
+ query_params[:'modified_before'] = opts[:'modified_before'] if !opts[:'modified_before'].nil?
70
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
71
+ query_params[:'remote_id'] = opts[:'remote_id'] if !opts[:'remote_id'].nil?
72
+
73
+ # header parameters
74
+ header_params = opts[:header_params] || {}
75
+ # HTTP header 'Accept' (if needed)
76
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
77
+ header_params[:'X-Account-Token'] = x_account_token
78
+
79
+ # form parameters
80
+ form_params = opts[:form_params] || {}
81
+
82
+ # http body (model)
83
+ post_body = opts[:debug_body]
84
+
85
+ # return_type
86
+ return_type = opts[:debug_return_type] || 'PaginatedTeamList'
87
+
88
+ # auth_names
89
+ auth_names = opts[:debug_auth_names] || ['tokenAuth']
90
+
91
+ new_options = opts.merge(
92
+ :operation => :"TeamsApi.teams_list",
93
+ :header_params => header_params,
94
+ :query_params => query_params,
95
+ :form_params => form_params,
96
+ :body => post_body,
97
+ :auth_names => auth_names,
98
+ :return_type => return_type
99
+ )
100
+
101
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug "API called: TeamsApi#teams_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
104
+ end
105
+ return data, status_code, headers
106
+ end
107
+
108
+ # Returns a `Team` object with the given `id`.
109
+ # @param x_account_token [String] Token identifying the end user.
110
+ # @param id [String]
111
+ # @param [Hash] opts the optional parameters
112
+ # @option opts [Boolean] :include_remote_data Whether to include the original data Merge fetched from the third-party to produce these models.
113
+ # @return [Team]
114
+ def teams_retrieve(x_account_token, id, opts = {})
115
+ data, _status_code, _headers = teams_retrieve_with_http_info(x_account_token, id, opts)
116
+ data
117
+ end
118
+
119
+ # Returns a &#x60;Team&#x60; object with the given &#x60;id&#x60;.
120
+ # @param x_account_token [String] Token identifying the end user.
121
+ # @param id [String]
122
+ # @param [Hash] opts the optional parameters
123
+ # @option opts [Boolean] :include_remote_data Whether to include the original data Merge fetched from the third-party to produce these models.
124
+ # @return [Array<(Team, Integer, Hash)>] Team data, response status code and response headers
125
+ def teams_retrieve_with_http_info(x_account_token, id, opts = {})
126
+ if @api_client.config.debugging
127
+ @api_client.config.logger.debug 'Calling API: TeamsApi.teams_retrieve ...'
128
+ end
129
+ # verify the required parameter 'x_account_token' is set
130
+ if @api_client.config.client_side_validation && x_account_token.nil?
131
+ fail ArgumentError, "Missing the required parameter 'x_account_token' when calling TeamsApi.teams_retrieve"
132
+ end
133
+ # verify the required parameter 'id' is set
134
+ if @api_client.config.client_side_validation && id.nil?
135
+ fail ArgumentError, "Missing the required parameter 'id' when calling TeamsApi.teams_retrieve"
136
+ end
137
+ # resource path
138
+ local_var_path = '/teams/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
139
+
140
+ # query parameters
141
+ query_params = opts[:query_params] || {}
142
+ query_params[:'include_remote_data'] = opts[:'include_remote_data'] if !opts[:'include_remote_data'].nil?
143
+
144
+ # header parameters
145
+ header_params = opts[:header_params] || {}
146
+ # HTTP header 'Accept' (if needed)
147
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
148
+ header_params[:'X-Account-Token'] = x_account_token
149
+
150
+ # form parameters
151
+ form_params = opts[:form_params] || {}
152
+
153
+ # http body (model)
154
+ post_body = opts[:debug_body]
155
+
156
+ # return_type
157
+ return_type = opts[:debug_return_type] || 'Team'
158
+
159
+ # auth_names
160
+ auth_names = opts[:debug_auth_names] || ['tokenAuth']
161
+
162
+ new_options = opts.merge(
163
+ :operation => :"TeamsApi.teams_retrieve",
164
+ :header_params => header_params,
165
+ :query_params => query_params,
166
+ :form_params => form_params,
167
+ :body => post_body,
168
+ :auth_names => auth_names,
169
+ :return_type => return_type
170
+ )
171
+
172
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
173
+ if @api_client.config.debugging
174
+ @api_client.config.logger.debug "API called: TeamsApi#teams_retrieve\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
175
+ end
176
+ return data, status_code, headers
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,199 @@
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.0.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module MergeHRISClient
16
+ class TimeOffApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Returns a list of `TimeOff` objects.
23
+ # @param x_account_token [String] Token identifying the end user.
24
+ # @param [Hash] opts the optional parameters
25
+ # @option opts [String] :approver_id If provided, will only return time off for this approver.
26
+ # @option opts [Time] :created_after If provided, will only return objects created after this datetime.
27
+ # @option opts [Time] :created_before If provided, will only return objects created before this datetime.
28
+ # @option opts [String] :cursor The pagination cursor value.
29
+ # @option opts [String] :employee_id If provided, will only return time off for this employee.
30
+ # @option opts [String] :expand Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
31
+ # @option opts [Boolean] :include_remote_data Whether to include the original data Merge fetched from the third-party to produce these models.
32
+ # @option opts [Time] :modified_after If provided, will only return objects modified after this datetime.
33
+ # @option opts [Time] :modified_before If provided, will only return objects modified before this datetime.
34
+ # @option opts [Integer] :page_size Number of results to return per page.
35
+ # @option opts [String] :remote_id The API provider&#39;s ID for the given object.
36
+ # @return [PaginatedTimeOffList]
37
+ def time_off_list(x_account_token, opts = {})
38
+ data, _status_code, _headers = time_off_list_with_http_info(x_account_token, opts)
39
+ data
40
+ end
41
+
42
+ # Returns a list of &#x60;TimeOff&#x60; objects.
43
+ # @param x_account_token [String] Token identifying the end user.
44
+ # @param [Hash] opts the optional parameters
45
+ # @option opts [String] :approver_id If provided, will only return time off for this approver.
46
+ # @option opts [Time] :created_after If provided, will only return objects created after this datetime.
47
+ # @option opts [Time] :created_before If provided, will only return objects created before this datetime.
48
+ # @option opts [String] :cursor The pagination cursor value.
49
+ # @option opts [String] :employee_id If provided, will only return time off for this employee.
50
+ # @option opts [String] :expand Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
51
+ # @option opts [Boolean] :include_remote_data Whether to include the original data Merge fetched from the third-party to produce these models.
52
+ # @option opts [Time] :modified_after If provided, will only return objects modified after this datetime.
53
+ # @option opts [Time] :modified_before If provided, will only return objects modified before this datetime.
54
+ # @option opts [Integer] :page_size Number of results to return per page.
55
+ # @option opts [String] :remote_id The API provider&#39;s ID for the given object.
56
+ # @return [Array<(PaginatedTimeOffList, Integer, Hash)>] PaginatedTimeOffList data, response status code and response headers
57
+ def time_off_list_with_http_info(x_account_token, opts = {})
58
+ if @api_client.config.debugging
59
+ @api_client.config.logger.debug 'Calling API: TimeOffApi.time_off_list ...'
60
+ end
61
+ # verify the required parameter 'x_account_token' is set
62
+ if @api_client.config.client_side_validation && x_account_token.nil?
63
+ fail ArgumentError, "Missing the required parameter 'x_account_token' when calling TimeOffApi.time_off_list"
64
+ end
65
+ allowable_values = ["approver", "employee", "employee,approver"]
66
+ if @api_client.config.client_side_validation && opts[:'expand'] && !allowable_values.include?(opts[:'expand'])
67
+ fail ArgumentError, "invalid value for \"expand\", must be one of #{allowable_values}"
68
+ end
69
+ # resource path
70
+ local_var_path = '/time-off'
71
+
72
+ # query parameters
73
+ query_params = opts[:query_params] || {}
74
+ query_params[:'approver_id'] = opts[:'approver_id'] if !opts[:'approver_id'].nil?
75
+ query_params[:'created_after'] = opts[:'created_after'] if !opts[:'created_after'].nil?
76
+ query_params[:'created_before'] = opts[:'created_before'] if !opts[:'created_before'].nil?
77
+ query_params[:'cursor'] = opts[:'cursor'] if !opts[:'cursor'].nil?
78
+ query_params[:'employee_id'] = opts[:'employee_id'] if !opts[:'employee_id'].nil?
79
+ query_params[:'expand'] = opts[:'expand'] if !opts[:'expand'].nil?
80
+ query_params[:'include_remote_data'] = opts[:'include_remote_data'] if !opts[:'include_remote_data'].nil?
81
+ query_params[:'modified_after'] = opts[:'modified_after'] if !opts[:'modified_after'].nil?
82
+ query_params[:'modified_before'] = opts[:'modified_before'] if !opts[:'modified_before'].nil?
83
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
84
+ query_params[:'remote_id'] = opts[:'remote_id'] if !opts[:'remote_id'].nil?
85
+
86
+ # header parameters
87
+ header_params = opts[:header_params] || {}
88
+ # HTTP header 'Accept' (if needed)
89
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
90
+ header_params[:'X-Account-Token'] = x_account_token
91
+
92
+ # form parameters
93
+ form_params = opts[:form_params] || {}
94
+
95
+ # http body (model)
96
+ post_body = opts[:debug_body]
97
+
98
+ # return_type
99
+ return_type = opts[:debug_return_type] || 'PaginatedTimeOffList'
100
+
101
+ # auth_names
102
+ auth_names = opts[:debug_auth_names] || ['tokenAuth']
103
+
104
+ new_options = opts.merge(
105
+ :operation => :"TimeOffApi.time_off_list",
106
+ :header_params => header_params,
107
+ :query_params => query_params,
108
+ :form_params => form_params,
109
+ :body => post_body,
110
+ :auth_names => auth_names,
111
+ :return_type => return_type
112
+ )
113
+
114
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
115
+ if @api_client.config.debugging
116
+ @api_client.config.logger.debug "API called: TimeOffApi#time_off_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
117
+ end
118
+ return data, status_code, headers
119
+ end
120
+
121
+ # Returns an `TimeOff` object with the given `id`.
122
+ # @param x_account_token [String] Token identifying the end user.
123
+ # @param id [String]
124
+ # @param [Hash] opts the optional parameters
125
+ # @option opts [String] :expand Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
126
+ # @option opts [Boolean] :include_remote_data Whether to include the original data Merge fetched from the third-party to produce these models.
127
+ # @return [TimeOff]
128
+ def time_off_retrieve(x_account_token, id, opts = {})
129
+ data, _status_code, _headers = time_off_retrieve_with_http_info(x_account_token, id, opts)
130
+ data
131
+ end
132
+
133
+ # Returns an &#x60;TimeOff&#x60; object with the given &#x60;id&#x60;.
134
+ # @param x_account_token [String] Token identifying the end user.
135
+ # @param id [String]
136
+ # @param [Hash] opts the optional parameters
137
+ # @option opts [String] :expand Which relations should be returned in expanded form. Multiple relation names should be comma separated without spaces.
138
+ # @option opts [Boolean] :include_remote_data Whether to include the original data Merge fetched from the third-party to produce these models.
139
+ # @return [Array<(TimeOff, Integer, Hash)>] TimeOff data, response status code and response headers
140
+ def time_off_retrieve_with_http_info(x_account_token, id, opts = {})
141
+ if @api_client.config.debugging
142
+ @api_client.config.logger.debug 'Calling API: TimeOffApi.time_off_retrieve ...'
143
+ end
144
+ # verify the required parameter 'x_account_token' is set
145
+ if @api_client.config.client_side_validation && x_account_token.nil?
146
+ fail ArgumentError, "Missing the required parameter 'x_account_token' when calling TimeOffApi.time_off_retrieve"
147
+ end
148
+ # verify the required parameter 'id' is set
149
+ if @api_client.config.client_side_validation && id.nil?
150
+ fail ArgumentError, "Missing the required parameter 'id' when calling TimeOffApi.time_off_retrieve"
151
+ end
152
+ allowable_values = ["approver", "employee", "employee,approver"]
153
+ if @api_client.config.client_side_validation && opts[:'expand'] && !allowable_values.include?(opts[:'expand'])
154
+ fail ArgumentError, "invalid value for \"expand\", must be one of #{allowable_values}"
155
+ end
156
+ # resource path
157
+ local_var_path = '/time-off/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
158
+
159
+ # query parameters
160
+ query_params = opts[:query_params] || {}
161
+ query_params[:'expand'] = opts[:'expand'] if !opts[:'expand'].nil?
162
+ query_params[:'include_remote_data'] = opts[:'include_remote_data'] if !opts[:'include_remote_data'].nil?
163
+
164
+ # header parameters
165
+ header_params = opts[:header_params] || {}
166
+ # HTTP header 'Accept' (if needed)
167
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
168
+ header_params[:'X-Account-Token'] = x_account_token
169
+
170
+ # form parameters
171
+ form_params = opts[:form_params] || {}
172
+
173
+ # http body (model)
174
+ post_body = opts[:debug_body]
175
+
176
+ # return_type
177
+ return_type = opts[:debug_return_type] || 'TimeOff'
178
+
179
+ # auth_names
180
+ auth_names = opts[:debug_auth_names] || ['tokenAuth']
181
+
182
+ new_options = opts.merge(
183
+ :operation => :"TimeOffApi.time_off_retrieve",
184
+ :header_params => header_params,
185
+ :query_params => query_params,
186
+ :form_params => form_params,
187
+ :body => post_body,
188
+ :auth_names => auth_names,
189
+ :return_type => return_type
190
+ )
191
+
192
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
193
+ if @api_client.config.debugging
194
+ @api_client.config.logger.debug "API called: TimeOffApi#time_off_retrieve\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
195
+ end
196
+ return data, status_code, headers
197
+ end
198
+ end
199
+ end