vitable-connect 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +39 -0
- data/README.md +267 -0
- data/SECURITY.md +27 -0
- data/lib/vitable_connect/client.rb +118 -0
- data/lib/vitable_connect/errors.rb +228 -0
- data/lib/vitable_connect/file_part.rb +58 -0
- data/lib/vitable_connect/internal/page_number_page.rb +113 -0
- data/lib/vitable_connect/internal/transport/base_client.rb +577 -0
- data/lib/vitable_connect/internal/transport/pooled_net_requester.rb +210 -0
- data/lib/vitable_connect/internal/type/array_of.rb +168 -0
- data/lib/vitable_connect/internal/type/base_model.rb +534 -0
- data/lib/vitable_connect/internal/type/base_page.rb +55 -0
- data/lib/vitable_connect/internal/type/boolean.rb +77 -0
- data/lib/vitable_connect/internal/type/converter.rb +327 -0
- data/lib/vitable_connect/internal/type/enum.rb +152 -0
- data/lib/vitable_connect/internal/type/file_input.rb +111 -0
- data/lib/vitable_connect/internal/type/hash_of.rb +188 -0
- data/lib/vitable_connect/internal/type/request_parameters.rb +42 -0
- data/lib/vitable_connect/internal/type/union.rb +245 -0
- data/lib/vitable_connect/internal/type/unknown.rb +81 -0
- data/lib/vitable_connect/internal/util.rb +951 -0
- data/lib/vitable_connect/internal.rb +20 -0
- data/lib/vitable_connect/models/auth_issue_access_token_params.rb +68 -0
- data/lib/vitable_connect/models/auth_issue_access_token_response.rb +70 -0
- data/lib/vitable_connect/models/benefit_eligibility_policy.rb +53 -0
- data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +18 -0
- data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +22 -0
- data/lib/vitable_connect/models/employee.rb +244 -0
- data/lib/vitable_connect/models/employee_class.rb +25 -0
- data/lib/vitable_connect/models/employee_list_enrollments_params.rb +38 -0
- data/lib/vitable_connect/models/employee_retrieve_params.rb +22 -0
- data/lib/vitable_connect/models/employee_retrieve_response.rb +18 -0
- data/lib/vitable_connect/models/employer.rb +163 -0
- data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +43 -0
- data/lib/vitable_connect/models/employer_create_params.rb +115 -0
- data/lib/vitable_connect/models/employer_list_employees_params.rb +38 -0
- data/lib/vitable_connect/models/employer_list_params.rb +30 -0
- data/lib/vitable_connect/models/employer_response.rb +19 -0
- data/lib/vitable_connect/models/employer_retrieve_params.rb +22 -0
- data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +374 -0
- data/lib/vitable_connect/models/employer_submit_census_sync_response.rb +35 -0
- data/lib/vitable_connect/models/enrollment.rb +234 -0
- data/lib/vitable_connect/models/enrollment_retrieve_params.rb +22 -0
- data/lib/vitable_connect/models/enrollment_retrieve_response.rb +18 -0
- data/lib/vitable_connect/models/enrollment_status.rb +21 -0
- data/lib/vitable_connect/models/pagination.rb +42 -0
- data/lib/vitable_connect/models/type.rb +17 -0
- data/lib/vitable_connect/models/webhook_event.rb +62 -0
- data/lib/vitable_connect/models/webhook_event_list_deliveries_params.rb +20 -0
- data/lib/vitable_connect/models/webhook_event_list_deliveries_response.rb +92 -0
- data/lib/vitable_connect/models/webhook_event_list_params.rb +135 -0
- data/lib/vitable_connect/models/webhook_event_retrieve_params.rb +20 -0
- data/lib/vitable_connect/models/webhook_event_retrieve_response.rb +18 -0
- data/lib/vitable_connect/models.rb +95 -0
- data/lib/vitable_connect/request_options.rb +78 -0
- data/lib/vitable_connect/resources/auth.rb +41 -0
- data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +35 -0
- data/lib/vitable_connect/resources/employees.rb +63 -0
- data/lib/vitable_connect/resources/employers.rb +184 -0
- data/lib/vitable_connect/resources/enrollments.rb +35 -0
- data/lib/vitable_connect/resources/webhook_events.rb +95 -0
- data/lib/vitable_connect/version.rb +5 -0
- data/lib/vitable_connect.rb +93 -0
- data/manifest.yaml +17 -0
- data/rbi/vitable_connect/client.rbi +88 -0
- data/rbi/vitable_connect/errors.rbi +205 -0
- data/rbi/vitable_connect/file_part.rbi +37 -0
- data/rbi/vitable_connect/internal/page_number_page.rbi +49 -0
- data/rbi/vitable_connect/internal/transport/base_client.rbi +307 -0
- data/rbi/vitable_connect/internal/transport/pooled_net_requester.rbi +84 -0
- data/rbi/vitable_connect/internal/type/array_of.rbi +108 -0
- data/rbi/vitable_connect/internal/type/base_model.rbi +314 -0
- data/rbi/vitable_connect/internal/type/base_page.rbi +43 -0
- data/rbi/vitable_connect/internal/type/boolean.rbi +58 -0
- data/rbi/vitable_connect/internal/type/converter.rbi +225 -0
- data/rbi/vitable_connect/internal/type/enum.rbi +82 -0
- data/rbi/vitable_connect/internal/type/file_input.rbi +59 -0
- data/rbi/vitable_connect/internal/type/hash_of.rbi +108 -0
- data/rbi/vitable_connect/internal/type/request_parameters.rbi +31 -0
- data/rbi/vitable_connect/internal/type/union.rbi +130 -0
- data/rbi/vitable_connect/internal/type/unknown.rbi +58 -0
- data/rbi/vitable_connect/internal/util.rbi +507 -0
- data/rbi/vitable_connect/internal.rbi +18 -0
- data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +147 -0
- data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +128 -0
- data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +74 -0
- data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +38 -0
- data/rbi/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbi +43 -0
- data/rbi/vitable_connect/models/employee.rbi +316 -0
- data/rbi/vitable_connect/models/employee_class.rbi +38 -0
- data/rbi/vitable_connect/models/employee_list_enrollments_params.rbi +68 -0
- data/rbi/vitable_connect/models/employee_retrieve_params.rbi +46 -0
- data/rbi/vitable_connect/models/employee_retrieve_response.rbi +32 -0
- data/rbi/vitable_connect/models/employer.rbi +205 -0
- data/rbi/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbi +64 -0
- data/rbi/vitable_connect/models/employer_create_params.rbi +169 -0
- data/rbi/vitable_connect/models/employer_list_employees_params.rbi +68 -0
- data/rbi/vitable_connect/models/employer_list_params.rbi +60 -0
- data/rbi/vitable_connect/models/employer_response.rbi +36 -0
- data/rbi/vitable_connect/models/employer_retrieve_params.rbi +46 -0
- data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +819 -0
- data/rbi/vitable_connect/models/employer_submit_census_sync_response.rbi +76 -0
- data/rbi/vitable_connect/models/enrollment.rbi +401 -0
- data/rbi/vitable_connect/models/enrollment_retrieve_params.rbi +46 -0
- data/rbi/vitable_connect/models/enrollment_retrieve_response.rbi +34 -0
- data/rbi/vitable_connect/models/enrollment_status.rbi +32 -0
- data/rbi/vitable_connect/models/pagination.rbi +62 -0
- data/rbi/vitable_connect/models/type.rbi +21 -0
- data/rbi/vitable_connect/models/webhook_event.rbi +81 -0
- data/rbi/vitable_connect/models/webhook_event_list_deliveries_params.rbi +38 -0
- data/rbi/vitable_connect/models/webhook_event_list_deliveries_response.rbi +147 -0
- data/rbi/vitable_connect/models/webhook_event_list_params.rbi +307 -0
- data/rbi/vitable_connect/models/webhook_event_retrieve_params.rbi +38 -0
- data/rbi/vitable_connect/models/webhook_event_retrieve_response.rbi +34 -0
- data/rbi/vitable_connect/models.rbi +62 -0
- data/rbi/vitable_connect/request_options.rbi +61 -0
- data/rbi/vitable_connect/resources/auth.rbi +36 -0
- data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +27 -0
- data/rbi/vitable_connect/resources/employees.rbi +49 -0
- data/rbi/vitable_connect/resources/employers.rbi +147 -0
- data/rbi/vitable_connect/resources/enrollments.rbi +27 -0
- data/rbi/vitable_connect/resources/webhook_events.rbi +84 -0
- data/rbi/vitable_connect/version.rbi +5 -0
- data/sig/vitable_connect/client.rbs +42 -0
- data/sig/vitable_connect/errors.rbs +117 -0
- data/sig/vitable_connect/file_part.rbs +21 -0
- data/sig/vitable_connect/internal/page_number_page.rbs +28 -0
- data/sig/vitable_connect/internal/transport/base_client.rbs +133 -0
- data/sig/vitable_connect/internal/transport/pooled_net_requester.rbs +48 -0
- data/sig/vitable_connect/internal/type/array_of.rbs +48 -0
- data/sig/vitable_connect/internal/type/base_model.rbs +104 -0
- data/sig/vitable_connect/internal/type/base_page.rbs +24 -0
- data/sig/vitable_connect/internal/type/boolean.rbs +26 -0
- data/sig/vitable_connect/internal/type/converter.rbs +79 -0
- data/sig/vitable_connect/internal/type/enum.rbs +32 -0
- data/sig/vitable_connect/internal/type/file_input.rbs +25 -0
- data/sig/vitable_connect/internal/type/hash_of.rbs +48 -0
- data/sig/vitable_connect/internal/type/request_parameters.rbs +20 -0
- data/sig/vitable_connect/internal/type/union.rbs +52 -0
- data/sig/vitable_connect/internal/type/unknown.rbs +26 -0
- data/sig/vitable_connect/internal/util.rbs +195 -0
- data/sig/vitable_connect/internal.rbs +10 -0
- data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +56 -0
- data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +50 -0
- data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +50 -0
- data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +14 -0
- data/sig/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbs +23 -0
- data/sig/vitable_connect/models/employee.rbs +169 -0
- data/sig/vitable_connect/models/employee_class.rbs +24 -0
- data/sig/vitable_connect/models/employee_list_enrollments_params.rbs +36 -0
- data/sig/vitable_connect/models/employee_retrieve_params.rbs +24 -0
- data/sig/vitable_connect/models/employee_retrieve_response.rbs +13 -0
- data/sig/vitable_connect/models/employer.rbs +117 -0
- data/sig/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbs +32 -0
- data/sig/vitable_connect/models/employer_create_params.rbs +93 -0
- data/sig/vitable_connect/models/employer_list_employees_params.rbs +36 -0
- data/sig/vitable_connect/models/employer_list_params.rbs +32 -0
- data/sig/vitable_connect/models/employer_response.rbs +13 -0
- data/sig/vitable_connect/models/employer_retrieve_params.rbs +24 -0
- data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +274 -0
- data/sig/vitable_connect/models/employer_submit_census_sync_response.rbs +30 -0
- data/sig/vitable_connect/models/enrollment.rbs +164 -0
- data/sig/vitable_connect/models/enrollment_retrieve_params.rbs +24 -0
- data/sig/vitable_connect/models/enrollment_retrieve_response.rbs +13 -0
- data/sig/vitable_connect/models/enrollment_status.rbs +16 -0
- data/sig/vitable_connect/models/pagination.rbs +30 -0
- data/sig/vitable_connect/models/type.rbs +14 -0
- data/sig/vitable_connect/models/webhook_event.rbs +45 -0
- data/sig/vitable_connect/models/webhook_event_list_deliveries_params.rbs +23 -0
- data/sig/vitable_connect/models/webhook_event_list_deliveries_response.rbs +77 -0
- data/sig/vitable_connect/models/webhook_event_list_params.rbs +126 -0
- data/sig/vitable_connect/models/webhook_event_retrieve_params.rbs +23 -0
- data/sig/vitable_connect/models/webhook_event_retrieve_response.rbs +14 -0
- data/sig/vitable_connect/models.rbs +51 -0
- data/sig/vitable_connect/request_options.rbs +36 -0
- data/sig/vitable_connect/resources/auth.rbs +13 -0
- data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +12 -0
- data/sig/vitable_connect/resources/employees.rbs +19 -0
- data/sig/vitable_connect/resources/employers.rbs +49 -0
- data/sig/vitable_connect/resources/enrollments.rbs +12 -0
- data/sig/vitable_connect/resources/webhook_events.rbs +28 -0
- data/sig/vitable_connect/version.rbs +3 -0
- metadata +256 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployeeRetrieveParams < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
extend VitableConnect::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include VitableConnect::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
VitableConnect::EmployeeRetrieveParams,
|
|
13
|
+
VitableConnect::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Unique employee identifier (empl\_\*)
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :employee_id
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
params(
|
|
23
|
+
employee_id: String,
|
|
24
|
+
request_options: VitableConnect::RequestOptions::OrHash
|
|
25
|
+
).returns(T.attached_class)
|
|
26
|
+
end
|
|
27
|
+
def self.new(
|
|
28
|
+
# Unique employee identifier (empl\_\*)
|
|
29
|
+
employee_id:,
|
|
30
|
+
request_options: {}
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
sig do
|
|
35
|
+
override.returns(
|
|
36
|
+
{
|
|
37
|
+
employee_id: String,
|
|
38
|
+
request_options: VitableConnect::RequestOptions
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
def to_hash
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployeeRetrieveResponse < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
VitableConnect::Models::EmployeeRetrieveResponse,
|
|
10
|
+
VitableConnect::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sig { returns(VitableConnect::Employee) }
|
|
15
|
+
attr_reader :data
|
|
16
|
+
|
|
17
|
+
sig { params(data: VitableConnect::Employee::OrHash).void }
|
|
18
|
+
attr_writer :data
|
|
19
|
+
|
|
20
|
+
# Response containing a single employee resource.
|
|
21
|
+
sig do
|
|
22
|
+
params(data: VitableConnect::Employee::OrHash).returns(T.attached_class)
|
|
23
|
+
end
|
|
24
|
+
def self.new(data:)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
sig { override.returns({ data: VitableConnect::Employee }) }
|
|
28
|
+
def to_hash
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class Employer < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(VitableConnect::Employer, VitableConnect::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Whether the employer is currently active in the system
|
|
12
|
+
sig { returns(T::Boolean) }
|
|
13
|
+
attr_accessor :active
|
|
14
|
+
|
|
15
|
+
# Nested address within EmployerSerializer.
|
|
16
|
+
sig { returns(VitableConnect::Employer::Address) }
|
|
17
|
+
attr_reader :address
|
|
18
|
+
|
|
19
|
+
sig { params(address: VitableConnect::Employer::Address::OrHash).void }
|
|
20
|
+
attr_writer :address
|
|
21
|
+
|
|
22
|
+
# Timestamp when the employer was created
|
|
23
|
+
sig { returns(Time) }
|
|
24
|
+
attr_accessor :created_at
|
|
25
|
+
|
|
26
|
+
# Legal business name for compliance and tax purposes
|
|
27
|
+
sig { returns(String) }
|
|
28
|
+
attr_accessor :legal_name
|
|
29
|
+
|
|
30
|
+
# Display name of the employer
|
|
31
|
+
sig { returns(String) }
|
|
32
|
+
attr_accessor :name
|
|
33
|
+
|
|
34
|
+
# Timestamp when the employer was last updated
|
|
35
|
+
sig { returns(Time) }
|
|
36
|
+
attr_accessor :updated_at
|
|
37
|
+
|
|
38
|
+
# Email address for billing and communications
|
|
39
|
+
sig { returns(T.nilable(String)) }
|
|
40
|
+
attr_accessor :email
|
|
41
|
+
|
|
42
|
+
# Employer phone number (E.164 format recommended)
|
|
43
|
+
sig { returns(T.nilable(String)) }
|
|
44
|
+
attr_accessor :phone_number
|
|
45
|
+
|
|
46
|
+
# Partner-assigned reference ID for the employer
|
|
47
|
+
sig { returns(T.nilable(String)) }
|
|
48
|
+
attr_accessor :reference_id
|
|
49
|
+
|
|
50
|
+
# Unique employer identifier with 'empr\_' prefix
|
|
51
|
+
sig { returns(String) }
|
|
52
|
+
attr_accessor :id
|
|
53
|
+
|
|
54
|
+
# Employer Identification Number (masked in responses)
|
|
55
|
+
sig { returns(T.nilable(String)) }
|
|
56
|
+
attr_accessor :ein
|
|
57
|
+
|
|
58
|
+
# ID of the benefit eligibility policy (epol\_\*), if assigned
|
|
59
|
+
sig { returns(T.nilable(String)) }
|
|
60
|
+
attr_accessor :eligibility_policy_id
|
|
61
|
+
|
|
62
|
+
# ID of the parent organization (org\_\*)
|
|
63
|
+
sig { returns(T.nilable(String)) }
|
|
64
|
+
attr_accessor :organization_id
|
|
65
|
+
|
|
66
|
+
# Serializer for Employer entity in public API responses.
|
|
67
|
+
sig do
|
|
68
|
+
params(
|
|
69
|
+
id: String,
|
|
70
|
+
active: T::Boolean,
|
|
71
|
+
address: VitableConnect::Employer::Address::OrHash,
|
|
72
|
+
created_at: Time,
|
|
73
|
+
ein: T.nilable(String),
|
|
74
|
+
eligibility_policy_id: T.nilable(String),
|
|
75
|
+
legal_name: String,
|
|
76
|
+
name: String,
|
|
77
|
+
organization_id: T.nilable(String),
|
|
78
|
+
updated_at: Time,
|
|
79
|
+
email: T.nilable(String),
|
|
80
|
+
phone_number: T.nilable(String),
|
|
81
|
+
reference_id: T.nilable(String)
|
|
82
|
+
).returns(T.attached_class)
|
|
83
|
+
end
|
|
84
|
+
def self.new(
|
|
85
|
+
# Unique employer identifier with 'empr\_' prefix
|
|
86
|
+
id:,
|
|
87
|
+
# Whether the employer is currently active in the system
|
|
88
|
+
active:,
|
|
89
|
+
# Nested address within EmployerSerializer.
|
|
90
|
+
address:,
|
|
91
|
+
# Timestamp when the employer was created
|
|
92
|
+
created_at:,
|
|
93
|
+
# Employer Identification Number (masked in responses)
|
|
94
|
+
ein:,
|
|
95
|
+
# ID of the benefit eligibility policy (epol\_\*), if assigned
|
|
96
|
+
eligibility_policy_id:,
|
|
97
|
+
# Legal business name for compliance and tax purposes
|
|
98
|
+
legal_name:,
|
|
99
|
+
# Display name of the employer
|
|
100
|
+
name:,
|
|
101
|
+
# ID of the parent organization (org\_\*)
|
|
102
|
+
organization_id:,
|
|
103
|
+
# Timestamp when the employer was last updated
|
|
104
|
+
updated_at:,
|
|
105
|
+
# Email address for billing and communications
|
|
106
|
+
email: nil,
|
|
107
|
+
# Employer phone number (E.164 format recommended)
|
|
108
|
+
phone_number: nil,
|
|
109
|
+
# Partner-assigned reference ID for the employer
|
|
110
|
+
reference_id: nil
|
|
111
|
+
)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
sig do
|
|
115
|
+
override.returns(
|
|
116
|
+
{
|
|
117
|
+
id: String,
|
|
118
|
+
active: T::Boolean,
|
|
119
|
+
address: VitableConnect::Employer::Address,
|
|
120
|
+
created_at: Time,
|
|
121
|
+
ein: T.nilable(String),
|
|
122
|
+
eligibility_policy_id: T.nilable(String),
|
|
123
|
+
legal_name: String,
|
|
124
|
+
name: String,
|
|
125
|
+
organization_id: T.nilable(String),
|
|
126
|
+
updated_at: Time,
|
|
127
|
+
email: T.nilable(String),
|
|
128
|
+
phone_number: T.nilable(String),
|
|
129
|
+
reference_id: T.nilable(String)
|
|
130
|
+
}
|
|
131
|
+
)
|
|
132
|
+
end
|
|
133
|
+
def to_hash
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
class Address < VitableConnect::Internal::Type::BaseModel
|
|
137
|
+
OrHash =
|
|
138
|
+
T.type_alias do
|
|
139
|
+
T.any(
|
|
140
|
+
VitableConnect::Employer::Address,
|
|
141
|
+
VitableConnect::Internal::AnyHash
|
|
142
|
+
)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# Primary street address
|
|
146
|
+
sig { returns(String) }
|
|
147
|
+
attr_accessor :address_line_1
|
|
148
|
+
|
|
149
|
+
# City name
|
|
150
|
+
sig { returns(String) }
|
|
151
|
+
attr_accessor :city
|
|
152
|
+
|
|
153
|
+
# Two-letter state code (e.g., CA, NY)
|
|
154
|
+
sig { returns(String) }
|
|
155
|
+
attr_accessor :state
|
|
156
|
+
|
|
157
|
+
# ZIP code (5 or 9 digit)
|
|
158
|
+
sig { returns(String) }
|
|
159
|
+
attr_accessor :zipcode
|
|
160
|
+
|
|
161
|
+
# Secondary street address (apt, suite, etc.)
|
|
162
|
+
sig { returns(T.nilable(String)) }
|
|
163
|
+
attr_accessor :address_line_2
|
|
164
|
+
|
|
165
|
+
# Nested address within EmployerSerializer.
|
|
166
|
+
sig do
|
|
167
|
+
params(
|
|
168
|
+
address_line_1: String,
|
|
169
|
+
city: String,
|
|
170
|
+
state: String,
|
|
171
|
+
zipcode: String,
|
|
172
|
+
address_line_2: T.nilable(String)
|
|
173
|
+
).returns(T.attached_class)
|
|
174
|
+
end
|
|
175
|
+
def self.new(
|
|
176
|
+
# Primary street address
|
|
177
|
+
address_line_1:,
|
|
178
|
+
# City name
|
|
179
|
+
city:,
|
|
180
|
+
# Two-letter state code (e.g., CA, NY)
|
|
181
|
+
state:,
|
|
182
|
+
# ZIP code (5 or 9 digit)
|
|
183
|
+
zipcode:,
|
|
184
|
+
# Secondary street address (apt, suite, etc.)
|
|
185
|
+
address_line_2: nil
|
|
186
|
+
)
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
sig do
|
|
190
|
+
override.returns(
|
|
191
|
+
{
|
|
192
|
+
address_line_1: String,
|
|
193
|
+
city: String,
|
|
194
|
+
state: String,
|
|
195
|
+
zipcode: String,
|
|
196
|
+
address_line_2: T.nilable(String)
|
|
197
|
+
}
|
|
198
|
+
)
|
|
199
|
+
end
|
|
200
|
+
def to_hash
|
|
201
|
+
end
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerCreateBenefitEligibilityPolicyParams < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
extend VitableConnect::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include VitableConnect::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
VitableConnect::EmployerCreateBenefitEligibilityPolicyParams,
|
|
13
|
+
VitableConnect::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Unique employer identifier (empr\_\*)
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :employer_id
|
|
20
|
+
|
|
21
|
+
# Which employee classifications are eligible. One of: full_time, part_time, all
|
|
22
|
+
sig { returns(String) }
|
|
23
|
+
attr_accessor :classification
|
|
24
|
+
|
|
25
|
+
# Waiting period before eligibility. One of: first_of_following_month, 30_days,
|
|
26
|
+
# 60_days, none
|
|
27
|
+
sig { returns(String) }
|
|
28
|
+
attr_accessor :waiting_period
|
|
29
|
+
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
employer_id: String,
|
|
33
|
+
classification: String,
|
|
34
|
+
waiting_period: String,
|
|
35
|
+
request_options: VitableConnect::RequestOptions::OrHash
|
|
36
|
+
).returns(T.attached_class)
|
|
37
|
+
end
|
|
38
|
+
def self.new(
|
|
39
|
+
# Unique employer identifier (empr\_\*)
|
|
40
|
+
employer_id:,
|
|
41
|
+
# Which employee classifications are eligible. One of: full_time, part_time, all
|
|
42
|
+
classification:,
|
|
43
|
+
# Waiting period before eligibility. One of: first_of_following_month, 30_days,
|
|
44
|
+
# 60_days, none
|
|
45
|
+
waiting_period:,
|
|
46
|
+
request_options: {}
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
sig do
|
|
51
|
+
override.returns(
|
|
52
|
+
{
|
|
53
|
+
employer_id: String,
|
|
54
|
+
classification: String,
|
|
55
|
+
waiting_period: String,
|
|
56
|
+
request_options: VitableConnect::RequestOptions
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
def to_hash
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerCreateParams < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
extend VitableConnect::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include VitableConnect::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
VitableConnect::EmployerCreateParams,
|
|
13
|
+
VitableConnect::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Employer address
|
|
18
|
+
sig { returns(VitableConnect::EmployerCreateParams::Address) }
|
|
19
|
+
attr_reader :address
|
|
20
|
+
|
|
21
|
+
sig do
|
|
22
|
+
params(
|
|
23
|
+
address: VitableConnect::EmployerCreateParams::Address::OrHash
|
|
24
|
+
).void
|
|
25
|
+
end
|
|
26
|
+
attr_writer :address
|
|
27
|
+
|
|
28
|
+
# Employer Identification Number (format: XX-XXXXXXX)
|
|
29
|
+
sig { returns(String) }
|
|
30
|
+
attr_accessor :ein
|
|
31
|
+
|
|
32
|
+
# Email address for billing and communications
|
|
33
|
+
sig { returns(String) }
|
|
34
|
+
attr_accessor :email
|
|
35
|
+
|
|
36
|
+
# Legal business name
|
|
37
|
+
sig { returns(String) }
|
|
38
|
+
attr_accessor :legal_name
|
|
39
|
+
|
|
40
|
+
# Employer display name
|
|
41
|
+
sig { returns(String) }
|
|
42
|
+
attr_accessor :name
|
|
43
|
+
|
|
44
|
+
# Employer phone number (10-digit US format, e.g. 5551234567)
|
|
45
|
+
sig { returns(T.nilable(String)) }
|
|
46
|
+
attr_accessor :phone_number
|
|
47
|
+
|
|
48
|
+
# External reference ID for this employer
|
|
49
|
+
sig { returns(T.nilable(String)) }
|
|
50
|
+
attr_accessor :reference_id
|
|
51
|
+
|
|
52
|
+
sig do
|
|
53
|
+
params(
|
|
54
|
+
address: VitableConnect::EmployerCreateParams::Address::OrHash,
|
|
55
|
+
ein: String,
|
|
56
|
+
email: String,
|
|
57
|
+
legal_name: String,
|
|
58
|
+
name: String,
|
|
59
|
+
phone_number: T.nilable(String),
|
|
60
|
+
reference_id: T.nilable(String),
|
|
61
|
+
request_options: VitableConnect::RequestOptions::OrHash
|
|
62
|
+
).returns(T.attached_class)
|
|
63
|
+
end
|
|
64
|
+
def self.new(
|
|
65
|
+
# Employer address
|
|
66
|
+
address:,
|
|
67
|
+
# Employer Identification Number (format: XX-XXXXXXX)
|
|
68
|
+
ein:,
|
|
69
|
+
# Email address for billing and communications
|
|
70
|
+
email:,
|
|
71
|
+
# Legal business name
|
|
72
|
+
legal_name:,
|
|
73
|
+
# Employer display name
|
|
74
|
+
name:,
|
|
75
|
+
# Employer phone number (10-digit US format, e.g. 5551234567)
|
|
76
|
+
phone_number: nil,
|
|
77
|
+
# External reference ID for this employer
|
|
78
|
+
reference_id: nil,
|
|
79
|
+
request_options: {}
|
|
80
|
+
)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
sig do
|
|
84
|
+
override.returns(
|
|
85
|
+
{
|
|
86
|
+
address: VitableConnect::EmployerCreateParams::Address,
|
|
87
|
+
ein: String,
|
|
88
|
+
email: String,
|
|
89
|
+
legal_name: String,
|
|
90
|
+
name: String,
|
|
91
|
+
phone_number: T.nilable(String),
|
|
92
|
+
reference_id: T.nilable(String),
|
|
93
|
+
request_options: VitableConnect::RequestOptions
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
end
|
|
97
|
+
def to_hash
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
class Address < VitableConnect::Internal::Type::BaseModel
|
|
101
|
+
OrHash =
|
|
102
|
+
T.type_alias do
|
|
103
|
+
T.any(
|
|
104
|
+
VitableConnect::EmployerCreateParams::Address,
|
|
105
|
+
VitableConnect::Internal::AnyHash
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Primary street address
|
|
110
|
+
sig { returns(String) }
|
|
111
|
+
attr_accessor :address_line_1
|
|
112
|
+
|
|
113
|
+
# City name
|
|
114
|
+
sig { returns(String) }
|
|
115
|
+
attr_accessor :city
|
|
116
|
+
|
|
117
|
+
# Two-letter state code
|
|
118
|
+
sig { returns(String) }
|
|
119
|
+
attr_accessor :state
|
|
120
|
+
|
|
121
|
+
# ZIP code
|
|
122
|
+
sig { returns(String) }
|
|
123
|
+
attr_accessor :zipcode
|
|
124
|
+
|
|
125
|
+
# Secondary street address
|
|
126
|
+
sig { returns(T.nilable(String)) }
|
|
127
|
+
attr_accessor :address_line_2
|
|
128
|
+
|
|
129
|
+
# Employer address
|
|
130
|
+
sig do
|
|
131
|
+
params(
|
|
132
|
+
address_line_1: String,
|
|
133
|
+
city: String,
|
|
134
|
+
state: String,
|
|
135
|
+
zipcode: String,
|
|
136
|
+
address_line_2: T.nilable(String)
|
|
137
|
+
).returns(T.attached_class)
|
|
138
|
+
end
|
|
139
|
+
def self.new(
|
|
140
|
+
# Primary street address
|
|
141
|
+
address_line_1:,
|
|
142
|
+
# City name
|
|
143
|
+
city:,
|
|
144
|
+
# Two-letter state code
|
|
145
|
+
state:,
|
|
146
|
+
# ZIP code
|
|
147
|
+
zipcode:,
|
|
148
|
+
# Secondary street address
|
|
149
|
+
address_line_2: nil
|
|
150
|
+
)
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
sig do
|
|
154
|
+
override.returns(
|
|
155
|
+
{
|
|
156
|
+
address_line_1: String,
|
|
157
|
+
city: String,
|
|
158
|
+
state: String,
|
|
159
|
+
zipcode: String,
|
|
160
|
+
address_line_2: T.nilable(String)
|
|
161
|
+
}
|
|
162
|
+
)
|
|
163
|
+
end
|
|
164
|
+
def to_hash
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerListEmployeesParams < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
extend VitableConnect::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include VitableConnect::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
VitableConnect::EmployerListEmployeesParams,
|
|
13
|
+
VitableConnect::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Unique employer identifier (empr\_\*)
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :employer_id
|
|
20
|
+
|
|
21
|
+
# Items per page (default: 20, max: 100)
|
|
22
|
+
sig { returns(T.nilable(Integer)) }
|
|
23
|
+
attr_reader :limit
|
|
24
|
+
|
|
25
|
+
sig { params(limit: Integer).void }
|
|
26
|
+
attr_writer :limit
|
|
27
|
+
|
|
28
|
+
# Page number (default: 1)
|
|
29
|
+
sig { returns(T.nilable(Integer)) }
|
|
30
|
+
attr_reader :page
|
|
31
|
+
|
|
32
|
+
sig { params(page: Integer).void }
|
|
33
|
+
attr_writer :page
|
|
34
|
+
|
|
35
|
+
sig do
|
|
36
|
+
params(
|
|
37
|
+
employer_id: String,
|
|
38
|
+
limit: Integer,
|
|
39
|
+
page: Integer,
|
|
40
|
+
request_options: VitableConnect::RequestOptions::OrHash
|
|
41
|
+
).returns(T.attached_class)
|
|
42
|
+
end
|
|
43
|
+
def self.new(
|
|
44
|
+
# Unique employer identifier (empr\_\*)
|
|
45
|
+
employer_id:,
|
|
46
|
+
# Items per page (default: 20, max: 100)
|
|
47
|
+
limit: nil,
|
|
48
|
+
# Page number (default: 1)
|
|
49
|
+
page: nil,
|
|
50
|
+
request_options: {}
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
sig do
|
|
55
|
+
override.returns(
|
|
56
|
+
{
|
|
57
|
+
employer_id: String,
|
|
58
|
+
limit: Integer,
|
|
59
|
+
page: Integer,
|
|
60
|
+
request_options: VitableConnect::RequestOptions
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
def to_hash
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerListParams < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
extend VitableConnect::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include VitableConnect::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
VitableConnect::EmployerListParams,
|
|
13
|
+
VitableConnect::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Items per page (default: 20, max: 100)
|
|
18
|
+
sig { returns(T.nilable(Integer)) }
|
|
19
|
+
attr_reader :limit
|
|
20
|
+
|
|
21
|
+
sig { params(limit: Integer).void }
|
|
22
|
+
attr_writer :limit
|
|
23
|
+
|
|
24
|
+
# Page number (default: 1)
|
|
25
|
+
sig { returns(T.nilable(Integer)) }
|
|
26
|
+
attr_reader :page
|
|
27
|
+
|
|
28
|
+
sig { params(page: Integer).void }
|
|
29
|
+
attr_writer :page
|
|
30
|
+
|
|
31
|
+
sig do
|
|
32
|
+
params(
|
|
33
|
+
limit: Integer,
|
|
34
|
+
page: Integer,
|
|
35
|
+
request_options: VitableConnect::RequestOptions::OrHash
|
|
36
|
+
).returns(T.attached_class)
|
|
37
|
+
end
|
|
38
|
+
def self.new(
|
|
39
|
+
# Items per page (default: 20, max: 100)
|
|
40
|
+
limit: nil,
|
|
41
|
+
# Page number (default: 1)
|
|
42
|
+
page: nil,
|
|
43
|
+
request_options: {}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
sig do
|
|
48
|
+
override.returns(
|
|
49
|
+
{
|
|
50
|
+
limit: Integer,
|
|
51
|
+
page: Integer,
|
|
52
|
+
request_options: VitableConnect::RequestOptions
|
|
53
|
+
}
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
def to_hash
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module VitableConnect
|
|
4
|
+
module Models
|
|
5
|
+
class EmployerResponse < VitableConnect::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
VitableConnect::EmployerResponse,
|
|
10
|
+
VitableConnect::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Serializer for Employer entity in public API responses.
|
|
15
|
+
sig { returns(VitableConnect::Employer) }
|
|
16
|
+
attr_reader :data
|
|
17
|
+
|
|
18
|
+
sig { params(data: VitableConnect::Employer::OrHash).void }
|
|
19
|
+
attr_writer :data
|
|
20
|
+
|
|
21
|
+
# Response containing a single employer resource.
|
|
22
|
+
sig do
|
|
23
|
+
params(data: VitableConnect::Employer::OrHash).returns(T.attached_class)
|
|
24
|
+
end
|
|
25
|
+
def self.new(
|
|
26
|
+
# Serializer for Employer entity in public API responses.
|
|
27
|
+
data:
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
sig { override.returns({ data: VitableConnect::Employer }) }
|
|
32
|
+
def to_hash
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|