affixapi 1.1.66 → 1.1.67
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +1 -0
- data/docs/PolicyTypeResponse.md +15 -0
- data/docs/TimeOffBalanceResponse.md +7 -3
- data/docs/TimeOffEntryResponse.md +10 -4
- data/docs/TimesheetResponse.md +2 -2
- data/lib/openapi_client/models/address_no_non_null_request.rb +2 -2
- data/lib/openapi_client/models/address_response.rb +2 -2
- data/lib/openapi_client/models/policy_type_response.rb +42 -0
- data/lib/openapi_client/models/time_off_balance_response.rb +33 -45
- data/lib/openapi_client/models/time_off_entry_response.rb +50 -17
- data/lib/openapi_client/models/timesheet_response.rb +10 -10
- data/lib/openapi_client/version.rb +1 -1
- data/lib/openapi_client.rb +1 -0
- data/spec/models/address_no_non_null_request_spec.rb +1 -1
- data/spec/models/address_response_spec.rb +1 -1
- data/spec/models/policy_type_response_spec.rb +28 -0
- data/spec/models/time_off_balance_response_spec.rb +13 -5
- data/spec/models/time_off_entry_response_spec.rb +20 -2
- data/spec/models/timesheet_response_spec.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de6f531c73f2430e3ead9a1a5807f7997db4dfa505100cdbd2d9186a6fdcfc45
|
4
|
+
data.tar.gz: 62a5ec7b9e6db5e87008203f16076e2ecdb07c8cdfd2e66a92080d851647061c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89178bc68513987597a7805b34f946662b2b542cc7eab815bd25c33d635f2b4c4934a91df0e1ed981a3f9083e3d9e41c30ffddeadd1f2f6314ecacfcdf0a6aee
|
7
|
+
data.tar.gz: 0300016c8f2df498e306e0e98e61c1fa3ab39ae3c805e204fcc360359da06abcf09c797a239d6346d8a67408c3257f746ff5fd150975c0ba757bd849957f474f
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -358,6 +358,7 @@ Class | Method | HTTP request | Description
|
|
358
358
|
- [OpenapiClient::PayslipResponseDeductions](docs/PayslipResponseDeductions.md)
|
359
359
|
- [OpenapiClient::PayslipResponseEarnings](docs/PayslipResponseEarnings.md)
|
360
360
|
- [OpenapiClient::PayslipResponseTaxes](docs/PayslipResponseTaxes.md)
|
361
|
+
- [OpenapiClient::PolicyTypeResponse](docs/PolicyTypeResponse.md)
|
361
362
|
- [OpenapiClient::ProviderRequest](docs/ProviderRequest.md)
|
362
363
|
- [OpenapiClient::ProviderResponse](docs/ProviderResponse.md)
|
363
364
|
- [OpenapiClient::ScopesRequest](docs/ScopesRequest.md)
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# OpenapiClient::PolicyTypeResponse
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
|
5
|
+
| Name | Type | Description | Notes |
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
7
|
+
|
8
|
+
## Example
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
require 'openapi_client'
|
12
|
+
|
13
|
+
instance = OpenapiClient::PolicyTypeResponse.new()
|
14
|
+
```
|
15
|
+
|
@@ -5,11 +5,13 @@
|
|
5
5
|
| Name | Type | Description | Notes |
|
6
6
|
| ---- | ---- | ----------- | ----- |
|
7
7
|
| **employee_id** | **String** | The Affix-assigned id of the individual | |
|
8
|
-
| **
|
8
|
+
| **employee_remote_id** | **String** | the remote system-assigned id of the individual | |
|
9
9
|
| **balance** | **Float** | | |
|
10
10
|
| **used** | **Float** | | |
|
11
|
+
| **policy_id** | **String** | The Affix-assigned id of the policy | |
|
12
|
+
| **policy_remote_id** | **String** | The remote system-assigned id of the policy | |
|
11
13
|
| **policy_name** | **String** | The name of the policy, as assigned by the remote system | |
|
12
|
-
| **policy_type** | **
|
14
|
+
| **policy_type** | [**PolicyTypeResponse**](PolicyTypeResponse.md) | | |
|
13
15
|
| **remote_created_at** | **Date** | | |
|
14
16
|
| **remote_modified_at** | **Date** | | |
|
15
17
|
|
@@ -20,9 +22,11 @@ require 'openapi_client'
|
|
20
22
|
|
21
23
|
instance = OpenapiClient::TimeOffBalanceResponse.new(
|
22
24
|
employee_id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
23
|
-
|
25
|
+
employee_remote_id: 19202938,
|
24
26
|
balance: 24.5,
|
25
27
|
used: 12,
|
28
|
+
policy_id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
29
|
+
policy_remote_id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
26
30
|
policy_name: Comp/In Lieu Time,
|
27
31
|
policy_type: null,
|
28
32
|
remote_created_at: Sun Oct 11 00:00:00 UTC 2020,
|
@@ -7,14 +7,17 @@
|
|
7
7
|
| **id** | **String** | The Affix-assigned id of the time off entry | |
|
8
8
|
| **remote_id** | **String** | the remote system-assigned id of the time off entry | |
|
9
9
|
| **employee_id** | **String** | the Affix-assigned id of the individual | |
|
10
|
-
| **
|
10
|
+
| **employee_remote_id** | **String** | the remote system-assigned id of the individual | |
|
11
11
|
| **start_date** | **Date** | | |
|
12
12
|
| **end_date** | **Date** | | |
|
13
13
|
| **amount** | **Float** | | |
|
14
14
|
| **unit** | **String** | | |
|
15
15
|
| **status** | **String** | | |
|
16
16
|
| **employee_note** | **String** | | |
|
17
|
-
| **
|
17
|
+
| **policy_id** | **String** | The Affix-assigned id of the policy | |
|
18
|
+
| **policy_remote_id** | **String** | The remote system-assigned id of the policy | |
|
19
|
+
| **policy_name** | **String** | The name of the policy, as assigned by the remote system | |
|
20
|
+
| **policy_type** | [**PolicyTypeResponse**](PolicyTypeResponse.md) | | |
|
18
21
|
| **remote_created_at** | **Date** | | |
|
19
22
|
| **remote_modified_at** | **Date** | | |
|
20
23
|
|
@@ -27,14 +30,17 @@ instance = OpenapiClient::TimeOffEntryResponse.new(
|
|
27
30
|
id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
28
31
|
remote_id: 19202938,
|
29
32
|
employee_id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
30
|
-
|
33
|
+
employee_remote_id: 19202938,
|
31
34
|
start_date: Sun Oct 11 00:00:00 UTC 2020,
|
32
35
|
end_date: Wed Oct 14 00:00:00 UTC 2020,
|
33
36
|
amount: 3,
|
34
37
|
unit: days,
|
35
38
|
status: approved,
|
36
39
|
employee_note: Visiting my family,
|
37
|
-
|
40
|
+
policy_id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
41
|
+
policy_remote_id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
42
|
+
policy_name: Comp/In Lieu Time,
|
43
|
+
policy_type: null,
|
38
44
|
remote_created_at: Sun Oct 11 00:00:00 UTC 2020,
|
39
45
|
remote_modified_at: Mon Oct 12 00:00:00 UTC 2020
|
40
46
|
)
|
data/docs/TimesheetResponse.md
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
| **id** | **String** | The Affix-assigned id of the time off entry | |
|
8
8
|
| **remote_id** | **String** | the remote system-assigned id of the time off entry | |
|
9
9
|
| **employee_id** | **String** | the Affix-assigned id of the individual | |
|
10
|
-
| **
|
10
|
+
| **employee_remote_id** | **String** | the remote system-assigned id of the individual | |
|
11
11
|
| **start_time** | **Time** | | |
|
12
12
|
| **end_time** | **Time** | | |
|
13
13
|
| **hours_worked** | **Float** | | |
|
@@ -23,7 +23,7 @@ instance = OpenapiClient::TimesheetResponse.new(
|
|
23
23
|
id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
24
24
|
remote_id: 19202938,
|
25
25
|
employee_id: cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw,
|
26
|
-
|
26
|
+
employee_remote_id: 19202938,
|
27
27
|
start_time: 2020-10-11T08:00Z,
|
28
28
|
end_time: 2020-10-11T17:00Z,
|
29
29
|
hours_worked: 8,
|
@@ -133,7 +133,7 @@ module OpenapiClient
|
|
133
133
|
# Check to see if the all the properties in the model are valid
|
134
134
|
# @return true if the model is valid
|
135
135
|
def valid?
|
136
|
-
country_validator = EnumAttributeValidator.new('String', ["CA", "
|
136
|
+
country_validator = EnumAttributeValidator.new('String', ["BZ", "CA", "CR", "GT", "MX", "PA", "SV", "US", "AR", "BR", "CL", "PE", "AT", "AU", "BE", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GB", "GR", "IE", "IM", "IS", "IT", "LI", "LT", "LU", "LV", "NL", "NO", "PH", "PL", "RO", "RU", "SE", "SK", "CN", "HK", "ID", "IL", "IN", "JP", "KR", "MO", "MY", "PH", "PS", "SG", "TH", "TR", "TW", "VN", "ZA", "AU", "NZ"])
|
137
137
|
return false unless country_validator.valid?(@country)
|
138
138
|
true
|
139
139
|
end
|
@@ -141,7 +141,7 @@ module OpenapiClient
|
|
141
141
|
# Custom attribute writer method checking allowed values (enum).
|
142
142
|
# @param [Object] country Object to be assigned
|
143
143
|
def country=(country)
|
144
|
-
validator = EnumAttributeValidator.new('String', ["CA", "
|
144
|
+
validator = EnumAttributeValidator.new('String', ["BZ", "CA", "CR", "GT", "MX", "PA", "SV", "US", "AR", "BR", "CL", "PE", "AT", "AU", "BE", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GB", "GR", "IE", "IM", "IS", "IT", "LI", "LT", "LU", "LV", "NL", "NO", "PH", "PL", "RO", "RU", "SE", "SK", "CN", "HK", "ID", "IL", "IN", "JP", "KR", "MO", "MY", "PH", "PS", "SG", "TH", "TR", "TW", "VN", "ZA", "AU", "NZ"])
|
145
145
|
unless validator.valid?(country)
|
146
146
|
fail ArgumentError, "invalid value for \"country\", must be one of #{validator.allowable_values}."
|
147
147
|
end
|
@@ -133,7 +133,7 @@ module OpenapiClient
|
|
133
133
|
# Check to see if the all the properties in the model are valid
|
134
134
|
# @return true if the model is valid
|
135
135
|
def valid?
|
136
|
-
country_validator = EnumAttributeValidator.new('String', ["null", "CA", "
|
136
|
+
country_validator = EnumAttributeValidator.new('String', ["null", "BZ", "CA", "CR", "GT", "MX", "PA", "SV", "US", "AR", "BR", "CL", "PE", "AT", "AU", "BE", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GB", "GR", "IE", "IM", "IS", "IT", "LI", "LT", "LU", "LV", "NL", "NO", "PH", "PL", "RO", "RU", "SE", "SK", "CN", "HK", "ID", "IL", "IN", "JP", "KR", "MO", "MY", "PH", "PS", "SG", "TH", "TR", "TW", "VN", "ZA", "AU", "NZ"])
|
137
137
|
return false unless country_validator.valid?(@country)
|
138
138
|
true
|
139
139
|
end
|
@@ -141,7 +141,7 @@ module OpenapiClient
|
|
141
141
|
# Custom attribute writer method checking allowed values (enum).
|
142
142
|
# @param [Object] country Object to be assigned
|
143
143
|
def country=(country)
|
144
|
-
validator = EnumAttributeValidator.new('String', ["null", "CA", "
|
144
|
+
validator = EnumAttributeValidator.new('String', ["null", "BZ", "CA", "CR", "GT", "MX", "PA", "SV", "US", "AR", "BR", "CL", "PE", "AT", "AU", "BE", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GB", "GR", "IE", "IM", "IS", "IT", "LI", "LT", "LU", "LV", "NL", "NO", "PH", "PL", "RO", "RU", "SE", "SK", "CN", "HK", "ID", "IL", "IN", "JP", "KR", "MO", "MY", "PH", "PS", "SG", "TH", "TR", "TW", "VN", "ZA", "AU", "NZ"])
|
145
145
|
unless validator.valid?(country)
|
146
146
|
fail ArgumentError, "invalid value for \"country\", must be one of #{validator.allowable_values}."
|
147
147
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
=begin
|
2
|
+
#Affix API
|
3
|
+
|
4
|
+
#The affixapi.com API documentation. # Introduction Affix API is an OAuth 2.1 application that allows developers to access customer data, without developers needing to manage or maintain integrations; or collect login credentials or API keys from users for these third party systems. # OAuth 2.1 Affix API follows the [OAuth 2.1 spec](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-08). As an OAuth application, Affix API handles not only both the collection of sensitive user credentials or API keys, but also builds and maintains the integrations with the providers, so you don't have to. # How to obtain an access token in order to get started, you must: - register a `client_id` - direct your user to the sign in flow (`https://connect.affixapi.com` [with the appropriate query parameters](https://github.com/affixapi/starter-kit/tree/master/connect)) - capture `authorization_code` we will send to your redirect URI after the sign in flow is complete and exchange that `authorization_code` for a Bearer token # Sandbox keys (xhr mode) ### dev ``` eyJhbGciOiJFUzI1NiIsImtpZCI6Ims5RmxwSFR1YklmZWNsUU5QRVZzeFcxazFZZ0Zfbk1BWllOSGVuOFQxdGciLCJ0eXAiOiJKV1MifQ.eyJwcm92aWRlciI6InNhbmRib3giLCJzY29wZXMiOlsiLzIwMjMtMDMtMDEveGhyL2NvbXBhbnkiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWUiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWVzIiwiLzIwMjMtMDMtMDEveGhyL2dyb3VwcyIsIi8yMDIzLTAzLTAxL3hoci9pZGVudGl0eSIsIi8yMDIzLTAzLTAxL3hoci9wYXlydW5zIiwiLzIwMjMtMDMtMDEveGhyL3BheXJ1bnMvOnBheXJ1bl9pZCIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1iYWxhbmNlcyIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1lbnRyaWVzIiwiLzIwMjMtMDMtMDEveGhyL3RpbWVzaGVldHMiLCIvMjAyMy0wMy0wMS94aHIvd29yay1sb2NhdGlvbnMiXSwidG9rZW4iOiIzODIzNTNlMi05N2ZiLTRmMWEtOTYxYy0zZDI5OTViNzYxMTUiLCJpYXQiOjE3MTE4MTA3MTQsImlzcyI6InB1YmxpY2FwaS1pbnRlcm1lZGlhdGUuZGV2LmVuZ2luZWVyaW5nLmFmZml4YXBpLmNvbSIsInN1YiI6InhociIsImF1ZCI6IjNGREFFREY5LTFEQ0E0RjU0LTg3OTQ5RjZBLTQxMDI3NjQzIn0.zUJPaT6IxcIdr8b9iO6u-Rr5I-ohTHPYTrQGrgOFghbEbovItiwr9Wk479GnJVJc3WR8bxAwUMAE4Ul6Okdk6Q ``` #### `employees` endpoint sample: ``` curl --fail \\ -X GET \\ -H 'Authorization: Bearer eyJhbGciOiJFUzI1NiIsImtpZCI6Ims5RmxwSFR1YklmZWNsUU5QRVZzeFcxazFZZ0Zfbk1BWllOSGVuOFQxdGciLCJ0eXAiOiJKV1MifQ.eyJwcm92aWRlciI6InNhbmRib3giLCJzY29wZXMiOlsiLzIwMjMtMDMtMDEveGhyL2NvbXBhbnkiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWUiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWVzIiwiLzIwMjMtMDMtMDEveGhyL2dyb3VwcyIsIi8yMDIzLTAzLTAxL3hoci9pZGVudGl0eSIsIi8yMDIzLTAzLTAxL3hoci9wYXlydW5zIiwiLzIwMjMtMDMtMDEveGhyL3BheXJ1bnMvOnBheXJ1bl9pZCIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1iYWxhbmNlcyIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1lbnRyaWVzIiwiLzIwMjMtMDMtMDEveGhyL3RpbWVzaGVldHMiLCIvMjAyMy0wMy0wMS94aHIvd29yay1sb2NhdGlvbnMiXSwidG9rZW4iOiIzODIzNTNlMi05N2ZiLTRmMWEtOTYxYy0zZDI5OTViNzYxMTUiLCJpYXQiOjE3MTE4MTA3MTQsImlzcyI6InB1YmxpY2FwaS1pbnRlcm1lZGlhdGUuZGV2LmVuZ2luZWVyaW5nLmFmZml4YXBpLmNvbSIsInN1YiI6InhociIsImF1ZCI6IjNGREFFREY5LTFEQ0E0RjU0LTg3OTQ5RjZBLTQxMDI3NjQzIn0.zUJPaT6IxcIdr8b9iO6u-Rr5I-ohTHPYTrQGrgOFghbEbovItiwr9Wk479GnJVJc3WR8bxAwUMAE4Ul6Okdk6Q' \\ 'https://dev.api.affixapi.com/2023-03-01/xhr/employees' ``` ### prod ``` eyJhbGciOiJFUzI1NiIsImtpZCI6Ims5RmxwSFR1YklmZWNsUU5QRVZzeFcxazFZZ0Zfbk1BWllOSGVuOFQxdGciLCJ0eXAiOiJKV1MifQ.eyJwcm92aWRlciI6InNhbmRib3giLCJzY29wZXMiOlsiLzIwMjMtMDMtMDEveGhyL2NvbXBhbnkiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWUiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWVzIiwiLzIwMjMtMDMtMDEveGhyL2dyb3VwcyIsIi8yMDIzLTAzLTAxL3hoci9pZGVudGl0eSIsIi8yMDIzLTAzLTAxL3hoci9wYXlydW5zIiwiLzIwMjMtMDMtMDEveGhyL3BheXJ1bnMvOnBheXJ1bl9pZCIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1iYWxhbmNlcyIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1lbnRyaWVzIiwiLzIwMjMtMDMtMDEveGhyL3RpbWVzaGVldHMiLCIvMjAyMy0wMy0wMS94aHIvd29yay1sb2NhdGlvbnMiXSwidG9rZW4iOiIzYjg4MDc2NC1kMGFmLTQ5ZDAtOGM5OS00YzIwYjE2MTJjOTMiLCJpYXQiOjE3MTE4MTA4NTgsImlzcyI6InB1YmxpY2FwaS1pbnRlcm1lZGlhdGUucHJvZC5lbmdpbmVlcmluZy5hZmZpeGFwaS5jb20iLCJzdWIiOiJ4aHIiLCJhdWQiOiIwOEJCMDgxRS1EOUFCNEQxNC04REY5OTIzMy02NjYxNUNFOSJ9.n3pJmmfegU21Tko_TyUyCHi4ITvfd75T8NFFTHmf1r8AI8yCUYTWdfNjyZZWcZD6z50I3Wsk2rAd8GDWXn4vlg ``` #### `employees` endpoint sample: ``` curl --fail \\ -X GET \\ -H 'Authorization: Bearer eyJhbGciOiJFUzI1NiIsImtpZCI6Ims5RmxwSFR1YklmZWNsUU5QRVZzeFcxazFZZ0Zfbk1BWllOSGVuOFQxdGciLCJ0eXAiOiJKV1MifQ.eyJwcm92aWRlciI6InNhbmRib3giLCJzY29wZXMiOlsiLzIwMjMtMDMtMDEveGhyL2NvbXBhbnkiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWUiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWVzIiwiLzIwMjMtMDMtMDEveGhyL2dyb3VwcyIsIi8yMDIzLTAzLTAxL3hoci9pZGVudGl0eSIsIi8yMDIzLTAzLTAxL3hoci9wYXlydW5zIiwiLzIwMjMtMDMtMDEveGhyL3BheXJ1bnMvOnBheXJ1bl9pZCIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1iYWxhbmNlcyIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1lbnRyaWVzIiwiLzIwMjMtMDMtMDEveGhyL3RpbWVzaGVldHMiLCIvMjAyMy0wMy0wMS94aHIvd29yay1sb2NhdGlvbnMiXSwidG9rZW4iOiIzYjg4MDc2NC1kMGFmLTQ5ZDAtOGM5OS00YzIwYjE2MTJjOTMiLCJpYXQiOjE3MTE4MTA4NTgsImlzcyI6InB1YmxpY2FwaS1pbnRlcm1lZGlhdGUucHJvZC5lbmdpbmVlcmluZy5hZmZpeGFwaS5jb20iLCJzdWIiOiJ4aHIiLCJhdWQiOiIwOEJCMDgxRS1EOUFCNEQxNC04REY5OTIzMy02NjYxNUNFOSJ9.n3pJmmfegU21Tko_TyUyCHi4ITvfd75T8NFFTHmf1r8AI8yCUYTWdfNjyZZWcZD6z50I3Wsk2rAd8GDWXn4vlg' \\ 'https://api.affixapi.com/2023-03-01/xhr/employees' ``` # Compression We support `brotli`, `gzip`, and `deflate` compression algorithms. To enable, pass the `Accept-Encoding` header with one or all of the values: `br`, `gzip`, `deflate`, or `identity` (no compression) In the response, you will receive the `Content-Encoding` response header indicating the compression algorithm used in the data payload to enable you to decompress the result. If the `Accept-Encoding: identity` header was passed, no `Content-Encoding` response header is sent back, as no compression algorithm was used. # Webhooks An exciting feature for HR/Payroll modes are webhooks. If enabled, your `webhook_uri` is set on your `client_id` for the respective environment: `dev | prod` Webhooks are configured to make live requests to the underlying integration 1x/hr, and if a difference is detected since the last request, we will send a request to your `webhook_uri` with this shape: ``` { added: <api.v20230301.Employees>[ <api.v20230301.Employee>{ ..., date_of_birth: '2010-08-06', display_full_name: 'Daija Rogahn', employee_number: '57993', employment_status: 'pending', employment_type: 'other', employments: [ { currency: 'eur', effective_date: '2022-02-25', employment_type: 'other', job_title: 'Dynamic Implementation Manager', pay_frequency: 'semimonthly', pay_period: 'YEAR', pay_rate: 96000, }, ], first_name: 'Daija', ... } ], removed: [], updated: [ <api.v20230301.Employee>{ ..., date_of_birth: '2009-11-09', display_full_name: 'Lourdes Stiedemann', employee_number: '63189', employment_status: 'leave', employment_type: 'full_time', employments: [ { currency: 'gbp', effective_date: '2023-01-16', employment_type: 'full_time', job_title: 'Forward Brand Planner', pay_frequency: 'semimonthly', pay_period: 'YEAR', pay_rate: 86000, }, ], first_name: 'Lourdes', } ] } ``` the following headers will be sent with webhook requests: ``` x-affix-api-signature: ab8474e609db95d5df3adc39ea3add7a7544bd215c5c520a30a650ae93a2fba7 x-affix-api-origin: webhooks-employees-webhook user-agent: affixapi.com ``` Before trusting the payload, you should sign the payload and verify the signature matches the signature sent by the `affixapi.com` service. This secures that the data sent to your `webhook_uri` is from the `affixapi.com` server. The signature is created by combining the signing secret (your `client_secret`) with the body of the request sent using a standard HMAC-SHA256 keyed hash. The signature can be created via: - create an `HMAC` with your `client_secret` - update the `HMAC` with the payload - get the hex digest -> this is the signature Sample `typescript` code that follows this recipe: ``` import { createHmac } from 'crypto'; export const computeSignature = ({ str, signingSecret, }: { signingSecret: string; str: string; }): string => { const hmac = createHmac('sha256', signingSecret); hmac.update(str); const signature = hmac.digest('hex'); return signature; }; ``` While verifying the Affix API signature header should be your primary method of confirming validity, you can also whitelist our outbound webhook static IP addresses. ``` dev: - 52.210.169.82 - 52.210.38.77 - 3.248.135.204 prod: - 52.51.160.102 - 54.220.83.244 - 3.254.213.171 ``` ## Rate limits Open endpoints (not gated by an API key) (applied at endpoint level): - 15 requests every 1 minute (by IP address) - 25 requests every 5 minutes (by IP address) Gated endpoints (require an API key) (applied at endpoint level): - 40 requests every 1 minute (by IP address) - 40 requests every 5 minutes (by `client_id`) Things to keep in mind: - Open endpoints (not gated by an API key) will likely be called by your users, not you, so rate limits generally would not apply to you. - As a developer, rate limits are applied at the endpoint granularity. - For example, say the rate limits below are 10 requests per minute by ip. from that same ip, within 1 minute, you get: - 10 requests per minute on `/orders`, - another 10 requests per minute on `/items`, - and another 10 requests per minute on `/identity`, - for a total of 30 requests per minute.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 2023-03-01
|
7
|
+
Contact: developers@affixapi.com
|
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 OpenapiClient
|
17
|
+
class PolicyTypeResponse
|
18
|
+
NULL = "null".freeze
|
19
|
+
VACATION = "vacation".freeze
|
20
|
+
SICK = "sick".freeze
|
21
|
+
PERSONAL = "personal".freeze
|
22
|
+
JURY_DUTY = "jury_duty".freeze
|
23
|
+
VOLUNTEER = "volunteer".freeze
|
24
|
+
BEREAVEMENT = "bereavement".freeze
|
25
|
+
|
26
|
+
# Builds the enum from string
|
27
|
+
# @param [String] The enum value in the form of the string
|
28
|
+
# @return [String] The enum value
|
29
|
+
def self.build_from_hash(value)
|
30
|
+
new.build_from_hash(value)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Builds the enum from string
|
34
|
+
# @param [String] The enum value in the form of the string
|
35
|
+
# @return [String] The enum value
|
36
|
+
def build_from_hash(value)
|
37
|
+
constantValues = PolicyTypeResponse.constants.select { |c| PolicyTypeResponse::const_get(c) == value }
|
38
|
+
raise "Invalid ENUM value #{value} for class #PolicyTypeResponse" if constantValues.empty?
|
39
|
+
value
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -19,12 +19,18 @@ module OpenapiClient
|
|
19
19
|
attr_accessor :employee_id
|
20
20
|
|
21
21
|
# the remote system-assigned id of the individual
|
22
|
-
attr_accessor :
|
22
|
+
attr_accessor :employee_remote_id
|
23
23
|
|
24
24
|
attr_accessor :balance
|
25
25
|
|
26
26
|
attr_accessor :used
|
27
27
|
|
28
|
+
# The Affix-assigned id of the policy
|
29
|
+
attr_accessor :policy_id
|
30
|
+
|
31
|
+
# The remote system-assigned id of the policy
|
32
|
+
attr_accessor :policy_remote_id
|
33
|
+
|
28
34
|
# The name of the policy, as assigned by the remote system
|
29
35
|
attr_accessor :policy_name
|
30
36
|
|
@@ -34,35 +40,15 @@ module OpenapiClient
|
|
34
40
|
|
35
41
|
attr_accessor :remote_modified_at
|
36
42
|
|
37
|
-
class EnumAttributeValidator
|
38
|
-
attr_reader :datatype
|
39
|
-
attr_reader :allowable_values
|
40
|
-
|
41
|
-
def initialize(datatype, allowable_values)
|
42
|
-
@allowable_values = allowable_values.map do |value|
|
43
|
-
case datatype.to_s
|
44
|
-
when /Integer/i
|
45
|
-
value.to_i
|
46
|
-
when /Float/i
|
47
|
-
value.to_f
|
48
|
-
else
|
49
|
-
value
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
|
54
|
-
def valid?(value)
|
55
|
-
!value || allowable_values.include?(value)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
43
|
# Attribute mapping from ruby-style variable name to JSON key.
|
60
44
|
def self.attribute_map
|
61
45
|
{
|
62
46
|
:'employee_id' => :'employee_id',
|
63
|
-
:'
|
47
|
+
:'employee_remote_id' => :'employee_remote_id',
|
64
48
|
:'balance' => :'balance',
|
65
49
|
:'used' => :'used',
|
50
|
+
:'policy_id' => :'policy_id',
|
51
|
+
:'policy_remote_id' => :'policy_remote_id',
|
66
52
|
:'policy_name' => :'policy_name',
|
67
53
|
:'policy_type' => :'policy_type',
|
68
54
|
:'remote_created_at' => :'remote_created_at',
|
@@ -79,11 +65,13 @@ module OpenapiClient
|
|
79
65
|
def self.openapi_types
|
80
66
|
{
|
81
67
|
:'employee_id' => :'String',
|
82
|
-
:'
|
68
|
+
:'employee_remote_id' => :'String',
|
83
69
|
:'balance' => :'Float',
|
84
70
|
:'used' => :'Float',
|
71
|
+
:'policy_id' => :'String',
|
72
|
+
:'policy_remote_id' => :'String',
|
85
73
|
:'policy_name' => :'String',
|
86
|
-
:'policy_type' => :'
|
74
|
+
:'policy_type' => :'PolicyTypeResponse',
|
87
75
|
:'remote_created_at' => :'Date',
|
88
76
|
:'remote_modified_at' => :'Date'
|
89
77
|
}
|
@@ -94,6 +82,8 @@ module OpenapiClient
|
|
94
82
|
Set.new([
|
95
83
|
:'balance',
|
96
84
|
:'used',
|
85
|
+
:'policy_id',
|
86
|
+
:'policy_remote_id',
|
97
87
|
:'policy_name',
|
98
88
|
:'policy_type',
|
99
89
|
:'remote_created_at',
|
@@ -120,8 +110,8 @@ module OpenapiClient
|
|
120
110
|
self.employee_id = attributes[:'employee_id']
|
121
111
|
end
|
122
112
|
|
123
|
-
if attributes.key?(:'
|
124
|
-
self.
|
113
|
+
if attributes.key?(:'employee_remote_id')
|
114
|
+
self.employee_remote_id = attributes[:'employee_remote_id']
|
125
115
|
end
|
126
116
|
|
127
117
|
if attributes.key?(:'balance')
|
@@ -132,6 +122,14 @@ module OpenapiClient
|
|
132
122
|
self.used = attributes[:'used']
|
133
123
|
end
|
134
124
|
|
125
|
+
if attributes.key?(:'policy_id')
|
126
|
+
self.policy_id = attributes[:'policy_id']
|
127
|
+
end
|
128
|
+
|
129
|
+
if attributes.key?(:'policy_remote_id')
|
130
|
+
self.policy_remote_id = attributes[:'policy_remote_id']
|
131
|
+
end
|
132
|
+
|
135
133
|
if attributes.key?(:'policy_name')
|
136
134
|
self.policy_name = attributes[:'policy_name']
|
137
135
|
end
|
@@ -157,8 +155,8 @@ module OpenapiClient
|
|
157
155
|
invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.')
|
158
156
|
end
|
159
157
|
|
160
|
-
if @
|
161
|
-
invalid_properties.push('invalid value for "
|
158
|
+
if @employee_remote_id.nil?
|
159
|
+
invalid_properties.push('invalid value for "employee_remote_id", employee_remote_id cannot be nil.')
|
162
160
|
end
|
163
161
|
|
164
162
|
invalid_properties
|
@@ -168,31 +166,21 @@ module OpenapiClient
|
|
168
166
|
# @return true if the model is valid
|
169
167
|
def valid?
|
170
168
|
return false if @employee_id.nil?
|
171
|
-
return false if @
|
172
|
-
policy_type_validator = EnumAttributeValidator.new('String', ["null", "vacation", "sick", "personal", "jury_duty", "volunteer", "bereavement"])
|
173
|
-
return false unless policy_type_validator.valid?(@policy_type)
|
169
|
+
return false if @employee_remote_id.nil?
|
174
170
|
true
|
175
171
|
end
|
176
172
|
|
177
|
-
# Custom attribute writer method checking allowed values (enum).
|
178
|
-
# @param [Object] policy_type Object to be assigned
|
179
|
-
def policy_type=(policy_type)
|
180
|
-
validator = EnumAttributeValidator.new('String', ["null", "vacation", "sick", "personal", "jury_duty", "volunteer", "bereavement"])
|
181
|
-
unless validator.valid?(policy_type)
|
182
|
-
fail ArgumentError, "invalid value for \"policy_type\", must be one of #{validator.allowable_values}."
|
183
|
-
end
|
184
|
-
@policy_type = policy_type
|
185
|
-
end
|
186
|
-
|
187
173
|
# Checks equality by comparing each attribute.
|
188
174
|
# @param [Object] Object to be compared
|
189
175
|
def ==(o)
|
190
176
|
return true if self.equal?(o)
|
191
177
|
self.class == o.class &&
|
192
178
|
employee_id == o.employee_id &&
|
193
|
-
|
179
|
+
employee_remote_id == o.employee_remote_id &&
|
194
180
|
balance == o.balance &&
|
195
181
|
used == o.used &&
|
182
|
+
policy_id == o.policy_id &&
|
183
|
+
policy_remote_id == o.policy_remote_id &&
|
196
184
|
policy_name == o.policy_name &&
|
197
185
|
policy_type == o.policy_type &&
|
198
186
|
remote_created_at == o.remote_created_at &&
|
@@ -208,7 +196,7 @@ module OpenapiClient
|
|
208
196
|
# Calculates hash code according to all attributes.
|
209
197
|
# @return [Integer] Hash code
|
210
198
|
def hash
|
211
|
-
[employee_id,
|
199
|
+
[employee_id, employee_remote_id, balance, used, policy_id, policy_remote_id, policy_name, policy_type, remote_created_at, remote_modified_at].hash
|
212
200
|
end
|
213
201
|
|
214
202
|
# Builds the object from hash
|
@@ -25,7 +25,7 @@ module OpenapiClient
|
|
25
25
|
attr_accessor :employee_id
|
26
26
|
|
27
27
|
# the remote system-assigned id of the individual
|
28
|
-
attr_accessor :
|
28
|
+
attr_accessor :employee_remote_id
|
29
29
|
|
30
30
|
attr_accessor :start_date
|
31
31
|
|
@@ -39,7 +39,16 @@ module OpenapiClient
|
|
39
39
|
|
40
40
|
attr_accessor :employee_note
|
41
41
|
|
42
|
-
|
42
|
+
# The Affix-assigned id of the policy
|
43
|
+
attr_accessor :policy_id
|
44
|
+
|
45
|
+
# The remote system-assigned id of the policy
|
46
|
+
attr_accessor :policy_remote_id
|
47
|
+
|
48
|
+
# The name of the policy, as assigned by the remote system
|
49
|
+
attr_accessor :policy_name
|
50
|
+
|
51
|
+
attr_accessor :policy_type
|
43
52
|
|
44
53
|
attr_accessor :remote_created_at
|
45
54
|
|
@@ -73,14 +82,17 @@ module OpenapiClient
|
|
73
82
|
:'id' => :'id',
|
74
83
|
:'remote_id' => :'remote_id',
|
75
84
|
:'employee_id' => :'employee_id',
|
76
|
-
:'
|
85
|
+
:'employee_remote_id' => :'employee_remote_id',
|
77
86
|
:'start_date' => :'start_date',
|
78
87
|
:'end_date' => :'end_date',
|
79
88
|
:'amount' => :'amount',
|
80
89
|
:'unit' => :'unit',
|
81
90
|
:'status' => :'status',
|
82
91
|
:'employee_note' => :'employee_note',
|
83
|
-
:'
|
92
|
+
:'policy_id' => :'policy_id',
|
93
|
+
:'policy_remote_id' => :'policy_remote_id',
|
94
|
+
:'policy_name' => :'policy_name',
|
95
|
+
:'policy_type' => :'policy_type',
|
84
96
|
:'remote_created_at' => :'remote_created_at',
|
85
97
|
:'remote_modified_at' => :'remote_modified_at'
|
86
98
|
}
|
@@ -97,14 +109,17 @@ module OpenapiClient
|
|
97
109
|
:'id' => :'String',
|
98
110
|
:'remote_id' => :'String',
|
99
111
|
:'employee_id' => :'String',
|
100
|
-
:'
|
112
|
+
:'employee_remote_id' => :'String',
|
101
113
|
:'start_date' => :'Date',
|
102
114
|
:'end_date' => :'Date',
|
103
115
|
:'amount' => :'Float',
|
104
116
|
:'unit' => :'String',
|
105
117
|
:'status' => :'String',
|
106
118
|
:'employee_note' => :'String',
|
107
|
-
:'
|
119
|
+
:'policy_id' => :'String',
|
120
|
+
:'policy_remote_id' => :'String',
|
121
|
+
:'policy_name' => :'String',
|
122
|
+
:'policy_type' => :'PolicyTypeResponse',
|
108
123
|
:'remote_created_at' => :'Date',
|
109
124
|
:'remote_modified_at' => :'Date'
|
110
125
|
}
|
@@ -117,7 +132,10 @@ module OpenapiClient
|
|
117
132
|
:'end_date',
|
118
133
|
:'status',
|
119
134
|
:'employee_note',
|
120
|
-
:'
|
135
|
+
:'policy_id',
|
136
|
+
:'policy_remote_id',
|
137
|
+
:'policy_name',
|
138
|
+
:'policy_type',
|
121
139
|
:'remote_created_at',
|
122
140
|
:'remote_modified_at'
|
123
141
|
])
|
@@ -150,8 +168,8 @@ module OpenapiClient
|
|
150
168
|
self.employee_id = attributes[:'employee_id']
|
151
169
|
end
|
152
170
|
|
153
|
-
if attributes.key?(:'
|
154
|
-
self.
|
171
|
+
if attributes.key?(:'employee_remote_id')
|
172
|
+
self.employee_remote_id = attributes[:'employee_remote_id']
|
155
173
|
end
|
156
174
|
|
157
175
|
if attributes.key?(:'start_date')
|
@@ -178,8 +196,20 @@ module OpenapiClient
|
|
178
196
|
self.employee_note = attributes[:'employee_note']
|
179
197
|
end
|
180
198
|
|
181
|
-
if attributes.key?(:'
|
182
|
-
self.
|
199
|
+
if attributes.key?(:'policy_id')
|
200
|
+
self.policy_id = attributes[:'policy_id']
|
201
|
+
end
|
202
|
+
|
203
|
+
if attributes.key?(:'policy_remote_id')
|
204
|
+
self.policy_remote_id = attributes[:'policy_remote_id']
|
205
|
+
end
|
206
|
+
|
207
|
+
if attributes.key?(:'policy_name')
|
208
|
+
self.policy_name = attributes[:'policy_name']
|
209
|
+
end
|
210
|
+
|
211
|
+
if attributes.key?(:'policy_type')
|
212
|
+
self.policy_type = attributes[:'policy_type']
|
183
213
|
end
|
184
214
|
|
185
215
|
if attributes.key?(:'remote_created_at')
|
@@ -207,8 +237,8 @@ module OpenapiClient
|
|
207
237
|
invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.')
|
208
238
|
end
|
209
239
|
|
210
|
-
if @
|
211
|
-
invalid_properties.push('invalid value for "
|
240
|
+
if @employee_remote_id.nil?
|
241
|
+
invalid_properties.push('invalid value for "employee_remote_id", employee_remote_id cannot be nil.')
|
212
242
|
end
|
213
243
|
|
214
244
|
if @amount.nil?
|
@@ -228,7 +258,7 @@ module OpenapiClient
|
|
228
258
|
return false if @id.nil?
|
229
259
|
return false if @remote_id.nil?
|
230
260
|
return false if @employee_id.nil?
|
231
|
-
return false if @
|
261
|
+
return false if @employee_remote_id.nil?
|
232
262
|
return false if @amount.nil?
|
233
263
|
return false if @unit.nil?
|
234
264
|
unit_validator = EnumAttributeValidator.new('String', ["null", "hours", "days", "months"])
|
@@ -276,14 +306,17 @@ module OpenapiClient
|
|
276
306
|
id == o.id &&
|
277
307
|
remote_id == o.remote_id &&
|
278
308
|
employee_id == o.employee_id &&
|
279
|
-
|
309
|
+
employee_remote_id == o.employee_remote_id &&
|
280
310
|
start_date == o.start_date &&
|
281
311
|
end_date == o.end_date &&
|
282
312
|
amount == o.amount &&
|
283
313
|
unit == o.unit &&
|
284
314
|
status == o.status &&
|
285
315
|
employee_note == o.employee_note &&
|
286
|
-
|
316
|
+
policy_id == o.policy_id &&
|
317
|
+
policy_remote_id == o.policy_remote_id &&
|
318
|
+
policy_name == o.policy_name &&
|
319
|
+
policy_type == o.policy_type &&
|
287
320
|
remote_created_at == o.remote_created_at &&
|
288
321
|
remote_modified_at == o.remote_modified_at
|
289
322
|
end
|
@@ -297,7 +330,7 @@ module OpenapiClient
|
|
297
330
|
# Calculates hash code according to all attributes.
|
298
331
|
# @return [Integer] Hash code
|
299
332
|
def hash
|
300
|
-
[id, remote_id, employee_id,
|
333
|
+
[id, remote_id, employee_id, employee_remote_id, start_date, end_date, amount, unit, status, employee_note, policy_id, policy_remote_id, policy_name, policy_type, remote_created_at, remote_modified_at].hash
|
301
334
|
end
|
302
335
|
|
303
336
|
# Builds the object from hash
|
@@ -25,7 +25,7 @@ module OpenapiClient
|
|
25
25
|
attr_accessor :employee_id
|
26
26
|
|
27
27
|
# the remote system-assigned id of the individual
|
28
|
-
attr_accessor :
|
28
|
+
attr_accessor :employee_remote_id
|
29
29
|
|
30
30
|
attr_accessor :start_time
|
31
31
|
|
@@ -43,7 +43,7 @@ module OpenapiClient
|
|
43
43
|
:'id' => :'id',
|
44
44
|
:'remote_id' => :'remote_id',
|
45
45
|
:'employee_id' => :'employee_id',
|
46
|
-
:'
|
46
|
+
:'employee_remote_id' => :'employee_remote_id',
|
47
47
|
:'start_time' => :'start_time',
|
48
48
|
:'end_time' => :'end_time',
|
49
49
|
:'hours_worked' => :'hours_worked',
|
@@ -63,7 +63,7 @@ module OpenapiClient
|
|
63
63
|
:'id' => :'String',
|
64
64
|
:'remote_id' => :'String',
|
65
65
|
:'employee_id' => :'String',
|
66
|
-
:'
|
66
|
+
:'employee_remote_id' => :'String',
|
67
67
|
:'start_time' => :'Time',
|
68
68
|
:'end_time' => :'Time',
|
69
69
|
:'hours_worked' => :'Float',
|
@@ -109,8 +109,8 @@ module OpenapiClient
|
|
109
109
|
self.employee_id = attributes[:'employee_id']
|
110
110
|
end
|
111
111
|
|
112
|
-
if attributes.key?(:'
|
113
|
-
self.
|
112
|
+
if attributes.key?(:'employee_remote_id')
|
113
|
+
self.employee_remote_id = attributes[:'employee_remote_id']
|
114
114
|
end
|
115
115
|
|
116
116
|
if attributes.key?(:'start_time')
|
@@ -150,8 +150,8 @@ module OpenapiClient
|
|
150
150
|
invalid_properties.push('invalid value for "employee_id", employee_id cannot be nil.')
|
151
151
|
end
|
152
152
|
|
153
|
-
if @
|
154
|
-
invalid_properties.push('invalid value for "
|
153
|
+
if @employee_remote_id.nil?
|
154
|
+
invalid_properties.push('invalid value for "employee_remote_id", employee_remote_id cannot be nil.')
|
155
155
|
end
|
156
156
|
|
157
157
|
if @hours_worked.nil?
|
@@ -167,7 +167,7 @@ module OpenapiClient
|
|
167
167
|
return false if @id.nil?
|
168
168
|
return false if @remote_id.nil?
|
169
169
|
return false if @employee_id.nil?
|
170
|
-
return false if @
|
170
|
+
return false if @employee_remote_id.nil?
|
171
171
|
return false if @hours_worked.nil?
|
172
172
|
true
|
173
173
|
end
|
@@ -190,7 +190,7 @@ module OpenapiClient
|
|
190
190
|
id == o.id &&
|
191
191
|
remote_id == o.remote_id &&
|
192
192
|
employee_id == o.employee_id &&
|
193
|
-
|
193
|
+
employee_remote_id == o.employee_remote_id &&
|
194
194
|
start_time == o.start_time &&
|
195
195
|
end_time == o.end_time &&
|
196
196
|
hours_worked == o.hours_worked &&
|
@@ -207,7 +207,7 @@ module OpenapiClient
|
|
207
207
|
# Calculates hash code according to all attributes.
|
208
208
|
# @return [Integer] Hash code
|
209
209
|
def hash
|
210
|
-
[id, remote_id, employee_id,
|
210
|
+
[id, remote_id, employee_id, employee_remote_id, start_time, end_time, hours_worked, remote_created_at, remote_modified_at].hash
|
211
211
|
end
|
212
212
|
|
213
213
|
# Builds the object from hash
|
data/lib/openapi_client.rb
CHANGED
@@ -56,6 +56,7 @@ require 'openapi_client/models/payslip_response_contributions'
|
|
56
56
|
require 'openapi_client/models/payslip_response_deductions'
|
57
57
|
require 'openapi_client/models/payslip_response_earnings'
|
58
58
|
require 'openapi_client/models/payslip_response_taxes'
|
59
|
+
require 'openapi_client/models/policy_type_response'
|
59
60
|
require 'openapi_client/models/provider_request'
|
60
61
|
require 'openapi_client/models/provider_response'
|
61
62
|
require 'openapi_client/models/scopes_request'
|
@@ -46,7 +46,7 @@ describe OpenapiClient::AddressNoNonNullRequest do
|
|
46
46
|
describe 'test attribute "country"' do
|
47
47
|
it 'should work' do
|
48
48
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
49
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["CA", "
|
49
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["BZ", "CA", "CR", "GT", "MX", "PA", "SV", "US", "AR", "BR", "CL", "PE", "AT", "AU", "BE", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GB", "GR", "IE", "IM", "IS", "IT", "LI", "LT", "LU", "LV", "NL", "NO", "PH", "PL", "RO", "RU", "SE", "SK", "CN", "HK", "ID", "IL", "IN", "JP", "KR", "MO", "MY", "PH", "PS", "SG", "TH", "TR", "TW", "VN", "ZA", "AU", "NZ"])
|
50
50
|
# validator.allowable_values.each do |value|
|
51
51
|
# expect { instance.country = value }.not_to raise_error
|
52
52
|
# end
|
@@ -46,7 +46,7 @@ describe OpenapiClient::AddressResponse do
|
|
46
46
|
describe 'test attribute "country"' do
|
47
47
|
it 'should work' do
|
48
48
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
49
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["null", "CA", "
|
49
|
+
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["null", "BZ", "CA", "CR", "GT", "MX", "PA", "SV", "US", "AR", "BR", "CL", "PE", "AT", "AU", "BE", "CH", "CY", "CZ", "DE", "DK", "EE", "ES", "FI", "FR", "GB", "GR", "IE", "IM", "IS", "IT", "LI", "LT", "LU", "LV", "NL", "NO", "PH", "PL", "RO", "RU", "SE", "SK", "CN", "HK", "ID", "IL", "IN", "JP", "KR", "MO", "MY", "PH", "PS", "SG", "TH", "TR", "TW", "VN", "ZA", "AU", "NZ"])
|
50
50
|
# validator.allowable_values.each do |value|
|
51
51
|
# expect { instance.country = value }.not_to raise_error
|
52
52
|
# end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
=begin
|
2
|
+
#Affix API
|
3
|
+
|
4
|
+
#The affixapi.com API documentation. # Introduction Affix API is an OAuth 2.1 application that allows developers to access customer data, without developers needing to manage or maintain integrations; or collect login credentials or API keys from users for these third party systems. # OAuth 2.1 Affix API follows the [OAuth 2.1 spec](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-08). As an OAuth application, Affix API handles not only both the collection of sensitive user credentials or API keys, but also builds and maintains the integrations with the providers, so you don't have to. # How to obtain an access token in order to get started, you must: - register a `client_id` - direct your user to the sign in flow (`https://connect.affixapi.com` [with the appropriate query parameters](https://github.com/affixapi/starter-kit/tree/master/connect)) - capture `authorization_code` we will send to your redirect URI after the sign in flow is complete and exchange that `authorization_code` for a Bearer token # Sandbox keys (xhr mode) ### dev ``` eyJhbGciOiJFUzI1NiIsImtpZCI6Ims5RmxwSFR1YklmZWNsUU5QRVZzeFcxazFZZ0Zfbk1BWllOSGVuOFQxdGciLCJ0eXAiOiJKV1MifQ.eyJwcm92aWRlciI6InNhbmRib3giLCJzY29wZXMiOlsiLzIwMjMtMDMtMDEveGhyL2NvbXBhbnkiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWUiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWVzIiwiLzIwMjMtMDMtMDEveGhyL2dyb3VwcyIsIi8yMDIzLTAzLTAxL3hoci9pZGVudGl0eSIsIi8yMDIzLTAzLTAxL3hoci9wYXlydW5zIiwiLzIwMjMtMDMtMDEveGhyL3BheXJ1bnMvOnBheXJ1bl9pZCIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1iYWxhbmNlcyIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1lbnRyaWVzIiwiLzIwMjMtMDMtMDEveGhyL3RpbWVzaGVldHMiLCIvMjAyMy0wMy0wMS94aHIvd29yay1sb2NhdGlvbnMiXSwidG9rZW4iOiIzODIzNTNlMi05N2ZiLTRmMWEtOTYxYy0zZDI5OTViNzYxMTUiLCJpYXQiOjE3MTE4MTA3MTQsImlzcyI6InB1YmxpY2FwaS1pbnRlcm1lZGlhdGUuZGV2LmVuZ2luZWVyaW5nLmFmZml4YXBpLmNvbSIsInN1YiI6InhociIsImF1ZCI6IjNGREFFREY5LTFEQ0E0RjU0LTg3OTQ5RjZBLTQxMDI3NjQzIn0.zUJPaT6IxcIdr8b9iO6u-Rr5I-ohTHPYTrQGrgOFghbEbovItiwr9Wk479GnJVJc3WR8bxAwUMAE4Ul6Okdk6Q ``` #### `employees` endpoint sample: ``` curl --fail \\ -X GET \\ -H 'Authorization: Bearer eyJhbGciOiJFUzI1NiIsImtpZCI6Ims5RmxwSFR1YklmZWNsUU5QRVZzeFcxazFZZ0Zfbk1BWllOSGVuOFQxdGciLCJ0eXAiOiJKV1MifQ.eyJwcm92aWRlciI6InNhbmRib3giLCJzY29wZXMiOlsiLzIwMjMtMDMtMDEveGhyL2NvbXBhbnkiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWUiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWVzIiwiLzIwMjMtMDMtMDEveGhyL2dyb3VwcyIsIi8yMDIzLTAzLTAxL3hoci9pZGVudGl0eSIsIi8yMDIzLTAzLTAxL3hoci9wYXlydW5zIiwiLzIwMjMtMDMtMDEveGhyL3BheXJ1bnMvOnBheXJ1bl9pZCIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1iYWxhbmNlcyIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1lbnRyaWVzIiwiLzIwMjMtMDMtMDEveGhyL3RpbWVzaGVldHMiLCIvMjAyMy0wMy0wMS94aHIvd29yay1sb2NhdGlvbnMiXSwidG9rZW4iOiIzODIzNTNlMi05N2ZiLTRmMWEtOTYxYy0zZDI5OTViNzYxMTUiLCJpYXQiOjE3MTE4MTA3MTQsImlzcyI6InB1YmxpY2FwaS1pbnRlcm1lZGlhdGUuZGV2LmVuZ2luZWVyaW5nLmFmZml4YXBpLmNvbSIsInN1YiI6InhociIsImF1ZCI6IjNGREFFREY5LTFEQ0E0RjU0LTg3OTQ5RjZBLTQxMDI3NjQzIn0.zUJPaT6IxcIdr8b9iO6u-Rr5I-ohTHPYTrQGrgOFghbEbovItiwr9Wk479GnJVJc3WR8bxAwUMAE4Ul6Okdk6Q' \\ 'https://dev.api.affixapi.com/2023-03-01/xhr/employees' ``` ### prod ``` eyJhbGciOiJFUzI1NiIsImtpZCI6Ims5RmxwSFR1YklmZWNsUU5QRVZzeFcxazFZZ0Zfbk1BWllOSGVuOFQxdGciLCJ0eXAiOiJKV1MifQ.eyJwcm92aWRlciI6InNhbmRib3giLCJzY29wZXMiOlsiLzIwMjMtMDMtMDEveGhyL2NvbXBhbnkiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWUiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWVzIiwiLzIwMjMtMDMtMDEveGhyL2dyb3VwcyIsIi8yMDIzLTAzLTAxL3hoci9pZGVudGl0eSIsIi8yMDIzLTAzLTAxL3hoci9wYXlydW5zIiwiLzIwMjMtMDMtMDEveGhyL3BheXJ1bnMvOnBheXJ1bl9pZCIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1iYWxhbmNlcyIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1lbnRyaWVzIiwiLzIwMjMtMDMtMDEveGhyL3RpbWVzaGVldHMiLCIvMjAyMy0wMy0wMS94aHIvd29yay1sb2NhdGlvbnMiXSwidG9rZW4iOiIzYjg4MDc2NC1kMGFmLTQ5ZDAtOGM5OS00YzIwYjE2MTJjOTMiLCJpYXQiOjE3MTE4MTA4NTgsImlzcyI6InB1YmxpY2FwaS1pbnRlcm1lZGlhdGUucHJvZC5lbmdpbmVlcmluZy5hZmZpeGFwaS5jb20iLCJzdWIiOiJ4aHIiLCJhdWQiOiIwOEJCMDgxRS1EOUFCNEQxNC04REY5OTIzMy02NjYxNUNFOSJ9.n3pJmmfegU21Tko_TyUyCHi4ITvfd75T8NFFTHmf1r8AI8yCUYTWdfNjyZZWcZD6z50I3Wsk2rAd8GDWXn4vlg ``` #### `employees` endpoint sample: ``` curl --fail \\ -X GET \\ -H 'Authorization: Bearer eyJhbGciOiJFUzI1NiIsImtpZCI6Ims5RmxwSFR1YklmZWNsUU5QRVZzeFcxazFZZ0Zfbk1BWllOSGVuOFQxdGciLCJ0eXAiOiJKV1MifQ.eyJwcm92aWRlciI6InNhbmRib3giLCJzY29wZXMiOlsiLzIwMjMtMDMtMDEveGhyL2NvbXBhbnkiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWUiLCIvMjAyMy0wMy0wMS94aHIvZW1wbG95ZWVzIiwiLzIwMjMtMDMtMDEveGhyL2dyb3VwcyIsIi8yMDIzLTAzLTAxL3hoci9pZGVudGl0eSIsIi8yMDIzLTAzLTAxL3hoci9wYXlydW5zIiwiLzIwMjMtMDMtMDEveGhyL3BheXJ1bnMvOnBheXJ1bl9pZCIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1iYWxhbmNlcyIsIi8yMDIzLTAzLTAxL3hoci90aW1lLW9mZi1lbnRyaWVzIiwiLzIwMjMtMDMtMDEveGhyL3RpbWVzaGVldHMiLCIvMjAyMy0wMy0wMS94aHIvd29yay1sb2NhdGlvbnMiXSwidG9rZW4iOiIzYjg4MDc2NC1kMGFmLTQ5ZDAtOGM5OS00YzIwYjE2MTJjOTMiLCJpYXQiOjE3MTE4MTA4NTgsImlzcyI6InB1YmxpY2FwaS1pbnRlcm1lZGlhdGUucHJvZC5lbmdpbmVlcmluZy5hZmZpeGFwaS5jb20iLCJzdWIiOiJ4aHIiLCJhdWQiOiIwOEJCMDgxRS1EOUFCNEQxNC04REY5OTIzMy02NjYxNUNFOSJ9.n3pJmmfegU21Tko_TyUyCHi4ITvfd75T8NFFTHmf1r8AI8yCUYTWdfNjyZZWcZD6z50I3Wsk2rAd8GDWXn4vlg' \\ 'https://api.affixapi.com/2023-03-01/xhr/employees' ``` # Compression We support `brotli`, `gzip`, and `deflate` compression algorithms. To enable, pass the `Accept-Encoding` header with one or all of the values: `br`, `gzip`, `deflate`, or `identity` (no compression) In the response, you will receive the `Content-Encoding` response header indicating the compression algorithm used in the data payload to enable you to decompress the result. If the `Accept-Encoding: identity` header was passed, no `Content-Encoding` response header is sent back, as no compression algorithm was used. # Webhooks An exciting feature for HR/Payroll modes are webhooks. If enabled, your `webhook_uri` is set on your `client_id` for the respective environment: `dev | prod` Webhooks are configured to make live requests to the underlying integration 1x/hr, and if a difference is detected since the last request, we will send a request to your `webhook_uri` with this shape: ``` { added: <api.v20230301.Employees>[ <api.v20230301.Employee>{ ..., date_of_birth: '2010-08-06', display_full_name: 'Daija Rogahn', employee_number: '57993', employment_status: 'pending', employment_type: 'other', employments: [ { currency: 'eur', effective_date: '2022-02-25', employment_type: 'other', job_title: 'Dynamic Implementation Manager', pay_frequency: 'semimonthly', pay_period: 'YEAR', pay_rate: 96000, }, ], first_name: 'Daija', ... } ], removed: [], updated: [ <api.v20230301.Employee>{ ..., date_of_birth: '2009-11-09', display_full_name: 'Lourdes Stiedemann', employee_number: '63189', employment_status: 'leave', employment_type: 'full_time', employments: [ { currency: 'gbp', effective_date: '2023-01-16', employment_type: 'full_time', job_title: 'Forward Brand Planner', pay_frequency: 'semimonthly', pay_period: 'YEAR', pay_rate: 86000, }, ], first_name: 'Lourdes', } ] } ``` the following headers will be sent with webhook requests: ``` x-affix-api-signature: ab8474e609db95d5df3adc39ea3add7a7544bd215c5c520a30a650ae93a2fba7 x-affix-api-origin: webhooks-employees-webhook user-agent: affixapi.com ``` Before trusting the payload, you should sign the payload and verify the signature matches the signature sent by the `affixapi.com` service. This secures that the data sent to your `webhook_uri` is from the `affixapi.com` server. The signature is created by combining the signing secret (your `client_secret`) with the body of the request sent using a standard HMAC-SHA256 keyed hash. The signature can be created via: - create an `HMAC` with your `client_secret` - update the `HMAC` with the payload - get the hex digest -> this is the signature Sample `typescript` code that follows this recipe: ``` import { createHmac } from 'crypto'; export const computeSignature = ({ str, signingSecret, }: { signingSecret: string; str: string; }): string => { const hmac = createHmac('sha256', signingSecret); hmac.update(str); const signature = hmac.digest('hex'); return signature; }; ``` While verifying the Affix API signature header should be your primary method of confirming validity, you can also whitelist our outbound webhook static IP addresses. ``` dev: - 52.210.169.82 - 52.210.38.77 - 3.248.135.204 prod: - 52.51.160.102 - 54.220.83.244 - 3.254.213.171 ``` ## Rate limits Open endpoints (not gated by an API key) (applied at endpoint level): - 15 requests every 1 minute (by IP address) - 25 requests every 5 minutes (by IP address) Gated endpoints (require an API key) (applied at endpoint level): - 40 requests every 1 minute (by IP address) - 40 requests every 5 minutes (by `client_id`) Things to keep in mind: - Open endpoints (not gated by an API key) will likely be called by your users, not you, so rate limits generally would not apply to you. - As a developer, rate limits are applied at the endpoint granularity. - For example, say the rate limits below are 10 requests per minute by ip. from that same ip, within 1 minute, you get: - 10 requests per minute on `/orders`, - another 10 requests per minute on `/items`, - and another 10 requests per minute on `/identity`, - for a total of 30 requests per minute.
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 2023-03-01
|
7
|
+
Contact: developers@affixapi.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
OpenAPI Generator version: 5.1.1
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'spec_helper'
|
14
|
+
require 'json'
|
15
|
+
require 'date'
|
16
|
+
|
17
|
+
# Unit tests for OpenapiClient::PolicyTypeResponse
|
18
|
+
# Automatically generated by openapi-generator (https://openapi-generator.tech)
|
19
|
+
# Please update as you see appropriate
|
20
|
+
describe OpenapiClient::PolicyTypeResponse do
|
21
|
+
let(:instance) { OpenapiClient::PolicyTypeResponse.new }
|
22
|
+
|
23
|
+
describe 'test an instance of PolicyTypeResponse' do
|
24
|
+
it 'should create an instance of PolicyTypeResponse' do
|
25
|
+
expect(instance).to be_instance_of(OpenapiClient::PolicyTypeResponse)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -31,7 +31,7 @@ describe OpenapiClient::TimeOffBalanceResponse do
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
describe 'test attribute "
|
34
|
+
describe 'test attribute "employee_remote_id"' do
|
35
35
|
it 'should work' do
|
36
36
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
37
37
|
end
|
@@ -49,6 +49,18 @@ describe OpenapiClient::TimeOffBalanceResponse do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
describe 'test attribute "policy_id"' do
|
53
|
+
it 'should work' do
|
54
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe 'test attribute "policy_remote_id"' do
|
59
|
+
it 'should work' do
|
60
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
52
64
|
describe 'test attribute "policy_name"' do
|
53
65
|
it 'should work' do
|
54
66
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
@@ -58,10 +70,6 @@ describe OpenapiClient::TimeOffBalanceResponse do
|
|
58
70
|
describe 'test attribute "policy_type"' do
|
59
71
|
it 'should work' do
|
60
72
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
61
|
-
# validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["null", "vacation", "sick", "personal", "jury_duty", "volunteer", "bereavement"])
|
62
|
-
# validator.allowable_values.each do |value|
|
63
|
-
# expect { instance.policy_type = value }.not_to raise_error
|
64
|
-
# end
|
65
73
|
end
|
66
74
|
end
|
67
75
|
|
@@ -43,7 +43,7 @@ describe OpenapiClient::TimeOffEntryResponse do
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
describe 'test attribute "
|
46
|
+
describe 'test attribute "employee_remote_id"' do
|
47
47
|
it 'should work' do
|
48
48
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
49
49
|
end
|
@@ -93,7 +93,25 @@ describe OpenapiClient::TimeOffEntryResponse do
|
|
93
93
|
end
|
94
94
|
end
|
95
95
|
|
96
|
-
describe 'test attribute "
|
96
|
+
describe 'test attribute "policy_id"' do
|
97
|
+
it 'should work' do
|
98
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
describe 'test attribute "policy_remote_id"' do
|
103
|
+
it 'should work' do
|
104
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
describe 'test attribute "policy_name"' do
|
109
|
+
it 'should work' do
|
110
|
+
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe 'test attribute "policy_type"' do
|
97
115
|
it 'should work' do
|
98
116
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
99
117
|
end
|
@@ -43,7 +43,7 @@ describe OpenapiClient::TimesheetResponse do
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
describe 'test attribute "
|
46
|
+
describe 'test attribute "employee_remote_id"' do
|
47
47
|
it 'should work' do
|
48
48
|
# assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
|
49
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: affixapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.67
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenAPI-Generator
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|
@@ -164,6 +164,7 @@ files:
|
|
164
164
|
- docs/PayslipResponseDeductions.md
|
165
165
|
- docs/PayslipResponseEarnings.md
|
166
166
|
- docs/PayslipResponseTaxes.md
|
167
|
+
- docs/PolicyTypeResponse.md
|
167
168
|
- docs/ProviderRequest.md
|
168
169
|
- docs/ProviderResponse.md
|
169
170
|
- docs/ScopesRequest.md
|
@@ -222,6 +223,7 @@ files:
|
|
222
223
|
- lib/openapi_client/models/payslip_response_deductions.rb
|
223
224
|
- lib/openapi_client/models/payslip_response_earnings.rb
|
224
225
|
- lib/openapi_client/models/payslip_response_taxes.rb
|
226
|
+
- lib/openapi_client/models/policy_type_response.rb
|
225
227
|
- lib/openapi_client/models/provider_request.rb
|
226
228
|
- lib/openapi_client/models/provider_response.rb
|
227
229
|
- lib/openapi_client/models/scopes_request.rb
|
@@ -277,6 +279,7 @@ files:
|
|
277
279
|
- spec/models/payslip_response_earnings_spec.rb
|
278
280
|
- spec/models/payslip_response_spec.rb
|
279
281
|
- spec/models/payslip_response_taxes_spec.rb
|
282
|
+
- spec/models/policy_type_response_spec.rb
|
280
283
|
- spec/models/provider_request_spec.rb
|
281
284
|
- spec/models/provider_response_spec.rb
|
282
285
|
- spec/models/scopes_request_spec.rb
|
@@ -2799,6 +2802,7 @@ test_files:
|
|
2799
2802
|
- spec/models/payslip_response_earnings_spec.rb
|
2800
2803
|
- spec/models/inline_response400_spec.rb
|
2801
2804
|
- spec/models/token_response_spec.rb
|
2805
|
+
- spec/models/policy_type_response_spec.rb
|
2802
2806
|
- spec/models/identity_response_spec.rb
|
2803
2807
|
- spec/models/provider_response_spec.rb
|
2804
2808
|
- spec/models/client_request_spec.rb
|