vitable-connect 0.2.2 → 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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -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/internal/util.rb +3 -1
  7. data/lib/vitable_connect/models/employee.rb +11 -46
  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 +46 -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 +57 -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.rb +18 -0
  23. data/lib/vitable_connect/resources/employers.rb +28 -0
  24. data/lib/vitable_connect/resources/groups/members/sync.rb +74 -0
  25. data/lib/vitable_connect/resources/groups/members.rb +20 -0
  26. data/lib/vitable_connect/resources/groups.rb +114 -0
  27. data/lib/vitable_connect/resources/plans.rb +41 -0
  28. data/lib/vitable_connect/version.rb +1 -1
  29. data/lib/vitable_connect.rb +18 -0
  30. data/rbi/vitable_connect/client.rbi +6 -0
  31. data/rbi/vitable_connect/models/employee.rbi +24 -65
  32. data/rbi/vitable_connect/models/employer_update_settings_params.rbi +114 -0
  33. data/rbi/vitable_connect/models/employer_update_settings_response.rbi +147 -0
  34. data/rbi/vitable_connect/models/group.rbi +65 -0
  35. data/rbi/vitable_connect/models/group_create_params.rbi +46 -0
  36. data/rbi/vitable_connect/models/group_list_params.rbi +60 -0
  37. data/rbi/vitable_connect/models/group_response.rbi +32 -0
  38. data/rbi/vitable_connect/models/group_retrieve_params.rbi +43 -0
  39. data/rbi/vitable_connect/models/group_update_params.rbi +58 -0
  40. data/rbi/vitable_connect/models/groups/members/sync_retrieve_params.rbi +56 -0
  41. data/rbi/vitable_connect/models/groups/members/sync_retrieve_response.rbi +112 -0
  42. data/rbi/vitable_connect/models/groups/members/sync_submit_params.rbi +214 -0
  43. data/rbi/vitable_connect/models/groups/members/sync_submit_response.rbi +92 -0
  44. data/rbi/vitable_connect/models/plan_list_params.rbi +60 -0
  45. data/rbi/vitable_connect/models/plan_list_response.rbi +29 -0
  46. data/rbi/vitable_connect/models.rbi +19 -0
  47. data/rbi/vitable_connect/resources/employers.rbi +22 -0
  48. data/rbi/vitable_connect/resources/groups/members/sync.rbi +62 -0
  49. data/rbi/vitable_connect/resources/groups/members.rbi +17 -0
  50. data/rbi/vitable_connect/resources/groups.rbi +79 -0
  51. data/rbi/vitable_connect/resources/plans.rbi +34 -0
  52. data/sig/vitable_connect/client.rbs +4 -0
  53. data/sig/vitable_connect/models/employee.rbs +4 -33
  54. data/sig/vitable_connect/models/employer_update_settings_params.rbs +44 -0
  55. data/sig/vitable_connect/models/employer_update_settings_response.rbs +48 -0
  56. data/sig/vitable_connect/models/group.rbs +45 -0
  57. data/sig/vitable_connect/models/group_create_params.rbs +28 -0
  58. data/sig/vitable_connect/models/group_list_params.rbs +32 -0
  59. data/sig/vitable_connect/models/group_response.rbs +13 -0
  60. data/sig/vitable_connect/models/group_retrieve_params.rbs +23 -0
  61. data/sig/vitable_connect/models/group_update_params.rbs +32 -0
  62. data/sig/vitable_connect/models/groups/members/sync_retrieve_params.rbs +32 -0
  63. data/sig/vitable_connect/models/groups/members/sync_retrieve_response.rbs +61 -0
  64. data/sig/vitable_connect/models/groups/members/sync_submit_params.rbs +124 -0
  65. data/sig/vitable_connect/models/groups/members/sync_submit_response.rbs +47 -0
  66. data/sig/vitable_connect/models/plan_list_params.rbs +32 -0
  67. data/sig/vitable_connect/models/plan_list_response.rbs +15 -0
  68. data/sig/vitable_connect/models.rbs +18 -0
  69. data/sig/vitable_connect/resources/employers.rbs +6 -0
  70. data/sig/vitable_connect/resources/groups/members/sync.rbs +23 -0
  71. data/sig/vitable_connect/resources/groups/members.rbs +11 -0
  72. data/sig/vitable_connect/resources/groups.rbs +33 -0
  73. data/sig/vitable_connect/resources/plans.rbs +13 -0
  74. metadata +56 -2
