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.
Files changed (185) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +39 -0
  4. data/README.md +267 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/vitable_connect/client.rb +118 -0
  7. data/lib/vitable_connect/errors.rb +228 -0
  8. data/lib/vitable_connect/file_part.rb +58 -0
  9. data/lib/vitable_connect/internal/page_number_page.rb +113 -0
  10. data/lib/vitable_connect/internal/transport/base_client.rb +577 -0
  11. data/lib/vitable_connect/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/vitable_connect/internal/type/array_of.rb +168 -0
  13. data/lib/vitable_connect/internal/type/base_model.rb +534 -0
  14. data/lib/vitable_connect/internal/type/base_page.rb +55 -0
  15. data/lib/vitable_connect/internal/type/boolean.rb +77 -0
  16. data/lib/vitable_connect/internal/type/converter.rb +327 -0
  17. data/lib/vitable_connect/internal/type/enum.rb +152 -0
  18. data/lib/vitable_connect/internal/type/file_input.rb +111 -0
  19. data/lib/vitable_connect/internal/type/hash_of.rb +188 -0
  20. data/lib/vitable_connect/internal/type/request_parameters.rb +42 -0
  21. data/lib/vitable_connect/internal/type/union.rb +245 -0
  22. data/lib/vitable_connect/internal/type/unknown.rb +81 -0
  23. data/lib/vitable_connect/internal/util.rb +951 -0
  24. data/lib/vitable_connect/internal.rb +20 -0
  25. data/lib/vitable_connect/models/auth_issue_access_token_params.rb +68 -0
  26. data/lib/vitable_connect/models/auth_issue_access_token_response.rb +70 -0
  27. data/lib/vitable_connect/models/benefit_eligibility_policy.rb +53 -0
  28. data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +18 -0
  29. data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +22 -0
  30. data/lib/vitable_connect/models/employee.rb +244 -0
  31. data/lib/vitable_connect/models/employee_class.rb +25 -0
  32. data/lib/vitable_connect/models/employee_list_enrollments_params.rb +38 -0
  33. data/lib/vitable_connect/models/employee_retrieve_params.rb +22 -0
  34. data/lib/vitable_connect/models/employee_retrieve_response.rb +18 -0
  35. data/lib/vitable_connect/models/employer.rb +163 -0
  36. data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +43 -0
  37. data/lib/vitable_connect/models/employer_create_params.rb +115 -0
  38. data/lib/vitable_connect/models/employer_list_employees_params.rb +38 -0
  39. data/lib/vitable_connect/models/employer_list_params.rb +30 -0
  40. data/lib/vitable_connect/models/employer_response.rb +19 -0
  41. data/lib/vitable_connect/models/employer_retrieve_params.rb +22 -0
  42. data/lib/vitable_connect/models/employer_submit_census_sync_params.rb +374 -0
  43. data/lib/vitable_connect/models/employer_submit_census_sync_response.rb +35 -0
  44. data/lib/vitable_connect/models/enrollment.rb +234 -0
  45. data/lib/vitable_connect/models/enrollment_retrieve_params.rb +22 -0
  46. data/lib/vitable_connect/models/enrollment_retrieve_response.rb +18 -0
  47. data/lib/vitable_connect/models/enrollment_status.rb +21 -0
  48. data/lib/vitable_connect/models/pagination.rb +42 -0
  49. data/lib/vitable_connect/models/type.rb +17 -0
  50. data/lib/vitable_connect/models/webhook_event.rb +62 -0
  51. data/lib/vitable_connect/models/webhook_event_list_deliveries_params.rb +20 -0
  52. data/lib/vitable_connect/models/webhook_event_list_deliveries_response.rb +92 -0
  53. data/lib/vitable_connect/models/webhook_event_list_params.rb +135 -0
  54. data/lib/vitable_connect/models/webhook_event_retrieve_params.rb +20 -0
  55. data/lib/vitable_connect/models/webhook_event_retrieve_response.rb +18 -0
  56. data/lib/vitable_connect/models.rb +95 -0
  57. data/lib/vitable_connect/request_options.rb +78 -0
  58. data/lib/vitable_connect/resources/auth.rb +41 -0
  59. data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +35 -0
  60. data/lib/vitable_connect/resources/employees.rb +63 -0
  61. data/lib/vitable_connect/resources/employers.rb +184 -0
  62. data/lib/vitable_connect/resources/enrollments.rb +35 -0
  63. data/lib/vitable_connect/resources/webhook_events.rb +95 -0
  64. data/lib/vitable_connect/version.rb +5 -0
  65. data/lib/vitable_connect.rb +93 -0
  66. data/manifest.yaml +17 -0
  67. data/rbi/vitable_connect/client.rbi +88 -0
  68. data/rbi/vitable_connect/errors.rbi +205 -0
  69. data/rbi/vitable_connect/file_part.rbi +37 -0
  70. data/rbi/vitable_connect/internal/page_number_page.rbi +49 -0
  71. data/rbi/vitable_connect/internal/transport/base_client.rbi +307 -0
  72. data/rbi/vitable_connect/internal/transport/pooled_net_requester.rbi +84 -0
  73. data/rbi/vitable_connect/internal/type/array_of.rbi +108 -0
  74. data/rbi/vitable_connect/internal/type/base_model.rbi +314 -0
  75. data/rbi/vitable_connect/internal/type/base_page.rbi +43 -0
  76. data/rbi/vitable_connect/internal/type/boolean.rbi +58 -0
  77. data/rbi/vitable_connect/internal/type/converter.rbi +225 -0
  78. data/rbi/vitable_connect/internal/type/enum.rbi +82 -0
  79. data/rbi/vitable_connect/internal/type/file_input.rbi +59 -0
  80. data/rbi/vitable_connect/internal/type/hash_of.rbi +108 -0
  81. data/rbi/vitable_connect/internal/type/request_parameters.rbi +31 -0
  82. data/rbi/vitable_connect/internal/type/union.rbi +130 -0
  83. data/rbi/vitable_connect/internal/type/unknown.rbi +58 -0
  84. data/rbi/vitable_connect/internal/util.rbi +507 -0
  85. data/rbi/vitable_connect/internal.rbi +18 -0
  86. data/rbi/vitable_connect/models/auth_issue_access_token_params.rbi +147 -0
  87. data/rbi/vitable_connect/models/auth_issue_access_token_response.rbi +128 -0
  88. data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +74 -0
  89. data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +38 -0
  90. data/rbi/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbi +43 -0
  91. data/rbi/vitable_connect/models/employee.rbi +316 -0
  92. data/rbi/vitable_connect/models/employee_class.rbi +38 -0
  93. data/rbi/vitable_connect/models/employee_list_enrollments_params.rbi +68 -0
  94. data/rbi/vitable_connect/models/employee_retrieve_params.rbi +46 -0
  95. data/rbi/vitable_connect/models/employee_retrieve_response.rbi +32 -0
  96. data/rbi/vitable_connect/models/employer.rbi +205 -0
  97. data/rbi/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbi +64 -0
  98. data/rbi/vitable_connect/models/employer_create_params.rbi +169 -0
  99. data/rbi/vitable_connect/models/employer_list_employees_params.rbi +68 -0
  100. data/rbi/vitable_connect/models/employer_list_params.rbi +60 -0
  101. data/rbi/vitable_connect/models/employer_response.rbi +36 -0
  102. data/rbi/vitable_connect/models/employer_retrieve_params.rbi +46 -0
  103. data/rbi/vitable_connect/models/employer_submit_census_sync_params.rbi +819 -0
  104. data/rbi/vitable_connect/models/employer_submit_census_sync_response.rbi +76 -0
  105. data/rbi/vitable_connect/models/enrollment.rbi +401 -0
  106. data/rbi/vitable_connect/models/enrollment_retrieve_params.rbi +46 -0
  107. data/rbi/vitable_connect/models/enrollment_retrieve_response.rbi +34 -0
  108. data/rbi/vitable_connect/models/enrollment_status.rbi +32 -0
  109. data/rbi/vitable_connect/models/pagination.rbi +62 -0
  110. data/rbi/vitable_connect/models/type.rbi +21 -0
  111. data/rbi/vitable_connect/models/webhook_event.rbi +81 -0
  112. data/rbi/vitable_connect/models/webhook_event_list_deliveries_params.rbi +38 -0
  113. data/rbi/vitable_connect/models/webhook_event_list_deliveries_response.rbi +147 -0
  114. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +307 -0
  115. data/rbi/vitable_connect/models/webhook_event_retrieve_params.rbi +38 -0
  116. data/rbi/vitable_connect/models/webhook_event_retrieve_response.rbi +34 -0
  117. data/rbi/vitable_connect/models.rbi +62 -0
  118. data/rbi/vitable_connect/request_options.rbi +61 -0
  119. data/rbi/vitable_connect/resources/auth.rbi +36 -0
  120. data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +27 -0
  121. data/rbi/vitable_connect/resources/employees.rbi +49 -0
  122. data/rbi/vitable_connect/resources/employers.rbi +147 -0
  123. data/rbi/vitable_connect/resources/enrollments.rbi +27 -0
  124. data/rbi/vitable_connect/resources/webhook_events.rbi +84 -0
  125. data/rbi/vitable_connect/version.rbi +5 -0
  126. data/sig/vitable_connect/client.rbs +42 -0
  127. data/sig/vitable_connect/errors.rbs +117 -0
  128. data/sig/vitable_connect/file_part.rbs +21 -0
  129. data/sig/vitable_connect/internal/page_number_page.rbs +28 -0
  130. data/sig/vitable_connect/internal/transport/base_client.rbs +133 -0
  131. data/sig/vitable_connect/internal/transport/pooled_net_requester.rbs +48 -0
  132. data/sig/vitable_connect/internal/type/array_of.rbs +48 -0
  133. data/sig/vitable_connect/internal/type/base_model.rbs +104 -0
  134. data/sig/vitable_connect/internal/type/base_page.rbs +24 -0
  135. data/sig/vitable_connect/internal/type/boolean.rbs +26 -0
  136. data/sig/vitable_connect/internal/type/converter.rbs +79 -0
  137. data/sig/vitable_connect/internal/type/enum.rbs +32 -0
  138. data/sig/vitable_connect/internal/type/file_input.rbs +25 -0
  139. data/sig/vitable_connect/internal/type/hash_of.rbs +48 -0
  140. data/sig/vitable_connect/internal/type/request_parameters.rbs +20 -0
  141. data/sig/vitable_connect/internal/type/union.rbs +52 -0
  142. data/sig/vitable_connect/internal/type/unknown.rbs +26 -0
  143. data/sig/vitable_connect/internal/util.rbs +195 -0
  144. data/sig/vitable_connect/internal.rbs +10 -0
  145. data/sig/vitable_connect/models/auth_issue_access_token_params.rbs +56 -0
  146. data/sig/vitable_connect/models/auth_issue_access_token_response.rbs +50 -0
  147. data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +50 -0
  148. data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +14 -0
  149. data/sig/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rbs +23 -0
  150. data/sig/vitable_connect/models/employee.rbs +169 -0
  151. data/sig/vitable_connect/models/employee_class.rbs +24 -0
  152. data/sig/vitable_connect/models/employee_list_enrollments_params.rbs +36 -0
  153. data/sig/vitable_connect/models/employee_retrieve_params.rbs +24 -0
  154. data/sig/vitable_connect/models/employee_retrieve_response.rbs +13 -0
  155. data/sig/vitable_connect/models/employer.rbs +117 -0
  156. data/sig/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbs +32 -0
  157. data/sig/vitable_connect/models/employer_create_params.rbs +93 -0
  158. data/sig/vitable_connect/models/employer_list_employees_params.rbs +36 -0
  159. data/sig/vitable_connect/models/employer_list_params.rbs +32 -0
  160. data/sig/vitable_connect/models/employer_response.rbs +13 -0
  161. data/sig/vitable_connect/models/employer_retrieve_params.rbs +24 -0
  162. data/sig/vitable_connect/models/employer_submit_census_sync_params.rbs +274 -0
  163. data/sig/vitable_connect/models/employer_submit_census_sync_response.rbs +30 -0
  164. data/sig/vitable_connect/models/enrollment.rbs +164 -0
  165. data/sig/vitable_connect/models/enrollment_retrieve_params.rbs +24 -0
  166. data/sig/vitable_connect/models/enrollment_retrieve_response.rbs +13 -0
  167. data/sig/vitable_connect/models/enrollment_status.rbs +16 -0
  168. data/sig/vitable_connect/models/pagination.rbs +30 -0
  169. data/sig/vitable_connect/models/type.rbs +14 -0
  170. data/sig/vitable_connect/models/webhook_event.rbs +45 -0
  171. data/sig/vitable_connect/models/webhook_event_list_deliveries_params.rbs +23 -0
  172. data/sig/vitable_connect/models/webhook_event_list_deliveries_response.rbs +77 -0
  173. data/sig/vitable_connect/models/webhook_event_list_params.rbs +126 -0
  174. data/sig/vitable_connect/models/webhook_event_retrieve_params.rbs +23 -0
  175. data/sig/vitable_connect/models/webhook_event_retrieve_response.rbs +14 -0
  176. data/sig/vitable_connect/models.rbs +51 -0
  177. data/sig/vitable_connect/request_options.rbs +36 -0
  178. data/sig/vitable_connect/resources/auth.rbs +13 -0
  179. data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +12 -0
  180. data/sig/vitable_connect/resources/employees.rbs +19 -0
  181. data/sig/vitable_connect/resources/employers.rbs +49 -0
  182. data/sig/vitable_connect/resources/enrollments.rbs +12 -0
  183. data/sig/vitable_connect/resources/webhook_events.rbs +28 -0
  184. data/sig/vitable_connect/version.rbs +3 -0
  185. metadata +256 -0
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Internal
5
+ extend VitableConnect::Internal::Util::SorbetRuntimeSupport
6
+
7
+ OMIT =
8
+ Object.new.tap do
9
+ _1.define_singleton_method(:inspect) { "#<#{VitableConnect::Internal}::OMIT>" }
10
+ end
11
+ .freeze
12
+
13
+ define_sorbet_constant!(:AnyHash) do
14
+ T.type_alias { T::Hash[Symbol, T.anything] }
15
+ end
16
+ define_sorbet_constant!(:FileInput) do
17
+ T.type_alias { T.any(Pathname, StringIO, IO, String, VitableConnect::FilePart) }
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Auth#issue_access_token
6
+ class AuthIssueAccessTokenParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute grant_type
11
+ # - `client_credentials` - client_credentials
12
+ #
13
+ # @return [Symbol, VitableConnect::Models::AuthIssueAccessTokenParams::GrantType]
14
+ required :grant_type, enum: -> { VitableConnect::AuthIssueAccessTokenParams::GrantType }
15
+
16
+ # @!attribute bound_entity
17
+ # Optional entity to bind the token to for scoped access
18
+ #
19
+ # @return [VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity, nil]
20
+ optional :bound_entity, -> { VitableConnect::AuthIssueAccessTokenParams::BoundEntity }, nil?: true
21
+
22
+ # @!method initialize(grant_type:, bound_entity: nil, request_options: {})
23
+ # @param grant_type [Symbol, VitableConnect::Models::AuthIssueAccessTokenParams::GrantType] - `client_credentials` - client_credentials
24
+ #
25
+ # @param bound_entity [VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity, nil] Optional entity to bind the token to for scoped access
26
+ #
27
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
28
+
29
+ # - `client_credentials` - client_credentials
30
+ module GrantType
31
+ extend VitableConnect::Internal::Type::Enum
32
+
33
+ CLIENT_CREDENTIALS = :client_credentials
34
+
35
+ # @!method self.values
36
+ # @return [Array<Symbol>]
37
+ end
38
+
39
+ class BoundEntity < VitableConnect::Internal::Type::BaseModel
40
+ # @!attribute id
41
+ # Prefixed entity ID to bind the token to (empr*\* for employer, empl*\* for
42
+ # employee)
43
+ #
44
+ # @return [String]
45
+ required :id, String
46
+
47
+ # @!attribute type
48
+ # - `employer` - employer
49
+ # - `employee` - employee
50
+ #
51
+ # @return [Symbol, VitableConnect::Models::Type]
52
+ required :type, enum: -> { VitableConnect::Type }
53
+
54
+ # @!method initialize(id:, type:)
55
+ # Some parameter documentations has been truncated, see
56
+ # {VitableConnect::Models::AuthIssueAccessTokenParams::BoundEntity} for more
57
+ # details.
58
+ #
59
+ # Optional entity to bind the token to for scoped access
60
+ #
61
+ # @param id [String] Prefixed entity ID to bind the token to (empr*\* for employer, empl*\* for
62
+ # employe
63
+ #
64
+ # @param type [Symbol, VitableConnect::Models::Type] - `employer` - employer
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Auth#issue_access_token
6
+ class AuthIssueAccessTokenResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute access_token
8
+ # The issued access token (vit*at*\*)
9
+ #
10
+ # @return [String]
11
+ required :access_token, String
12
+
13
+ # @!attribute expires_in
14
+ # Token lifetime in seconds
15
+ #
16
+ # @return [Integer]
17
+ required :expires_in, Integer
18
+
19
+ # @!attribute token_type
20
+ # Token type, always 'Bearer'
21
+ #
22
+ # @return [String]
23
+ required :token_type, String
24
+
25
+ # @!attribute bound_entity
26
+ # Entity the token is bound to, if any
27
+ #
28
+ # @return [VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity, nil]
29
+ optional :bound_entity,
30
+ -> { VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity },
31
+ nil?: true
32
+
33
+ # @!method initialize(access_token:, expires_in:, token_type:, bound_entity: nil)
34
+ # @param access_token [String] The issued access token (vit*at*\*)
35
+ #
36
+ # @param expires_in [Integer] Token lifetime in seconds
37
+ #
38
+ # @param token_type [String] Token type, always 'Bearer'
39
+ #
40
+ # @param bound_entity [VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity, nil] Entity the token is bound to, if any
41
+
42
+ # @see VitableConnect::Models::AuthIssueAccessTokenResponse#bound_entity
43
+ class BoundEntity < VitableConnect::Internal::Type::BaseModel
44
+ # @!attribute id
45
+ # Prefixed entity ID the token is bound to (empr*\* or empl*\*)
46
+ #
47
+ # @return [String]
48
+ required :id, String
49
+
50
+ # @!attribute type
51
+ # - `employer` - employer
52
+ # - `employee` - employee
53
+ #
54
+ # @return [Symbol, VitableConnect::Models::Type]
55
+ required :type, enum: -> { VitableConnect::Type }
56
+
57
+ # @!method initialize(id:, type:)
58
+ # Some parameter documentations has been truncated, see
59
+ # {VitableConnect::Models::AuthIssueAccessTokenResponse::BoundEntity} for more
60
+ # details.
61
+ #
62
+ # Entity the token is bound to, if any
63
+ #
64
+ # @param id [String] Prefixed entity ID the token is bound to (empr*\* or empl*\*)
65
+ #
66
+ # @param type [Symbol, VitableConnect::Models::Type] - `employer` - employer
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class BenefitEligibilityPolicy < VitableConnect::Internal::Type::BaseModel
6
+ # @!attribute active
7
+ #
8
+ # @return [Boolean]
9
+ required :active, VitableConnect::Internal::Type::Boolean
10
+
11
+ # @!attribute created_at
12
+ #
13
+ # @return [Time]
14
+ required :created_at, Time
15
+
16
+ # @!attribute updated_at
17
+ #
18
+ # @return [Time]
19
+ required :updated_at, Time
20
+
21
+ response_only do
22
+ # @!attribute id
23
+ #
24
+ # @return [String]
25
+ required :id, String
26
+
27
+ # @!attribute classification
28
+ #
29
+ # @return [String]
30
+ required :classification, String
31
+
32
+ # @!attribute employer_id
33
+ #
34
+ # @return [String]
35
+ required :employer_id, String
36
+
37
+ # @!attribute waiting_period
38
+ #
39
+ # @return [String]
40
+ required :waiting_period, String
41
+ end
42
+
43
+ # @!method initialize(id:, active:, classification:, created_at:, employer_id:, updated_at:, waiting_period:)
44
+ # @param id [String]
45
+ # @param active [Boolean]
46
+ # @param classification [String]
47
+ # @param created_at [Time]
48
+ # @param employer_id [String]
49
+ # @param updated_at [Time]
50
+ # @param waiting_period [String]
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::BenefitEligibilityPolicies#retrieve
6
+ class BenefitEligibilityPolicyResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [VitableConnect::Models::BenefitEligibilityPolicy]
10
+ required :data, -> { VitableConnect::BenefitEligibilityPolicy }
11
+
12
+ # @!method initialize(data:)
13
+ # Response containing a single benefit eligibility policy resource.
14
+ #
15
+ # @param data [VitableConnect::Models::BenefitEligibilityPolicy]
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::BenefitEligibilityPolicies#retrieve
6
+ class BenefitEligibilityPolicyRetrieveParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute policy_id
11
+ # Unique benefit eligibility policy identifier (epol\_\*)
12
+ #
13
+ # @return [String]
14
+ required :policy_id, String
15
+
16
+ # @!method initialize(policy_id:, request_options: {})
17
+ # @param policy_id [String] Unique benefit eligibility policy identifier (epol\_\*)
18
+ #
19
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,244 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class Employee < VitableConnect::Internal::Type::BaseModel
6
+ # @!attribute created_at
7
+ # Timestamp when the employee was created
8
+ #
9
+ # @return [Time]
10
+ required :created_at, Time
11
+
12
+ # @!attribute date_of_birth
13
+ # Date of birth (YYYY-MM-DD)
14
+ #
15
+ # @return [Date]
16
+ required :date_of_birth, Date
17
+
18
+ # @!attribute email
19
+ # Email address
20
+ #
21
+ # @return [String]
22
+ required :email, String
23
+
24
+ # @!attribute enrollments
25
+ # Benefit enrollments for this employee
26
+ #
27
+ # @return [Array<VitableConnect::Models::Employee::Enrollment>]
28
+ required :enrollments,
29
+ -> { VitableConnect::Internal::Type::ArrayOf[VitableConnect::Employee::Enrollment] }
30
+
31
+ # @!attribute first_name
32
+ # Employee's legal first name
33
+ #
34
+ # @return [String]
35
+ required :first_name, String
36
+
37
+ # @!attribute last_name
38
+ # Employee's legal last name
39
+ #
40
+ # @return [String]
41
+ required :last_name, String
42
+
43
+ # @!attribute updated_at
44
+ # Timestamp when the employee was last updated
45
+ #
46
+ # @return [Time]
47
+ required :updated_at, Time
48
+
49
+ # @!attribute address
50
+ # Employee's residential address
51
+ #
52
+ # @return [VitableConnect::Models::Employee::Address, nil]
53
+ optional :address, -> { VitableConnect::Employee::Address }, nil?: true
54
+
55
+ # @!attribute employee_class
56
+ # - `Full Time` - Full Time
57
+ # - `Part Time` - Part Time
58
+ # - `Temporary` - Temporary
59
+ # - `Intern` - Intern
60
+ # - `Seasonal` - Seasonal
61
+ # - `Individual Contractor` - Individual Contractor
62
+ #
63
+ # @return [Symbol, VitableConnect::Models::EmployeeClass, nil]
64
+ optional :employee_class, enum: -> { VitableConnect::EmployeeClass }, nil?: true
65
+
66
+ # @!attribute gender
67
+ # Gender identity, if provided
68
+ #
69
+ # @return [String, nil]
70
+ optional :gender, String, nil?: true
71
+
72
+ # @!attribute hire_date
73
+ # Employee's hire date with the employer
74
+ #
75
+ # @return [Date, nil]
76
+ optional :hire_date, Date, nil?: true
77
+
78
+ # @!attribute phone
79
+ # Phone number (10-digit US domestic string)
80
+ #
81
+ # @return [String, nil]
82
+ optional :phone, String, nil?: true
83
+
84
+ # @!attribute reference_id
85
+ # Partner-assigned reference ID for the employee
86
+ #
87
+ # @return [String, nil]
88
+ optional :reference_id, String, nil?: true
89
+
90
+ # @!attribute suffix
91
+ # Name suffix (e.g., Jr., Sr., III)
92
+ #
93
+ # @return [String, nil]
94
+ optional :suffix, String, nil?: true
95
+
96
+ # @!attribute termination_date
97
+ # Employee's termination date, if terminated
98
+ #
99
+ # @return [Date, nil]
100
+ optional :termination_date, Date, nil?: true
101
+
102
+ response_only do
103
+ # @!attribute id
104
+ # Unique employee identifier with 'empl\_' prefix
105
+ #
106
+ # @return [String]
107
+ required :id, String
108
+
109
+ # @!attribute member_id
110
+ # Unique member identifier with 'mbr\_' prefix
111
+ #
112
+ # @return [String]
113
+ required :member_id, String
114
+
115
+ # @!attribute status
116
+ # Employee status (active or terminated)
117
+ #
118
+ # @return [String]
119
+ required :status, String
120
+ end
121
+
122
+ # @!method initialize(id:, created_at:, date_of_birth:, email:, enrollments:, first_name:, last_name:, member_id:, status:, updated_at:, address: nil, employee_class: nil, gender: nil, hire_date: nil, phone: nil, reference_id: nil, suffix: nil, termination_date: nil)
123
+ # Some parameter documentations has been truncated, see
124
+ # {VitableConnect::Models::Employee} for more details.
125
+ #
126
+ # @param id [String] Unique employee identifier with 'empl\_' prefix
127
+ #
128
+ # @param created_at [Time] Timestamp when the employee was created
129
+ #
130
+ # @param date_of_birth [Date] Date of birth (YYYY-MM-DD)
131
+ #
132
+ # @param email [String] Email address
133
+ #
134
+ # @param enrollments [Array<VitableConnect::Models::Employee::Enrollment>] Benefit enrollments for this employee
135
+ #
136
+ # @param first_name [String] Employee's legal first name
137
+ #
138
+ # @param last_name [String] Employee's legal last name
139
+ #
140
+ # @param member_id [String] Unique member identifier with 'mbr\_' prefix
141
+ #
142
+ # @param status [String] Employee status (active or terminated)
143
+ #
144
+ # @param updated_at [Time] Timestamp when the employee was last updated
145
+ #
146
+ # @param address [VitableConnect::Models::Employee::Address, nil] Employee's residential address
147
+ #
148
+ # @param employee_class [Symbol, VitableConnect::Models::EmployeeClass, nil] - `Full Time` - Full Time
149
+ #
150
+ # @param gender [String, nil] Gender identity, if provided
151
+ #
152
+ # @param hire_date [Date, nil] Employee's hire date with the employer
153
+ #
154
+ # @param phone [String, nil] Phone number (10-digit US domestic string)
155
+ #
156
+ # @param reference_id [String, nil] Partner-assigned reference ID for the employee
157
+ #
158
+ # @param suffix [String, nil] Name suffix (e.g., Jr., Sr., III)
159
+ #
160
+ # @param termination_date [Date, nil] Employee's termination date, if terminated
161
+
162
+ class Enrollment < VitableConnect::Internal::Type::BaseModel
163
+ # @!attribute status
164
+ # - `pending` - Pending
165
+ # - `enrolled` - Enrolled
166
+ # - `waived` - Waived
167
+ # - `inactive` - Inactive
168
+ #
169
+ # @return [Symbol, VitableConnect::Models::EnrollmentStatus]
170
+ required :status, enum: -> { VitableConnect::EnrollmentStatus }
171
+
172
+ # @!attribute answered_at
173
+ # Timestamp when the enrollment decision was made
174
+ #
175
+ # @return [Time, nil]
176
+ optional :answered_at, Time, nil?: true
177
+
178
+ response_only do
179
+ # @!attribute id
180
+ # Unique enrollment identifier with 'enrl\_' prefix
181
+ #
182
+ # @return [String]
183
+ required :id, String
184
+ end
185
+
186
+ # @!method initialize(id:, status:, answered_at: nil)
187
+ # Some parameter documentations has been truncated, see
188
+ # {VitableConnect::Models::Employee::Enrollment} for more details.
189
+ #
190
+ # @param id [String] Unique enrollment identifier with 'enrl\_' prefix
191
+ #
192
+ # @param status [Symbol, VitableConnect::Models::EnrollmentStatus] - `pending` - Pending
193
+ #
194
+ # @param answered_at [Time, nil] Timestamp when the enrollment decision was made
195
+ end
196
+
197
+ # @see VitableConnect::Models::Employee#address
198
+ class Address < VitableConnect::Internal::Type::BaseModel
199
+ # @!attribute address_line_1
200
+ # Primary street address
201
+ #
202
+ # @return [String]
203
+ required :address_line_1, String
204
+
205
+ # @!attribute city
206
+ # City name
207
+ #
208
+ # @return [String]
209
+ required :city, String
210
+
211
+ # @!attribute state
212
+ # Two-letter state code (e.g., CA, NY)
213
+ #
214
+ # @return [String]
215
+ required :state, String
216
+
217
+ # @!attribute zipcode
218
+ # ZIP code (5 or 9 digit)
219
+ #
220
+ # @return [String]
221
+ required :zipcode, String
222
+
223
+ # @!attribute address_line_2
224
+ # Secondary street address (apt, suite, etc.)
225
+ #
226
+ # @return [String, nil]
227
+ optional :address_line_2, String, nil?: true
228
+
229
+ # @!method initialize(address_line_1:, city:, state:, zipcode:, address_line_2: nil)
230
+ # Employee's residential address
231
+ #
232
+ # @param address_line_1 [String] Primary street address
233
+ #
234
+ # @param city [String] City name
235
+ #
236
+ # @param state [String] Two-letter state code (e.g., CA, NY)
237
+ #
238
+ # @param zipcode [String] ZIP code (5 or 9 digit)
239
+ #
240
+ # @param address_line_2 [String, nil] Secondary street address (apt, suite, etc.)
241
+ end
242
+ end
243
+ end
244
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # - `Full Time` - Full Time
6
+ # - `Part Time` - Part Time
7
+ # - `Temporary` - Temporary
8
+ # - `Intern` - Intern
9
+ # - `Seasonal` - Seasonal
10
+ # - `Individual Contractor` - Individual Contractor
11
+ module EmployeeClass
12
+ extend VitableConnect::Internal::Type::Enum
13
+
14
+ FULL_TIME = :"Full Time"
15
+ PART_TIME = :"Part Time"
16
+ TEMPORARY = :Temporary
17
+ INTERN = :Intern
18
+ SEASONAL = :Seasonal
19
+ INDIVIDUAL_CONTRACTOR = :"Individual Contractor"
20
+
21
+ # @!method self.values
22
+ # @return [Array<Symbol>]
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employees#list_enrollments
6
+ class EmployeeListEnrollmentsParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute employee_id
11
+ # Unique employee identifier (empl\_\*)
12
+ #
13
+ # @return [String]
14
+ required :employee_id, String
15
+
16
+ # @!attribute limit
17
+ # Items per page (default: 20, max: 100)
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :limit, Integer
21
+
22
+ # @!attribute page
23
+ # Page number (default: 1)
24
+ #
25
+ # @return [Integer, nil]
26
+ optional :page, Integer
27
+
28
+ # @!method initialize(employee_id:, limit: nil, page: nil, request_options: {})
29
+ # @param employee_id [String] Unique employee identifier (empl\_\*)
30
+ #
31
+ # @param limit [Integer] Items per page (default: 20, max: 100)
32
+ #
33
+ # @param page [Integer] Page number (default: 1)
34
+ #
35
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employees#retrieve
6
+ class EmployeeRetrieveParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute employee_id
11
+ # Unique employee identifier (empl\_\*)
12
+ #
13
+ # @return [String]
14
+ required :employee_id, String
15
+
16
+ # @!method initialize(employee_id:, request_options: {})
17
+ # @param employee_id [String] Unique employee identifier (empl\_\*)
18
+ #
19
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employees#retrieve
6
+ class EmployeeRetrieveResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [VitableConnect::Models::Employee]
10
+ required :data, -> { VitableConnect::Employee }
11
+
12
+ # @!method initialize(data:)
13
+ # Response containing a single employee resource.
14
+ #
15
+ # @param data [VitableConnect::Models::Employee]
16
+ end
17
+ end
18
+ end