vitable-connect 0.3.0 → 0.4.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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +9 -9
  4. data/lib/vitable_connect/client.rb +23 -1
  5. data/lib/vitable_connect/internal/transport/base_client.rb +2 -0
  6. data/lib/vitable_connect/models/employee.rb +1 -45
  7. data/lib/vitable_connect/models/employer_update_settings_params.rb +52 -0
  8. data/lib/vitable_connect/models/employer_update_settings_response.rb +56 -0
  9. data/lib/vitable_connect/models/group.rb +46 -0
  10. data/lib/vitable_connect/models/group_create_params.rb +26 -0
  11. data/lib/vitable_connect/models/group_list_params.rb +30 -0
  12. data/lib/vitable_connect/models/group_response.rb +18 -0
  13. data/lib/vitable_connect/models/group_retrieve_params.rb +22 -0
  14. data/lib/vitable_connect/models/group_update_params.rb +36 -0
  15. data/lib/vitable_connect/models/groups/members/sync_retrieve_params.rb +33 -0
  16. data/lib/vitable_connect/models/groups/members/sync_retrieve_response.rb +57 -0
  17. data/lib/vitable_connect/models/groups/members/sync_submit_params.rb +121 -0
  18. data/lib/vitable_connect/models/groups/members/sync_submit_response.rb +45 -0
  19. data/lib/vitable_connect/models/plan_list_params.rb +30 -0
  20. data/lib/vitable_connect/models/plan_list_response.rb +22 -0
  21. data/lib/vitable_connect/models.rb +18 -0
  22. data/lib/vitable_connect/resources/employers.rb +28 -0
  23. data/lib/vitable_connect/resources/groups/members/sync.rb +74 -0
  24. data/lib/vitable_connect/resources/groups/members.rb +20 -0
  25. data/lib/vitable_connect/resources/groups.rb +114 -0
  26. data/lib/vitable_connect/resources/plans.rb +41 -0
  27. data/lib/vitable_connect/version.rb +1 -1
  28. data/lib/vitable_connect.rb +18 -0
  29. data/rbi/vitable_connect/client.rbi +6 -0
  30. data/rbi/vitable_connect/models/employee.rbi +0 -65
  31. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +114 -0
  32. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +147 -0
  33. data/rbi/vitable_connect/models/group.rbi +65 -0
  34. data/rbi/vitable_connect/models/group_create_params.rbi +46 -0
  35. data/rbi/vitable_connect/models/group_list_params.rbi +60 -0
  36. data/rbi/vitable_connect/models/group_response.rbi +32 -0
  37. data/rbi/vitable_connect/models/group_retrieve_params.rbi +43 -0
  38. data/rbi/vitable_connect/models/group_update_params.rbi +58 -0
  39. data/rbi/vitable_connect/models/groups/members/sync_retrieve_params.rbi +56 -0
  40. data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +112 -0
  41. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +214 -0
  42. data/rbi/vitable_connect/models/groups/members/sync_submit_response.rbi +92 -0
  43. data/rbi/vitable_connect/models/plan_list_params.rbi +60 -0
  44. data/rbi/vitable_connect/models/plan_list_response.rbi +29 -0
  45. data/rbi/vitable_connect/models.rbi +19 -0
  46. data/rbi/vitable_connect/resources/employers.rbi +22 -0
  47. data/rbi/vitable_connect/resources/groups/members/sync.rbi +62 -0
  48. data/rbi/vitable_connect/resources/groups/members.rbi +17 -0
  49. data/rbi/vitable_connect/resources/groups.rbi +79 -0
  50. data/rbi/vitable_connect/resources/plans.rbi +34 -0
  51. data/sig/vitable_connect/client.rbs +4 -0
  52. data/sig/vitable_connect/models/employee.rbs +0 -32
  53. data/sig/vitable_connect/models/employer_update_settings_params.rbs +44 -0
  54. data/sig/vitable_connect/models/employer_update_settings_response.rbs +48 -0
  55. data/sig/vitable_connect/models/group.rbs +45 -0
  56. data/sig/vitable_connect/models/group_create_params.rbs +28 -0
  57. data/sig/vitable_connect/models/group_list_params.rbs +32 -0
  58. data/sig/vitable_connect/models/group_response.rbs +13 -0
  59. data/sig/vitable_connect/models/group_retrieve_params.rbs +23 -0
  60. data/sig/vitable_connect/models/group_update_params.rbs +32 -0
  61. data/sig/vitable_connect/models/groups/members/sync_retrieve_params.rbs +32 -0
  62. data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +61 -0
  63. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +124 -0
  64. data/sig/vitable_connect/models/groups/members/sync_submit_response.rbs +47 -0
  65. data/sig/vitable_connect/models/plan_list_params.rbs +32 -0
  66. data/sig/vitable_connect/models/plan_list_response.rbs +15 -0
  67. data/sig/vitable_connect/models.rbs +18 -0
  68. data/sig/vitable_connect/resources/employers.rbs +6 -0
  69. data/sig/vitable_connect/resources/groups/members/sync.rbs +23 -0
  70. data/sig/vitable_connect/resources/groups/members.rbs +11 -0
  71. data/sig/vitable_connect/resources/groups.rbs +33 -0
  72. data/sig/vitable_connect/resources/plans.rbs +13 -0
  73. metadata +56 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d19150b41214f8f64eead96cac977500a2fec2b2af851569bae8878b6e313a57
