merge_hris_client 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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