vitable-connect 0.3.0 → 0.5.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 (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +37 -0
  3. data/README.md +9 -9
  4. data/lib/vitable_connect/client.rb +23 -2
  5. data/lib/vitable_connect/internal/transport/base_client.rb +5 -0
  6. data/lib/vitable_connect/models/employee.rb +9 -53
  7. data/lib/vitable_connect/models/employer.rb +1 -9
  8. data/lib/vitable_connect/models/employer_update_settings_params.rb +52 -0
  9. data/lib/vitable_connect/models/employer_update_settings_response.rb +56 -0
  10. data/lib/vitable_connect/models/group.rb +57 -0
  11. data/lib/vitable_connect/models/group_create_params.rb +26 -0
  12. data/lib/vitable_connect/models/group_list_params.rb +30 -0
  13. data/lib/vitable_connect/models/group_response.rb +18 -0
  14. data/lib/vitable_connect/models/group_retrieve_params.rb +22 -0
  15. data/lib/vitable_connect/models/group_update_params.rb +36 -0
  16. data/lib/vitable_connect/models/groups/members/sync_retrieve_params.rb +33 -0
  17. data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +128 -0
  18. data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +121 -0
  19. data/lib/vitable_connect/models/groups/members/sync_submit_response.rb +45 -0
  20. data/lib/vitable_connect/models/plan_list_params.rb +30 -0
  21. data/lib/vitable_connect/models/plan_list_response.rb +22 -0
  22. data/lib/vitable_connect/models/webhook_event_list_params.rb +0 -3
  23. data/lib/vitable_connect/models.rb +18 -9
  24. data/lib/vitable_connect/resources/benefit_eligibility_policies.rb +0 -21
  25. data/lib/vitable_connect/resources/employers.rb +28 -30
  26. data/lib/vitable_connect/resources/groups/members/sync.rb +74 -0
  27. data/lib/vitable_connect/resources/groups/members.rb +20 -0
  28. data/lib/vitable_connect/resources/groups.rb +114 -0
  29. data/lib/vitable_connect/resources/plans.rb +41 -0
  30. data/lib/vitable_connect/version.rb +1 -1
  31. data/lib/vitable_connect.rb +18 -4
  32. data/rbi/vitable_connect/client.rbi +6 -1
  33. data/rbi/vitable_connect/models/employee.rbi +8 -73
  34. data/rbi/vitable_connect/models/employer.rbi +0 -8
  35. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +114 -0
  36. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +147 -0
  37. data/rbi/vitable_connect/models/group.rbi +77 -0
  38. data/rbi/vitable_connect/models/group_create_params.rbi +46 -0
  39. data/rbi/vitable_connect/models/group_list_params.rbi +60 -0
  40. data/rbi/vitable_connect/models/group_response.rbi +32 -0
  41. data/rbi/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbi → group_retrieve_params.rbi} +8 -8
  42. data/rbi/vitable_connect/models/group_update_params.rbi +58 -0
  43. data/rbi/vitable_connect/models/groups/members/sync_retrieve_params.rbi +56 -0
  44. data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +282 -0
  45. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +214 -0
  46. data/rbi/vitable_connect/models/groups/members/sync_submit_response.rbi +92 -0
  47. data/rbi/vitable_connect/models/plan_list_params.rbi +60 -0
  48. data/rbi/vitable_connect/models/plan_list_response.rbi +29 -0
  49. data/rbi/vitable_connect/models/webhook_event_list_params.rbi +0 -8
  50. data/rbi/vitable_connect/models.rbi +19 -11
  51. data/rbi/vitable_connect/resources/benefit_eligibility_policies.rbi +0 -15
  52. data/rbi/vitable_connect/resources/employers.rbi +22 -21
  53. data/rbi/vitable_connect/resources/groups/members/sync.rbi +62 -0
  54. data/rbi/vitable_connect/resources/groups/members.rbi +17 -0
  55. data/rbi/vitable_connect/resources/groups.rbi +79 -0
  56. data/rbi/vitable_connect/resources/plans.rbi +34 -0
  57. data/rbi/vitable_connect/resources/webhook_events.rbi +0 -1
  58. data/sig/vitable_connect/client.rbs +4 -0
  59. data/sig/vitable_connect/models/employee.rbs +5 -37
  60. data/sig/vitable_connect/models/employer.rbs +0 -5
  61. data/sig/vitable_connect/models/employer_update_settings_params.rbs +44 -0
  62. data/sig/vitable_connect/models/employer_update_settings_response.rbs +48 -0
  63. data/sig/vitable_connect/models/group.rbs +45 -0
  64. data/sig/vitable_connect/models/group_create_params.rbs +28 -0
  65. data/sig/vitable_connect/models/group_list_params.rbs +32 -0
  66. data/sig/vitable_connect/models/group_response.rbs +13 -0
  67. data/sig/vitable_connect/models/{benefit_eligibility_policy_retrieve_params.rbs → group_retrieve_params.rbs} +6 -6
  68. data/sig/vitable_connect/models/group_update_params.rbs +32 -0
  69. data/sig/vitable_connect/models/groups/members/sync_retrieve_params.rbs +32 -0
  70. data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +126 -0
  71. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +124 -0
  72. data/sig/vitable_connect/models/groups/members/sync_submit_response.rbs +47 -0
  73. data/sig/vitable_connect/models/plan_list_params.rbs +32 -0
  74. data/sig/vitable_connect/models/plan_list_response.rbs +15 -0
  75. data/sig/vitable_connect/models/webhook_event_list_params.rbs +0 -2
  76. data/sig/vitable_connect/models.rbs +18 -8
  77. data/sig/vitable_connect/resources/benefit_eligibility_policies.rbs +0 -5
  78. data/sig/vitable_connect/resources/employers.rbs +6 -7
  79. data/sig/vitable_connect/resources/groups/members/sync.rbs +23 -0
  80. data/sig/vitable_connect/resources/groups/members.rbs +11 -0
  81. data/sig/vitable_connect/resources/groups.rbs +33 -0
  82. data/sig/vitable_connect/resources/plans.rbs +13 -0
  83. metadata +56 -14
  84. data/lib/vitable_connect/models/benefit_eligibility_policy.rb +0 -53
  85. data/lib/vitable_connect/models/benefit_eligibility_policy_response.rb +0 -18
  86. data/lib/vitable_connect/models/benefit_eligibility_policy_retrieve_params.rb +0 -22
  87. data/lib/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rb +0 -43
  88. data/rbi/vitable_connect/models/benefit_eligibility_policy.rbi +0 -74
  89. data/rbi/vitable_connect/models/benefit_eligibility_policy_response.rbi +0 -38
  90. data/rbi/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbi +0 -64
  91. data/sig/vitable_connect/models/benefit_eligibility_policy.rbs +0 -50
  92. data/sig/vitable_connect/models/benefit_eligibility_policy_response.rbs +0 -14
  93. data/sig/vitable_connect/models/employer_create_benefit_eligibility_policy_params.rbs +0 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d19150b41214f8f64eead96cac977500a2fec2b2af851569bae8878b6e313a57