4
- data.tar.gz: bdccce83b4bb326a6c362e8640b70465c2cd5e28185757a47d200c6cefe943b1
3
+ metadata.gz: 5b7bde326a118d6bf7e828b5656d7a171347a8f56cd6462ebd9039513c111deb
4
+ data.tar.gz: 81933369ea36e6cc106bfcf36f89a4730675a5fb213ae1ffb77dcb68b0f8c5cc
5
5
  SHA512:
6
- metadata.gz: b546096529e4786fa985f0ce9843b8f7379f0d18968eb27b1f7b456719e216dff854037ae204f267515b305ebd89528f356f2cb2664377ea8140512cc3357d0a
7
- data.tar.gz: b9fb5cabe64d38d8dc5fa19a93d3c5f2079b9dcbceff8aac61c0699ef6fce529cd1fcf373ce3bb58dc39bc1b724a8f1e31a4ab58bb42ec680d7b11847ff80275
6
+ metadata.gz: d738d00b68acbf4f3d801da254c7aec0e490c36d36ffa3ca48ea52f9a69320e8ec7887c3365ac9706170a901642042dfd290d50c01206bf50c51e326fa033356
7
+ data.tar.gz: 1d1f53004097675d631528b82e275558fa3f01bdb51bb65b2ef4d906a41a885dc3dff8e810acc8a28bffdf32faef58b19bc9b702d35fe337ae03314bf7571179
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 (2026-05-15)
4
+
5
+ Full Changelog: [v0.3.0...v0.4.0](https://github.com/Vitable-Inc/vitable-connect-ruby/compare/v0.3.0...v0.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([5891ffa](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/5891ffad3ab9bd4ece9a1e2c17e66a07ff30a228))
10
+ * **api:** api update ([62eabe5](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/62eabe5767331aa848e6abaf1a229ee068fc299b))
11
+ * **api:** manual updates ([ca33b4f](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/ca33b4fd801e497a4237e7d69bf557857be075d3))
12
+ * support setting headers via env ([707a5d3](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/707a5d38e79b1e64ed132653910fec8a5a5bf125))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **client:** elide content type header on requests without body ([8427bb0](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/8427bb0aefea63b6d8b594cfcb400f8cff2c2b86))
18
+
19
+
20
+ ### Chores
21
+
22
+ * **internal:** more robust bootstrap script ([921ddac](https://github.com/Vitable-Inc/vitable-connect-ruby/commit/921ddac9d3073aeb1fdb7292d413eedfdaf5aa4c))
23
+
3
24
  ## 0.3.0 (2026-04-17)
4
25
 
5
26
  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.4.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
  ```
@@ -47,6 +47,12 @@ module VitableConnect
47
47
  # @return [VitableConnect::Resources::WebhookEvents]
48
48
  attr_reader :webhook_events
49
49
 
50
+ # @return [VitableConnect::Resources::Groups]
51
+ attr_reader :groups
52
+
53
+ # @return [VitableConnect::Resources::Plans]
54
+ attr_reader :plans
55
+
50
56
  # @api private
51
57
  #
52
58
  # @return [Hash{String=>String}]
@@ -97,6 +103,19 @@ module VitableConnect
97
103
  raise ArgumentError.new("api_key is required, and can be set via environ: \"VITABLE_CONNECT_API_KEY\"")
98
104
  end
99
105
 
106
+ headers = {}
107
+ custom_headers_env = ENV["VITABLE_CONNECT_CUSTOM_HEADERS"]
108
+ unless custom_headers_env.nil?
109
+ parsed = {}
110
+ custom_headers_env.split("\n").each do |line|
111
+ colon = line.index(":")
112
+ unless colon.nil?
113
+ parsed[line[0...colon].strip] = line[(colon + 1)..].strip
114
+ end
115
+ end
116
+ headers = parsed.merge(headers)
117
+ end
118
+
100
119
  @api_key = api_key.to_s
101
120
 
102
121
  super(
@@ -104,7 +123,8 @@ module VitableConnect
104
123
  timeout: timeout,
105
124
  max_retries: max_retries,
106
125
  initial_retry_delay: initial_retry_delay,
107
- max_retry_delay: max_retry_delay
126
+ max_retry_delay: max_retry_delay,
127
+ headers: headers
108
128
  )
109
129
 
110
130
  @auth = VitableConnect::Resources::Auth.new(client: self)
@@ -113,6 +133,8 @@ module VitableConnect
113
133
  @employers = VitableConnect::Resources::Employers.new(client: self)
114
134
  @enrollments = VitableConnect::Resources::Enrollments.new(client: self)
115
135
  @webhook_events = VitableConnect::Resources::WebhookEvents.new(client: self)
136
+ @groups = VitableConnect::Resources::Groups.new(client: self)
137
+ @plans = VitableConnect::Resources::Plans.new(client: self)
116
138
  end
117
139
  end
118
140
  end
@@ -306,6 +306,8 @@ module VitableConnect
306
306
  VitableConnect::Internal::Util.deep_merge(*[req[:body], opts[:extra_body]].compact)
307
307
  end
308
308
 
309
+ headers.delete("content-type") if body.nil?
310
+
309
311
  url = VitableConnect::Internal::Util.join_parsed_uri(
310
312
  @base_url_components,
311
313
  {**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
  #
@@ -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:, status:, updated_at:, address: nil, employee_class: nil, gender: nil, hire_date: nil, phone: 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,8 +133,6 @@ 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
@@ -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
@@ -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,46 @@
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
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute created_at
13
+ #
14
+ # @return [Time, nil]
15
+ required :created_at, Time, nil?: true
16
+
17
+ # @!attribute external_reference_id
18
+ #
19
+ # @return [String]
20
+ required :external_reference_id, String
21
+
22
+ # @!attribute name
23
+ #
24
+ # @return [String]
25
+ required :name, String
26
+
27
+ # @!attribute organization_id
28
+ #
29
+ # @return [String]
30
+ required :organization_id, String
31
+
32
+ # @!attribute updated_at
33
+ #
34
+ # @return [Time, nil]
35
+ required :updated_at, Time, nil?: true
36
+
37
+ # @!method initialize(id:, created_at:, external_reference_id:, name:, organization_id:, updated_at:)
38
+ # @param id [String]
39
+ # @param created_at [Time, nil]
40
+ # @param external_reference_id [String]
41
+ # @param name [String]
42
+ # @param organization_id [String]
43
+ # @param updated_at [Time, nil]
44
+ end
45
+ end
46
+ 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
@@ -0,0 +1,57 @@
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 SyncRetrieveResponse < VitableConnect::Internal::Type::BaseModel
9
+ # @!attribute data
10
+ #
11
+ # @return [VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data]
12
+ required :data, -> { VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data }
13
+
14
+ # @!method initialize(data:)
15
+ # Response containing a single group member sync request detail resource.
16
+ #
17
+ # @param data [VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data]
18
+
19
+ # @see VitableConnect::Models::Groups::Members::SyncRetrieveResponse#data
20
+ class Data < VitableConnect::Internal::Type::BaseModel
21
+ # @!attribute accepted_at
22
+ #
23
+ # @return [Time]
24
+ required :accepted_at, Time
25
+
26
+ # @!attribute completed_at
27
+ #
28
+ # @return [Time, nil]
29
+ required :completed_at, Time, nil?: true
30
+
31
+ # @!attribute group_id
32
+ #
33
+ # @return [String]
34
+ required :group_id, String
35
+
36
+ # @!attribute request_id
37
+ #
38
+ # @return [String]
39
+ required :request_id, String
40
+
41
+ # @!attribute results
42
+ #
43
+ # @return [Object]
44
+ required :results, VitableConnect::Internal::Type::Unknown
45
+
46
+ # @!method initialize(accepted_at:, completed_at:, group_id:, request_id:, results:)
47
+ # @param accepted_at [Time]
48
+ # @param completed_at [Time, nil]
49
+ # @param group_id [String]
50
+ # @param request_id [String]
51
+ # @param results [Object]
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end