@@ -0,0 +1,62 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Resources
5
+ class Groups
6
+ class Members
7
+ class Sync
8
+ # Retrieves a previously-submitted group member sync request by its `grpmsr_` ID.
9
+ # Returns the acceptance timestamp, completion timestamp (if processing has
10
+ # finished), and the per-member `results` once available. While processing is in
11
+ # flight, `completed_at` and `results` are `null`.
12
+ sig do
13
+ params(
14
+ request_id: String,
15
+ group_id: String,
16
+ request_options: VitableConnect::RequestOptions::OrHash
17
+ ).returns(
18
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse
19
+ )
20
+ end
21
+ def retrieve(
22
+ request_id,
23
+ # Unique group identifier (grp\_\*)
24
+ group_id:,
25
+ request_options: {}
26
+ )
27
+ end
28
+
29
+ # Submits a member sync payload for the specified group. Members in the payload
30
+ # will be queued for processing asynchronously. Returns HTTP 202 with the batch ID
31
+ # and acceptance timestamp.
32
+ sig do
33
+ params(
34
+ group_id: String,
35
+ members:
36
+ T::Array[
37
+ VitableConnect::Groups::Members::SyncSubmitParams::Member::OrHash
38
+ ],
39
+ request_options: VitableConnect::RequestOptions::OrHash
40
+ ).returns(
41
+ VitableConnect::Models::Groups::Members::SyncSubmitResponse
42
+ )
43
+ end
44
+ def submit(
45
+ # Unique group identifier (grp\_\*)
46
+ group_id,
47
+ members:,
48
+ request_options: {}
49
+ )
50
+ end
51
+
52
+ # @api private
53
+ sig do
54
+ params(client: VitableConnect::Client).returns(T.attached_class)
55
+ end
56
+ def self.new(client:)
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,17 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Resources
5
+ class Groups
6
+ class Members
7
+ sig { returns(VitableConnect::Resources::Groups::Members::Sync) }
8
+ attr_reader :sync
9
+
10
+ # @api private
11
+ sig { params(client: VitableConnect::Client).returns(T.attached_class) }
12
+ def self.new(client:)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Resources
5
+ class Groups
6
+ sig { returns(VitableConnect::Resources::Groups::Members) }
7
+ attr_reader :members
8
+
9
+ # Creates a new group scoped to the authenticated organization.
10
+ sig do
11
+ params(
12
+ external_reference_id: String,
13
+ name: String,
14
+ request_options: VitableConnect::RequestOptions::OrHash
15
+ ).returns(VitableConnect::GroupResponse)
16
+ end
17
+ def create(external_reference_id:, name:, request_options: {})
18
+ end
19
+
20
+ # Retrieves a single group by its prefixed ID. Returns 404 if the group does not
21
+ # belong to the authenticated organization.
22
+ sig do
23
+ params(
24
+ group_id: String,
25
+ request_options: VitableConnect::RequestOptions::OrHash
26
+ ).returns(VitableConnect::GroupResponse)
27
+ end
28
+ def retrieve(
29
+ # Unique group identifier (grp\_\*)
30
+ group_id,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ # Partially updates a group's name or external reference ID. Returns 404 if the
36
+ # group does not belong to the authenticated organization.
37
+ sig do
38
+ params(
39
+ group_id: String,
40
+ external_reference_id: T.nilable(String),
41
+ name: T.nilable(String),
42
+ request_options: VitableConnect::RequestOptions::OrHash
43
+ ).returns(VitableConnect::GroupResponse)
44
+ end
45
+ def update(
46
+ # Unique group identifier (grp\_\*)
47
+ group_id,
48
+ external_reference_id: nil,
49
+ name: nil,
50
+ request_options: {}
51
+ )
52
+ end
53
+
54
+ # Returns a paginated list of groups belonging to the authenticated organization.
55
+ sig do
56
+ params(
57
+ limit: Integer,
58
+ page: Integer,
59
+ request_options: VitableConnect::RequestOptions::OrHash
60
+ ).returns(
61
+ VitableConnect::Internal::PageNumberPage[VitableConnect::Group]
62
+ )
63
+ end
64
+ def list(
65
+ # Items per page (default: 20, max: 100)
66
+ limit: nil,
67
+ # Page number (default: 1)
68
+ page: nil,
69
+ request_options: {}
70
+ )
71
+ end
72
+
73
+ # @api private
74
+ sig { params(client: VitableConnect::Client).returns(T.attached_class) }
75
+ def self.new(client:)
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Resources
5
+ class Plans
6
+ # Returns a paginated list of benefit plans linked to the authenticated
7
+ # organization.
8
+ sig do
9
+ params(
10
+ limit: Integer,
11
+ page: Integer,
12
+ request_options: VitableConnect::RequestOptions::OrHash
13
+ ).returns(
14
+ VitableConnect::Internal::PageNumberPage[
15
+ VitableConnect::Models::PlanListResponse
16
+ ]
17
+ )
18
+ end
19
+ def list(
20
+ # Items per page (default: 20, max: 100)
21
+ limit: nil,
22
+ # Page number (default: 1)
23
+ page: nil,
24
+ request_options: {}
25
+ )
26
+ end
27
+
28
+ # @api private
29
+ sig { params(client: VitableConnect::Client).returns(T.attached_class) }
30
+ def self.new(client:)
31
+ end
32
+ end
33
+ end
34
+ end
@@ -27,6 +27,10 @@ module VitableConnect
27
27
 
28
28
  attr_reader webhook_events: VitableConnect::Resources::WebhookEvents
29
29
 
30
+ attr_reader groups: VitableConnect::Resources::Groups
31
+
32
+ attr_reader plans: VitableConnect::Resources::Plans
33
+
30
34
  private def auth_headers: -> ::Hash[String, String]
31
35
 
32
36
  def initialize: (
@@ -7,7 +7,6 @@ module VitableConnect
7
7
  date_of_birth: Date,
8
8
  deductions: ::Array[VitableConnect::Employee::Deduction],
9
9
  email: String,
10
- enrollments: ::Array[VitableConnect::Employee::Enrollment],
11
10
  first_name: String,
12
11
  last_name: String,
13
12
  member_id: String,
@@ -32,8 +31,6 @@ module VitableConnect
32
31
 
33
32
  attr_accessor email: String
34
33
 
35
- attr_accessor enrollments: ::Array[VitableConnect::Employee::Enrollment]
36
-
37
34
  attr_accessor first_name: String
38
35
 
39
36
  attr_accessor last_name: String
@@ -68,7 +65,6 @@ module VitableConnect
68
65
  date_of_birth: Date,
69
66
  deductions: ::Array[VitableConnect::Employee::Deduction],
70
67
  email: String,
71
- enrollments: ::Array[VitableConnect::Employee::Enrollment],
72
68
  first_name: String,
73
69
  last_name: String,
74
70
  member_id: String,
@@ -90,7 +86,6 @@ module VitableConnect
90
86
  date_of_birth: Date,
91
87
  deductions: ::Array[VitableConnect::Employee::Deduction],
92
88
  email: String,
93
- enrollments: ::Array[VitableConnect::Employee::Enrollment],
94
89
  first_name: String,
95
90
  last_name: String,
96
91
  member_id: String,
@@ -152,11 +147,14 @@ module VitableConnect
152
147
  tax_classification: VitableConnect::Models::Employee::Deduction::tax_classification
153
148
  }
154
149
 
155
- type frequency = :monthly
150
+ type frequency = :weekly | :bi_weekly | :semi_monthly | :monthly
156
151
 
157
152
  module Frequency
158
153
  extend VitableConnect::Internal::Type::Enum
159
154
 
155
+ WEEKLY: :weekly
156
+ BI_WEEKLY: :bi_weekly
157
+ SEMI_MONTHLY: :semi_monthly
160
158
  MONTHLY: :monthly
161
159
 
162
160
  def self?.values: -> ::Array[VitableConnect::Models::Employee::Deduction::frequency]
@@ -175,33 +173,6 @@ module VitableConnect
175
173
  end
176
174
  end
177
175
 
178
- type enrollment =
179
- {
180
- id: String,
181
- status: VitableConnect::Models::enrollment_status,
182
- answered_at: Time?
183
- }
184
-
185
- class Enrollment < VitableConnect::Internal::Type::BaseModel
186
- attr_accessor status: VitableConnect::Models::enrollment_status
187
-
188
- attr_accessor answered_at: Time?
189
-
190
- attr_accessor id: String
191
-
192
- def initialize: (
193
- id: String,
194
- status: VitableConnect::Models::enrollment_status,
195
- ?answered_at: Time?
196
- ) -> void
197
-
198
- def to_hash: -> {
199
- id: String,
200
- status: VitableConnect::Models::enrollment_status,
201
- answered_at: Time?
202
- }
203
- end
204
-
205
176
  type address =
206
177
  {
207
178
  :address_line_1 => String,
@@ -0,0 +1,44 @@
1
+ module VitableConnect
2
+ module Models
3
+ type employer_update_settings_params =
4
+ {
5
+ employer_id: String,
6
+ pay_frequency: VitableConnect::Models::EmployerUpdateSettingsParams::pay_frequency
7
+ }
8
+ & VitableConnect::Internal::Type::request_parameters
9
+
10
+ class EmployerUpdateSettingsParams < VitableConnect::Internal::Type::BaseModel
11
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
12
+ include VitableConnect::Internal::Type::RequestParameters
13
+
14
+ attr_accessor employer_id: String
15
+
16
+ attr_accessor pay_frequency: VitableConnect::Models::EmployerUpdateSettingsParams::pay_frequency
17
+
18
+ def initialize: (
19
+ employer_id: String,
20
+ pay_frequency: VitableConnect::Models::EmployerUpdateSettingsParams::pay_frequency,
21
+ ?request_options: VitableConnect::request_opts
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ employer_id: String,
26
+ pay_frequency: VitableConnect::Models::EmployerUpdateSettingsParams::pay_frequency,
27
+ request_options: VitableConnect::RequestOptions
28
+ }
29
+
30
+ type pay_frequency = :weekly | :bi_weekly | :semi_monthly | :monthly
31
+
32
+ module PayFrequency
33
+ extend VitableConnect::Internal::Type::Enum
34
+
35
+ WEEKLY: :weekly
36
+ BI_WEEKLY: :bi_weekly
37
+ SEMI_MONTHLY: :semi_monthly
38
+ MONTHLY: :monthly
39
+
40
+ def self?.values: -> ::Array[VitableConnect::Models::EmployerUpdateSettingsParams::pay_frequency]
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,48 @@
1
+ module VitableConnect
2
+ module Models
3
+ type employer_update_settings_response =
4
+ { data: VitableConnect::Models::EmployerUpdateSettingsResponse::Data }
5
+
6
+ class EmployerUpdateSettingsResponse < VitableConnect::Internal::Type::BaseModel
7
+ attr_accessor data: VitableConnect::Models::EmployerUpdateSettingsResponse::Data
8
+
9
+ def initialize: (
10
+ data: VitableConnect::Models::EmployerUpdateSettingsResponse::Data
11
+ ) -> void
12
+
13
+ def to_hash: -> {
14
+ data: VitableConnect::Models::EmployerUpdateSettingsResponse::Data
15
+ }
16
+
17
+ type data =
18
+ {
19
+ pay_frequency: VitableConnect::Models::EmployerUpdateSettingsResponse::Data::pay_frequency?
20
+ }
21
+
22
+ class Data < VitableConnect::Internal::Type::BaseModel
23
+ attr_accessor pay_frequency: VitableConnect::Models::EmployerUpdateSettingsResponse::Data::pay_frequency?
24
+
25
+ def initialize: (
26
+ pay_frequency: VitableConnect::Models::EmployerUpdateSettingsResponse::Data::pay_frequency?
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ pay_frequency: VitableConnect::Models::EmployerUpdateSettingsResponse::Data::pay_frequency?
31
+ }
32
+
33
+ type pay_frequency = :weekly | :bi_weekly | :semi_monthly | :monthly
34
+
35
+ module PayFrequency
36
+ extend VitableConnect::Internal::Type::Enum
37
+
38
+ WEEKLY: :weekly
39
+ BI_WEEKLY: :bi_weekly
40
+ SEMI_MONTHLY: :semi_monthly
41
+ MONTHLY: :monthly
42
+
43
+ def self?.values: -> ::Array[VitableConnect::Models::EmployerUpdateSettingsResponse::Data::pay_frequency]
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,45 @@
1
+ module VitableConnect
2
+ module Models
3
+ type group =
4
+ {
5
+ id: String,
6
+ created_at: Time?,
7
+ external_reference_id: String,
8
+ name: String,
9
+ organization_id: String,
10
+ updated_at: Time?
11
+ }
12
+
13
+ class Group < VitableConnect::Internal::Type::BaseModel
14
+ attr_accessor id: String
15
+
16
+ attr_accessor created_at: Time?
17
+
18
+ attr_accessor external_reference_id: String
19
+
20
+ attr_accessor name: String
21
+
22
+ attr_accessor organization_id: String
23
+
24
+ attr_accessor updated_at: Time?
25
+
26
+ def initialize: (
27
+ id: String,
28
+ created_at: Time?,
29
+ external_reference_id: String,
30
+ name: String,
31
+ organization_id: String,
32
+ updated_at: Time?
33
+ ) -> void
34
+
35
+ def to_hash: -> {
36
+ id: String,
37
+ created_at: Time?,
38
+ external_reference_id: String,
39
+ name: String,
40
+ organization_id: String,
41
+ updated_at: Time?
42
+ }
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,28 @@
1
+ module VitableConnect
2
+ module Models
3
+ type group_create_params =
4
+ { external_reference_id: String, name: String }
5
+ & VitableConnect::Internal::Type::request_parameters
6
+
7
+ class GroupCreateParams < VitableConnect::Internal::Type::BaseModel
8
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
9
+ include VitableConnect::Internal::Type::RequestParameters
10
+
11
+ attr_accessor external_reference_id: String
12
+
13
+ attr_accessor name: String
14
+
15
+ def initialize: (
16
+ external_reference_id: String,
17
+ name: String,
18
+ ?request_options: VitableConnect::request_opts
19
+ ) -> void
20
+
21
+ def to_hash: -> {
22
+ external_reference_id: String,
23
+ name: String,
24
+ request_options: VitableConnect::RequestOptions
25
+ }
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,32 @@
1
+ module VitableConnect
2
+ module Models
3
+ type group_list_params =
4
+ { limit: Integer, page: Integer }
5
+ & VitableConnect::Internal::Type::request_parameters
6
+
7
+ class GroupListParams < VitableConnect::Internal::Type::BaseModel
8
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
9
+ include VitableConnect::Internal::Type::RequestParameters
10
+
11
+ attr_reader limit: Integer?
12
+
13
+ def limit=: (Integer) -> Integer
14
+
15
+ attr_reader page: Integer?
16
+
17
+ def page=: (Integer) -> Integer
18
+
19
+ def initialize: (
20
+ ?limit: Integer,
21
+ ?page: Integer,
22
+ ?request_options: VitableConnect::request_opts
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ limit: Integer,
27
+ page: Integer,
28
+ request_options: VitableConnect::RequestOptions
29
+ }
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,13 @@
1
+ module VitableConnect
2
+ module Models
3
+ type group_response = { data: VitableConnect::Group }
4
+
5
+ class GroupResponse < VitableConnect::Internal::Type::BaseModel
6
+ attr_accessor data: VitableConnect::Group
7
+
8
+ def initialize: (data: VitableConnect::Group) -> void
9
+
10
+ def to_hash: -> { data: VitableConnect::Group }
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ module VitableConnect
2
+ module Models
3
+ type group_retrieve_params =
4
+ { group_id: String } & VitableConnect::Internal::Type::request_parameters
5
+
6
+ class GroupRetrieveParams < VitableConnect::Internal::Type::BaseModel
7
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
8
+ include VitableConnect::Internal::Type::RequestParameters
9
+
10
+ attr_accessor group_id: String
11
+
12
+ def initialize: (
13
+ group_id: String,
14
+ ?request_options: VitableConnect::request_opts
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ group_id: String,
19
+ request_options: VitableConnect::RequestOptions
20
+ }
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,32 @@
1
+ module VitableConnect
2
+ module Models
3
+ type group_update_params =
4
+ { group_id: String, external_reference_id: String?, name: String? }
5
+ & VitableConnect::Internal::Type::request_parameters
6
+
7
+ class GroupUpdateParams < VitableConnect::Internal::Type::BaseModel
8
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
9
+ include VitableConnect::Internal::Type::RequestParameters
10
+
11
+ attr_accessor group_id: String
12
+
13
+ attr_accessor external_reference_id: String?
14
+
15
+ attr_accessor name: String?
16
+
17
+ def initialize: (
18
+ group_id: String,
19
+ ?external_reference_id: String?,
20
+ ?name: String?,
21
+ ?request_options: VitableConnect::request_opts
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ group_id: String,
26
+ external_reference_id: String?,
27
+ name: String?,
28
+ request_options: VitableConnect::RequestOptions
29
+ }
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ module VitableConnect
2
+ module Models
3
+ module Groups
4
+ module Members
5
+ type sync_retrieve_params =
6
+ { group_id: String, request_id: String }
7
+ & VitableConnect::Internal::Type::request_parameters
8
+
9
+ class SyncRetrieveParams < VitableConnect::Internal::Type::BaseModel
10
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
11
+ include VitableConnect::Internal::Type::RequestParameters
12
+
13
+ attr_accessor group_id: String
14
+
15
+ attr_accessor request_id: String
16
+
17
+ def initialize: (
18
+ group_id: String,
19
+ request_id: String,
20
+ ?request_options: VitableConnect::request_opts
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ group_id: String,
25
+ request_id: String,
26
+ request_options: VitableConnect::RequestOptions
27
+ }
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,61 @@
1
+ module VitableConnect
2
+ module Models
3
+ module Groups
4
+ module Members
5
+ type sync_retrieve_response =
6
+ {
7
+ data: VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data
8
+ }
9
+
10
+ class SyncRetrieveResponse < VitableConnect::Internal::Type::BaseModel
11
+ attr_accessor data: VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data
12
+
13
+ def initialize: (
14
+ data: VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ data: VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data
19
+ }
20
+
21
+ type data =
22
+ {
23
+ accepted_at: Time,
24
+ completed_at: Time?,
25
+ group_id: String,
26
+ request_id: String,
27
+ results: top
28
+ }
29
+
30
+ class Data < VitableConnect::Internal::Type::BaseModel
31
+ attr_accessor accepted_at: Time
32
+
33
+ attr_accessor completed_at: Time?
34
+
35
+ attr_accessor group_id: String
36
+
37
+ attr_accessor request_id: String
38
+
39
+ attr_accessor results: top
40
+
41
+ def initialize: (
42
+ accepted_at: Time,
43
+ completed_at: Time?,
44
+ group_id: String,
45
+ request_id: String,
46
+ results: top
47
+ ) -> void
48
+
49
+ def to_hash: -> {
50
+ accepted_at: Time,
51
+ completed_at: Time?,
52
+ group_id: String,
53
+ request_id: String,
54
+ results: top
55
+ }
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end