4
- data.tar.gz: bdccce83b4bb326a6c362e8640b70465c2cd5e28185757a47d200c6cefe943b1
3
+ metadata.gz: f95073505c09fe79851a300e7809226f73aae321ed396dfaebd55c0a1ed443ba
4
+ data.tar.gz: dbdbfd8d843f86fcf1fbbc093113794f4d765f7f6c727b42759387741f2aa5f7
5
5
  SHA512:
6
- metadata.gz: b546096529e4786fa985f0ce9843b8f7379f0d18968eb27b1f7b456719e216dff854037ae204f267515b305ebd89528f356f2cb2664377ea8140512cc3357d0a
7
- data.tar.gz: b9fb5cabe64d38d8dc5fa19a93d3c5f2079b9dcbceff8aac61c0699ef6fce529cd1fcf373ce3bb58dc39bc1b724a8f1e31a4ab58bb42ec680d7b11847ff80275
6
+ metadata.gz: 9839910b5b1614f3b79e7be1e101a1016c8ea7b3faff6f3c346709182fa75a2aed5299fa7d0de6a46bae4c88f5c26460ba3da4d69e6cfd3bd4912b8b247c1164
7
+ data.tar.gz: 3763f2b619fbb8c838c2834f522be20721891f8b2674a792e4535eda2eb52476a51b36fa2210f4ee0d6957b620e541b148b726419caa73c962e6823dbbf32c20
data/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.5.0 (2026-06-18)
4
+
5
+ Full Changelog: [v0.4.0...v0.5.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.4.0...v0.5.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([a8bcdc8](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/a8bcdc81db4619608b5119a9077ae3b56e441e5c))
10
+ * **api:** api update ([b94afbd](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/b94afbd4992d43ed37036930d0697416b8698946))
11
+ * **api:** api update ([f3374eb](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/f3374eb5c25f3da5c2511fa2b89b049b8fdffbba))
12
+ * **api:** api update ([4c48eb5](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/4c48eb5ebb5f4d939c0604656806fbab0498fabe))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **client:** send content-type header for requests with an omitted optional body ([c2bffd5](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/c2bffd51607ee207814ebca6d6774bfd276d2254))
18
+
19
+ ## 0.4.0 (2026-05-15)
20
+
21
+ Full Changelog: [v0.3.0...v0.4.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.3.0...v0.4.0)
22
+
23
+ ### Features
24
+
25
+ * **api:** api update ([5891ffa](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/5891ffad3ab9bd4ece9a1e2c17e66a07ff30a228))
26
+ * **api:** api update ([62eabe5](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/62eabe5767331aa848e6abaf1a229ee068fc299b))
27
+ * **api:** manual updates ([ca33b4f](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/ca33b4fd801e497a4237e7d69bf557857be075d3))
28
+ * support setting headers via env ([707a5d3](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/707a5d38e79b1e64ed132653910fec8a5a5bf125))
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * **client:** elide content type header on requests without body ([8427bb0](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/8427bb0aefea63b6d8b594cfcb400f8cff2c2b86))
34
+
35
+
36
+ ### Chores
37
+
38
+ * **internal:** more robust bootstrap script ([921ddac](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/921ddac9d3073aeb1fdb7292d413eedfdaf5aa4c))
39
+
3
40
  ## 0.3.0 (2026-04-17)
4
41
 
5
42
  Full Changelog: [v0.2.2...v0.3.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.2.2...v0.3.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "vitable-connect", "~> 0.3.0"
20
+ gem "vitable-connect", "~> 0.5.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -229,25 +229,25 @@ vitable_connect.auth.issue_access_token(**params)
229
229
  Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
230
230
 
231
231
  ```ruby
232
- # :"enrollment.accepted"
233
- puts(VitableConnect::WebhookEventListParams::EventName::ENROLLMENT_ACCEPTED)
232
+ # :weekly
233
+ puts(VitableConnect::EmployerUpdateSettingsParams::PayFrequency::WEEKLY)
234
234
 
235
- # Revealed type: `T.all(VitableConnect::WebhookEventListParams::EventName, Symbol)`
236
- T.reveal_type(VitableConnect::WebhookEventListParams::EventName::ENROLLMENT_ACCEPTED)
235
+ # Revealed type: `T.all(VitableConnect::EmployerUpdateSettingsParams::PayFrequency, Symbol)`
236
+ T.reveal_type(VitableConnect::EmployerUpdateSettingsParams::PayFrequency::WEEKLY)
237
237
  ```
238
238
 
239
239
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
240
240
 
241
241
  ```ruby
242
242
  # Using the enum constants preserves the tagged type information:
243
- vitable_connect.webhook_events.list(
244
- event_name: VitableConnect::WebhookEventListParams::EventName::ENROLLMENT_ACCEPTED,
243
+ vitable_connect.employers.update_settings(
244
+ pay_frequency: VitableConnect::EmployerUpdateSettingsParams::PayFrequency::WEEKLY,
245
245
  # …
246
246
  )
247
247
 
248
248
  # Literal values are also permissible:
249
- vitable_connect.webhook_events.list(
250
- event_name: :"enrollment.accepted",
249
+ vitable_connect.employers.update_settings(
250
+ pay_frequency: :weekly,
251
251
  # …
252
252
  )
253
253
  ```
@@ -30,7 +30,6 @@ module VitableConnect
30
30
  # @return [VitableConnect::Resources::Auth]
31
31
  attr_reader :auth
32
32
 
33
- # Define rules that determine which employees qualify for benefits
34
33
  # @return [VitableConnect::Resources::BenefitEligibilityPolicies]
35
34
  attr_reader :benefit_eligibility_policies
36
35
 
@@ -47,6 +46,12 @@ module VitableConnect
47
46
  # @return [VitableConnect::Resources::WebhookEvents]
48
47
  attr_reader :webhook_events
49
48
 
49
+ # @return [VitableConnect::Resources::Groups]
50
+ attr_reader :groups
51
+
52
+ # @return [VitableConnect::Resources::Plans]
53
+ attr_reader :plans
54
+
50
55
  # @api private
51
56
  #
52
57
  # @return [Hash{String=>String}]
@@ -97,6 +102,19 @@ module VitableConnect
97
102
  raise ArgumentError.new("api_key is required, and can be set via environ: \"VITABLE_CONNECT_API_KEY\"")
98
103
  end
99
104
 
105
+ headers = {}
106
+ custom_headers_env = ENV["VITABLE_CONNECT_CUSTOM_HEADERS"]
107
+ unless custom_headers_env.nil?
108
+ parsed = {}
109
+ custom_headers_env.split("\n").each do |line|
110
+ colon = line.index(":")
111
+ unless colon.nil?
112
+ parsed[line[0...colon].strip] = line[(colon + 1)..].strip
113
+ end
114
+ end
115
+ headers = parsed.merge(headers)
116
+ end
117
+
100
118
  @api_key = api_key.to_s
101
119
 
102
120
  super(
@@ -104,7 +122,8 @@ module VitableConnect
104
122
  timeout: timeout,
105
123
  max_retries: max_retries,
106
124
  initial_retry_delay: initial_retry_delay,
107
- max_retry_delay: max_retry_delay
125
+ max_retry_delay: max_retry_delay,
126
+ headers: headers
108
127
  )
109
128
 
110
129
  @auth = VitableConnect::Resources::Auth.new(client: self)
@@ -113,6 +132,8 @@ module VitableConnect
113
132
  @employers = VitableConnect::Resources::Employers.new(client: self)
114
133
  @enrollments = VitableConnect::Resources::Enrollments.new(client: self)
115
134
  @webhook_events = VitableConnect::Resources::WebhookEvents.new(client: self)
135
+ @groups = VitableConnect::Resources::Groups.new(client: self)
136
+ @plans = VitableConnect::Resources::Plans.new(client: self)
116
137
  end
117
138
  end
118
139
  end
@@ -306,6 +306,11 @@ module VitableConnect
306
306
  VitableConnect::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact)
307
307
  end
308
308
 
309
+ # Generated methods always pass `req[:body]` for operations that define a
310
+ # request body, so only elide the content-type header when the operation
311
+ # has no body at all, not when an optional body param was omitted.
312
+ headers.delete("content-type") if body.nil? && !req.key?(:body)
313
+
309
314
  url = VitableConnect::Internal::Util.join_parsed_uri(
310
315
  @base_url_components,
311
316
  {**req, path: path, query: query}
@@ -28,13 +28,6 @@ module VitableConnect
28
28
  # @return [String]
29
29
  required :email, String
30
30
 
31
- # @!attribute enrollments
32
- # Benefit enrollments for this employee
33
- #
34
- # @return [Array<VitableConnect::Models::Employee::Enrollment>]
35
- required :enrollments,
36
- -> { VitableConnect::Internal::Type::ArrayOf[VitableConnect::Employee::Enrollment] }
37
-
38
31
  # @!attribute first_name
39
32
  # Employee's legal first name
40
33
  #
@@ -82,12 +75,6 @@ module VitableConnect
82
75
  # @return [Date, nil]
83
76
  optional :hire_date, Date, nil?: true
84
77
 
85
- # @!attribute phone
86
- # Phone number (10-digit US domestic string)
87
- #
88
- # @return [String, nil]
89
- optional :phone, String, nil?: true
90
-
91
78
  # @!attribute reference_id
92
79
  # Partner-assigned reference ID for the employee
93
80
  #
@@ -119,6 +106,12 @@ module VitableConnect
119
106
  # @return [String]
120
107
  required :member_id, String
121
108
 
109
+ # @!attribute phone
110
+ # Phone number (10-digit US domestic string)
111
+ #
112
+ # @return [String, nil]
113
+ required :phone, String, nil?: true
114
+
122
115
  # @!attribute status
123
116
  # Employee status (active or terminated)
124
117
  #
@@ -126,7 +119,7 @@ module VitableConnect
126
119
  required :status, String
127
120
  end
128
121
 
129
- # @!method initialize(id:, created_at:, date_of_birth:, deductions:, 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)
122
+ # @!method initialize(id:, created_at:, date_of_birth:, deductions:, email:, first_name:, last_name:, member_id:, phone:, status:, updated_at:, address: nil, employee_class: nil, gender: nil, hire_date: nil, reference_id: nil, suffix: nil, termination_date: nil)
130
123
  # Some parameter documentations has been truncated, see
131
124
  # {VitableConnect::Models::Employee} for more details.
132
125
  #
@@ -140,14 +133,14 @@ module VitableConnect
140
133
  #
141
134
  # @param email [String] Email address
142
135
  #
143
- # @param enrollments [Array<VitableConnect::Models::Employee::Enrollment>] Benefit enrollments for this employee
144
- #
145
136
  # @param first_name [String] Employee's legal first name
146
137
  #
147
138
  # @param last_name [String] Employee's legal last name
148
139
  #
149
140
  # @param member_id [String] Unique member identifier with 'mbr\_' prefix
150
141
  #
142
+ # @param phone [String, nil] Phone number (10-digit US domestic string)
143
+ #
151
144
  # @param status [String] Employee status (active or terminated)
152
145
  #
153
146
  # @param updated_at [Time] Timestamp when the employee was last updated
@@ -160,8 +153,6 @@ module VitableConnect
160
153
  #
161
154
  # @param hire_date [Date, nil] Employee's hire date with the employer
162
155
  #
163
- # @param phone [String, nil] Phone number (10-digit US domestic string)
164
- #
165
156
  # @param reference_id [String, nil] Partner-assigned reference ID for the employee
166
157
  #
167
158
  # @param suffix [String, nil] Name suffix (e.g., Jr., Sr., III)
@@ -269,41 +260,6 @@ module VitableConnect
269
260
  end
270
261
  end
271
262
 
272
- class Enrollment < VitableConnect::Internal::Type::BaseModel
273
- # @!attribute status
274
- # - `pending` - Pending
275
- # - `enrolled` - Enrolled
276
- # - `waived` - Waived
277
- # - `inactive` - Inactive
278
- #
279
- # @return [Symbol, VitableConnect::Models::EnrollmentStatus]
280
- required :status, enum: -> { VitableConnect::EnrollmentStatus }
281
-
282
- # @!attribute answered_at
283
- # Timestamp when the enrollment decision was made
284
- #
285
- # @return [Time, nil]
286
- optional :answered_at, Time, nil?: true
287
-
288
- response_only do
289
- # @!attribute id
290
- # Unique enrollment identifier with 'enrl\_' prefix
291
- #
292
- # @return [String]
293
- required :id, String
294
- end
295
-
296
- # @!method initialize(id:, status:, answered_at: nil)
297
- # Some parameter documentations has been truncated, see
298
- # {VitableConnect::Models::Employee::Enrollment} for more details.
299
- #
300
- # @param id [String] Unique enrollment identifier with 'enrl\_' prefix
301
- #
302
- # @param status [Symbol, VitableConnect::Models::EnrollmentStatus] - `pending` - Pending
303
- #
304
- # @param answered_at [Time, nil] Timestamp when the enrollment decision was made
305
- end
306
-
307
263
  # @see VitableConnect::Models::Employee#address
308
264
  class Address < VitableConnect::Internal::Type::BaseModel
309
265
  # @!attribute address_line_1
@@ -71,12 +71,6 @@ module VitableConnect
71
71
  # @return [String, nil]
72
72
  required :ein, String, nil?: true
73
73
 
74
- # @!attribute eligibility_policy_id
75
- # ID of the benefit eligibility policy (epol\_\*), if assigned
76
- #
77
- # @return [String, nil]
78
- required :eligibility_policy_id, String, nil?: true
79
-
80
74
  # @!attribute organization_id
81
75
  # ID of the parent organization (org\_\*)
82
76
  #
@@ -84,7 +78,7 @@ module VitableConnect
84
78
  required :organization_id, String, nil?: true
85
79
  end
86
80
 
87
- # @!method initialize(id:, active:, address:, created_at:, ein:, eligibility_policy_id:, legal_name:, name:, organization_id:, updated_at:, email: nil, phone_number: nil, reference_id: nil)
81
+ # @!method initialize(id:, active:, address:, created_at:, ein:, legal_name:, name:, organization_id:, updated_at:, email: nil, phone_number: nil, reference_id: nil)
88
82
  # Serializer for Employer entity in public API responses.
89
83
  #
90
84
  # @param id [String] Unique employer identifier with 'empr\_' prefix
@@ -97,8 +91,6 @@ module VitableConnect
97
91
  #
98
92
  # @param ein [String, nil] Employer Identification Number (masked in responses)
99
93
  #
100
- # @param eligibility_policy_id [String, nil] ID of the benefit eligibility policy (epol\_\*), if assigned
101
- #
102
94
  # @param legal_name [String] Legal business name for compliance and tax purposes
103
95
  #
104
96
  # @param name [String] Display name of the employer
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#update_settings
6
+ class EmployerUpdateSettingsParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute employer_id
11
+ # Unique employer identifier (empr\_\*)
12
+ #
13
+ # @return [String]
14
+ required :employer_id, String
15
+
16
+ # @!attribute pay_frequency
17
+ # - `weekly` - weekly
18
+ # - `bi_weekly` - bi_weekly
19
+ # - `semi_monthly` - semi_monthly
20
+ # - `monthly` - monthly
21
+ #
22
+ # @return [Symbol, VitableConnect::Models::EmployerUpdateSettingsParams::PayFrequency]
23
+ required :pay_frequency, enum: -> { VitableConnect::EmployerUpdateSettingsParams::PayFrequency }
24
+
25
+ # @!method initialize(employer_id:, pay_frequency:, request_options: {})
26
+ # Some parameter documentations has been truncated, see
27
+ # {VitableConnect::Models::EmployerUpdateSettingsParams} for more details.
28
+ #
29
+ # @param employer_id [String] Unique employer identifier (empr\_\*)
30
+ #
31
+ # @param pay_frequency [Symbol, VitableConnect::Models::EmployerUpdateSettingsParams::PayFrequency] - `weekly` - weekly
32
+ #
33
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
34
+
35
+ # - `weekly` - weekly
36
+ # - `bi_weekly` - bi_weekly
37
+ # - `semi_monthly` - semi_monthly
38
+ # - `monthly` - monthly
39
+ module PayFrequency
40
+ extend VitableConnect::Internal::Type::Enum
41
+
42
+ WEEKLY = :weekly
43
+ BI_WEEKLY = :bi_weekly
44
+ SEMI_MONTHLY = :semi_monthly
45
+ MONTHLY = :monthly
46
+
47
+ # @!method self.values
48
+ # @return [Array<Symbol>]
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Employers#update_settings
6
+ class EmployerUpdateSettingsResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [VitableConnect::Models::EmployerUpdateSettingsResponse::Data]
10
+ required :data, -> { VitableConnect::Models::EmployerUpdateSettingsResponse::Data }
11
+
12
+ # @!method initialize(data:)
13
+ # Response containing a single employer settings resource.
14
+ #
15
+ # @param data [VitableConnect::Models::EmployerUpdateSettingsResponse::Data]
16
+
17
+ # @see VitableConnect::Models::EmployerUpdateSettingsResponse#data
18
+ class Data < VitableConnect::Internal::Type::BaseModel
19
+ # @!attribute pay_frequency
20
+ # - `weekly` - Weekly
21
+ # - `bi_weekly` - Bi-Weekly
22
+ # - `semi_monthly` - Semi-Monthly
23
+ # - `monthly` - Monthly
24
+ #
25
+ # @return [Symbol, VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency, nil]
26
+ required :pay_frequency,
27
+ enum: -> { VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency },
28
+ nil?: true
29
+
30
+ # @!method initialize(pay_frequency:)
31
+ # Some parameter documentations has been truncated, see
32
+ # {VitableConnect::Models::EmployerUpdateSettingsResponse::Data} for more details.
33
+ #
34
+ # @param pay_frequency [Symbol, VitableConnect::Models::EmployerUpdateSettingsResponse::Data::PayFrequency, nil] - `weekly` - Weekly
35
+
36
+ # - `weekly` - Weekly
37
+ # - `bi_weekly` - Bi-Weekly
38
+ # - `semi_monthly` - Semi-Monthly
39
+ # - `monthly` - Monthly
40
+ #
41
+ # @see VitableConnect::Models::EmployerUpdateSettingsResponse::Data#pay_frequency
42
+ module PayFrequency
43
+ extend VitableConnect::Internal::Type::Enum
44
+
45
+ WEEKLY = :weekly
46
+ BI_WEEKLY = :bi_weekly
47
+ SEMI_MONTHLY = :semi_monthly
48
+ MONTHLY = :monthly
49
+
50
+ # @!method self.values
51
+ # @return [Array<Symbol>]
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Groups#list
6
+ class Group < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ # Prefixed group identifier (`grp_<base64-encoded-uuid>`).
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute created_at
14
+ # Group creation timestamp (ISO 8601, UTC).
15
+ #
16
+ # @return [Time, nil]
17
+ required :created_at, Time, nil?: true
18
+
19
+ # @!attribute external_reference_id
20
+ # Stable identifier for this group in the integrator's own system.
21
+ #
22
+ # @return [String]
23
+ required :external_reference_id, String
24
+
25
+ # @!attribute name
26
+ # Human-readable group name.
27
+ #
28
+ # @return [String]
29
+ required :name, String
30
+
31
+ # @!attribute organization_id
32
+ # Prefixed organization identifier (`org_<base64-encoded-uuid>`).
33
+ #
34
+ # @return [String]
35
+ required :organization_id, String
36
+
37
+ # @!attribute updated_at
38
+ # Last-update timestamp (ISO 8601, UTC).
39
+ #
40
+ # @return [Time, nil]
41
+ required :updated_at, Time, nil?: true
42
+
43
+ # @!method initialize(id:, created_at:, external_reference_id:, name:, organization_id:, updated_at:)
44
+ # @param id [String] Prefixed group identifier (`grp_<base64-encoded-uuid>`).
45
+ #
46
+ # @param created_at [Time, nil] Group creation timestamp (ISO 8601, UTC).
47
+ #
48
+ # @param external_reference_id [String] Stable identifier for this group in the integrator's own system.
49
+ #
50
+ # @param name [String] Human-readable group name.
51
+ #
52
+ # @param organization_id [String] Prefixed organization identifier (`org_<base64-encoded-uuid>`).
53
+ #
54
+ # @param updated_at [Time, nil] Last-update timestamp (ISO 8601, UTC).
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Groups#create
6
+ class GroupCreateParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute external_reference_id
11
+ #
12
+ # @return [String]
13
+ required :external_reference_id, String
14
+
15
+ # @!attribute name
16
+ #
17
+ # @return [String]
18
+ required :name, String
19
+
20
+ # @!method initialize(external_reference_id:, name:, request_options: {})
21
+ # @param external_reference_id [String]
22
+ # @param name [String]
23
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Groups#list
6
+ class GroupListParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute limit
11
+ # Items per page (default: 20, max: 100)
12
+ #
13
+ # @return [Integer, nil]
14
+ optional :limit, Integer
15
+
16
+ # @!attribute page
17
+ # Page number (default: 1)
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :page, Integer
21
+
22
+ # @!method initialize(limit: nil, page: nil, request_options: {})
23
+ # @param limit [Integer] Items per page (default: 20, max: 100)
24
+ #
25
+ # @param page [Integer] Page number (default: 1)
26
+ #
27
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Groups#create
6
+ class GroupResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ #
9
+ # @return [VitableConnect::Models::Group]
10
+ required :data, -> { VitableConnect::Group }
11
+
12
+ # @!method initialize(data:)
13
+ # Response containing a single group resource.
14
+ #
15
+ # @param data [VitableConnect::Models::Group]
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::Groups#retrieve
6
+ class GroupRetrieveParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute group_id
11
+ # Unique group identifier (grp\_\*)
12
+ #
13
+ # @return [String]
14
+ required :group_id, String
15
+
16
+ # @!method initialize(group_id:, request_options: {})
17
+ # @param group_id [String] Unique group identifier (grp\_\*)
18
+ #
19
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Groups#update
6
+ class GroupUpdateParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ # @!attribute group_id
11
+ # Unique group identifier (grp\_\*)
12
+ #
13
+ # @return [String]
14
+ required :group_id, String
15
+
16
+ # @!attribute external_reference_id
17
+ #
18
+ # @return [String, nil]
19
+ optional :external_reference_id, String, nil?: true
20
+
21
+ # @!attribute name
22
+ #
23
+ # @return [String, nil]
24
+ optional :name, String, nil?: true
25
+
26
+ # @!method initialize(group_id:, external_reference_id: nil, name: nil, request_options: {})
27
+ # @param group_id [String] Unique group identifier (grp\_\*)
28
+ #
29
+ # @param external_reference_id [String, nil]
30
+ #
31
+ # @param name [String, nil]
32
+ #
33
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ module Groups
6
+ module Members
7
+ # @see VitableConnect::Resources::Groups::Members::Sync#retrieve
8
+ class SyncRetrieveParams < VitableConnect::Internal::Type::BaseModel
9
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
10
+ include VitableConnect::Internal::Type::RequestParameters
11
+
12
+ # @!attribute group_id
13
+ # Unique group identifier (grp\_\*)
14
+ #
15
+ # @return [String]
16
+ required :group_id, String
17
+
18
+ # @!attribute request_id
19
+ #
20
+ # @return [String]
21
+ required :request_id, String
22
+
23
+ # @!method initialize(group_id:, request_id:, request_options: {})
24
+ # @param group_id [String] Unique group identifier (grp\_\*)
25
+ #
26
+ # @param request_id [String]
27
+ #
28
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end