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
@@ -0,0 +1,77 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class Group < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(VitableConnect::Group, VitableConnect::Internal::AnyHash)
9
+ end
10
+
11
+ # Prefixed group identifier (`grp_<base64-encoded-uuid>`).
12
+ sig { returns(String) }
13
+ attr_accessor :id
14
+
15
+ # Group creation timestamp (ISO 8601, UTC).
16
+ sig { returns(T.nilable(Time)) }
17
+ attr_accessor :created_at
18
+
19
+ # Stable identifier for this group in the integrator's own system.
20
+ sig { returns(String) }
21
+ attr_accessor :external_reference_id
22
+
23
+ # Human-readable group name.
24
+ sig { returns(String) }
25
+ attr_accessor :name
26
+
27
+ # Prefixed organization identifier (`org_<base64-encoded-uuid>`).
28
+ sig { returns(String) }
29
+ attr_accessor :organization_id
30
+
31
+ # Last-update timestamp (ISO 8601, UTC).
32
+ sig { returns(T.nilable(Time)) }
33
+ attr_accessor :updated_at
34
+
35
+ sig do
36
+ params(
37
+ id: String,
38
+ created_at: T.nilable(Time),
39
+ external_reference_id: String,
40
+ name: String,
41
+ organization_id: String,
42
+ updated_at: T.nilable(Time)
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # Prefixed group identifier (`grp_<base64-encoded-uuid>`).
47
+ id:,
48
+ # Group creation timestamp (ISO 8601, UTC).
49
+ created_at:,
50
+ # Stable identifier for this group in the integrator's own system.
51
+ external_reference_id:,
52
+ # Human-readable group name.
53
+ name:,
54
+ # Prefixed organization identifier (`org_<base64-encoded-uuid>`).
55
+ organization_id:,
56
+ # Last-update timestamp (ISO 8601, UTC).
57
+ updated_at:
58
+ )
59
+ end
60
+
61
+ sig do
62
+ override.returns(
63
+ {
64
+ id: String,
65
+ created_at: T.nilable(Time),
66
+ external_reference_id: String,
67
+ name: String,
68
+ organization_id: String,
69
+ updated_at: T.nilable(Time)
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class GroupCreateParams < VitableConnect::Internal::Type::BaseModel
6
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
7
+ include VitableConnect::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ VitableConnect::GroupCreateParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :external_reference_id
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :name
22
+
23
+ sig do
24
+ params(
25
+ external_reference_id: String,
26
+ name: String,
27
+ request_options: VitableConnect::RequestOptions::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(external_reference_id:, name:, request_options: {})
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ external_reference_id: String,
37
+ name: String,
38
+ request_options: VitableConnect::RequestOptions
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,60 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class GroupListParams < VitableConnect::Internal::Type::BaseModel
6
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
7
+ include VitableConnect::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ VitableConnect::GroupListParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Items per page (default: 20, max: 100)
18
+ sig { returns(T.nilable(Integer)) }
19
+ attr_reader :limit
20
+
21
+ sig { params(limit: Integer).void }
22
+ attr_writer :limit
23
+
24
+ # Page number (default: 1)
25
+ sig { returns(T.nilable(Integer)) }
26
+ attr_reader :page
27
+
28
+ sig { params(page: Integer).void }
29
+ attr_writer :page
30
+
31
+ sig do
32
+ params(
33
+ limit: Integer,
34
+ page: Integer,
35
+ request_options: VitableConnect::RequestOptions::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # Items per page (default: 20, max: 100)
40
+ limit: nil,
41
+ # Page number (default: 1)
42
+ page: nil,
43
+ request_options: {}
44
+ )
45
+ end
46
+
47
+ sig do
48
+ override.returns(
49
+ {
50
+ limit: Integer,
51
+ page: Integer,
52
+ request_options: VitableConnect::RequestOptions
53
+ }
54
+ )
55
+ end
56
+ def to_hash
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class GroupResponse < VitableConnect::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ VitableConnect::GroupResponse,
10
+ VitableConnect::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(VitableConnect::Group) }
15
+ attr_reader :data
16
+
17
+ sig { params(data: VitableConnect::Group::OrHash).void }
18
+ attr_writer :data
19
+
20
+ # Response containing a single group resource.
21
+ sig do
22
+ params(data: VitableConnect::Group::OrHash).returns(T.attached_class)
23
+ end
24
+ def self.new(data:)
25
+ end
26
+
27
+ sig { override.returns({ data: VitableConnect::Group }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
@@ -2,38 +2,38 @@
2
2
 
3
3
  module VitableConnect
4
4
  module Models
5
- class BenefitEligibilityPolicyRetrieveParams < VitableConnect::Internal::Type::BaseModel
5
+ class GroupRetrieveParams < VitableConnect::Internal::Type::BaseModel
6
6
  extend VitableConnect::Internal::Type::RequestParameters::Converter
7
7
  include VitableConnect::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
10
  T.type_alias do
11
11
  T.any(
12
- VitableConnect::BenefitEligibilityPolicyRetrieveParams,
12
+ VitableConnect::GroupRetrieveParams,
13
13
  VitableConnect::Internal::AnyHash
14
14
  )
15
15
  end
16
16
 
17
- # Unique benefit eligibility policy identifier (epol\_\*)
17
+ # Unique group identifier (grp\_\*)
18
18
  sig { returns(String) }
19
- attr_accessor :policy_id
19
+ attr_accessor :group_id
20
20
 
21
21
  sig do
22
22
  params(
23
- policy_id: String,
23
+ group_id: String,
24
24
  request_options: VitableConnect::RequestOptions::OrHash
25
25
  ).returns(T.attached_class)
26
26
  end
27
27
  def self.new(
28
- # Unique benefit eligibility policy identifier (epol\_\*)
29
- policy_id:,
28
+ # Unique group identifier (grp\_\*)
29
+ group_id:,
30
30
  request_options: {}
31
31
  )
32
32
  end
33
33
 
34
34
  sig do
35
35
  override.returns(
36
- { policy_id: String, request_options: VitableConnect::RequestOptions }
36
+ { group_id: String, request_options: VitableConnect::RequestOptions }
37
37
  )
38
38
  end
39
39
  def to_hash
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ class GroupUpdateParams < VitableConnect::Internal::Type::BaseModel
6
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
7
+ include VitableConnect::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ VitableConnect::GroupUpdateParams,
13
+ VitableConnect::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Unique group identifier (grp\_\*)
18
+ sig { returns(String) }
19
+ attr_accessor :group_id
20
+
21
+ sig { returns(T.nilable(String)) }
22
+ attr_accessor :external_reference_id
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :name
26
+
27
+ sig do
28
+ params(
29
+ group_id: String,
30
+ external_reference_id: T.nilable(String),
31
+ name: T.nilable(String),
32
+ request_options: VitableConnect::RequestOptions::OrHash
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Unique group identifier (grp\_\*)
37
+ group_id:,
38
+ external_reference_id: nil,
39
+ name: nil,
40
+ request_options: {}
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ {
47
+ group_id: String,
48
+ external_reference_id: T.nilable(String),
49
+ name: T.nilable(String),
50
+ request_options: VitableConnect::RequestOptions
51
+ }
52
+ )
53
+ end
54
+ def to_hash
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ module Groups
6
+ module Members
7
+ class SyncRetrieveParams < VitableConnect::Internal::Type::BaseModel
8
+ extend VitableConnect::Internal::Type::RequestParameters::Converter
9
+ include VitableConnect::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ VitableConnect::Groups::Members::SyncRetrieveParams,
15
+ VitableConnect::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # Unique group identifier (grp\_\*)
20
+ sig { returns(String) }
21
+ attr_accessor :group_id
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :request_id
25
+
26
+ sig do
27
+ params(
28
+ group_id: String,
29
+ request_id: String,
30
+ request_options: VitableConnect::RequestOptions::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(
34
+ # Unique group identifier (grp\_\*)
35
+ group_id:,
36
+ request_id:,
37
+ request_options: {}
38
+ )
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ group_id: String,
45
+ request_id: String,
46
+ request_options: VitableConnect::RequestOptions
47
+ }
48
+ )
49
+ end
50
+ def to_hash
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,282 @@
1
+ # typed: strong
2
+
3
+ module VitableConnect
4
+ module Models
5
+ module Groups
6
+ module Members
7
+ class SyncRetrieveResponse < VitableConnect::Internal::Type::BaseModel
8
+ OrHash =
9
+ T.type_alias do
10
+ T.any(
11
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse,
12
+ VitableConnect::Internal::AnyHash
13
+ )
14
+ end
15
+
16
+ sig do
17
+ returns(
18
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data
19
+ )
20
+ end
21
+ attr_reader :data
22
+
23
+ sig do
24
+ params(
25
+ data:
26
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::OrHash
27
+ ).void
28
+ end
29
+ attr_writer :data
30
+
31
+ # Response containing a single group member sync request detail resource.
32
+ sig do
33
+ params(
34
+ data:
35
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(data:)
39
+ end
40
+
41
+ sig do
42
+ override.returns(
43
+ {
44
+ data:
45
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data
46
+ }
47
+ )
48
+ end
49
+ def to_hash
50
+ end
51
+
52
+ class Data < VitableConnect::Internal::Type::BaseModel
53
+ OrHash =
54
+ T.type_alias do
55
+ T.any(
56
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data,
57
+ VitableConnect::Internal::AnyHash
58
+ )
59
+ end
60
+
61
+ sig { returns(Time) }
62
+ attr_accessor :accepted_at
63
+
64
+ sig { returns(T.nilable(Time)) }
65
+ attr_accessor :completed_at
66
+
67
+ sig { returns(String) }
68
+ attr_accessor :group_id
69
+
70
+ sig { returns(String) }
71
+ attr_accessor :request_id
72
+
73
+ sig do
74
+ returns(
75
+ T.nilable(
76
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results
77
+ )
78
+ )
79
+ end
80
+ attr_reader :results
81
+
82
+ sig do
83
+ params(
84
+ results:
85
+ T.nilable(
86
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::OrHash
87
+ )
88
+ ).void
89
+ end
90
+ attr_writer :results
91
+
92
+ sig do
93
+ params(
94
+ accepted_at: Time,
95
+ completed_at: T.nilable(Time),
96
+ group_id: String,
97
+ request_id: String,
98
+ results:
99
+ T.nilable(
100
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::OrHash
101
+ )
102
+ ).returns(T.attached_class)
103
+ end
104
+ def self.new(
105
+ accepted_at:,
106
+ completed_at:,
107
+ group_id:,
108
+ request_id:,
109
+ results:
110
+ )
111
+ end
112
+
113
+ sig do
114
+ override.returns(
115
+ {
116
+ accepted_at: Time,
117
+ completed_at: T.nilable(Time),
118
+ group_id: String,
119
+ request_id: String,
120
+ results:
121
+ T.nilable(
122
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results
123
+ )
124
+ }
125
+ )
126
+ end
127
+ def to_hash
128
+ end
129
+
130
+ class Results < VitableConnect::Internal::Type::BaseModel
131
+ OrHash =
132
+ T.type_alias do
133
+ T.any(
134
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results,
135
+ VitableConnect::Internal::AnyHash
136
+ )
137
+ end
138
+
139
+ sig { returns(T::Array[String]) }
140
+ attr_accessor :added_group_member_ids
141
+
142
+ sig do
143
+ returns(
144
+ T::Array[
145
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure
146
+ ]
147
+ )
148
+ end
149
+ attr_accessor :failures
150
+
151
+ sig { returns(T::Array[String]) }
152
+ attr_accessor :removed_group_member_ids
153
+
154
+ sig do
155
+ params(
156
+ added_group_member_ids: T::Array[String],
157
+ failures:
158
+ T::Array[
159
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::OrHash
160
+ ],
161
+ removed_group_member_ids: T::Array[String]
162
+ ).returns(T.attached_class)
163
+ end
164
+ def self.new(
165
+ added_group_member_ids:,
166
+ failures:,
167
+ removed_group_member_ids:
168
+ )
169
+ end
170
+
171
+ sig do
172
+ override.returns(
173
+ {
174
+ added_group_member_ids: T::Array[String],
175
+ failures:
176
+ T::Array[
177
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure
178
+ ],
179
+ removed_group_member_ids: T::Array[String]
180
+ }
181
+ )
182
+ end
183
+ def to_hash
184
+ end
185
+
186
+ class Failure < VitableConnect::Internal::Type::BaseModel
187
+ OrHash =
188
+ T.type_alias do
189
+ T.any(
190
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure,
191
+ VitableConnect::Internal::AnyHash
192
+ )
193
+ end
194
+
195
+ # - `add` - add
196
+ # - `remove` - remove
197
+ sig do
198
+ returns(
199
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation::TaggedSymbol
200
+ )
201
+ end
202
+ attr_accessor :operation
203
+
204
+ sig { returns(String) }
205
+ attr_accessor :reason
206
+
207
+ sig { returns(String) }
208
+ attr_accessor :reference_id
209
+
210
+ sig do
211
+ params(
212
+ operation:
213
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation::OrSymbol,
214
+ reason: String,
215
+ reference_id: String
216
+ ).returns(T.attached_class)
217
+ end
218
+ def self.new(
219
+ # - `add` - add
220
+ # - `remove` - remove
221
+ operation:,
222
+ reason:,
223
+ reference_id:
224
+ )
225
+ end
226
+
227
+ sig do
228
+ override.returns(
229
+ {
230
+ operation:
231
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation::TaggedSymbol,
232
+ reason: String,
233
+ reference_id: String
234
+ }
235
+ )
236
+ end
237
+ def to_hash
238
+ end
239
+
240
+ # - `add` - add
241
+ # - `remove` - remove
242
+ module Operation
243
+ extend VitableConnect::Internal::Type::Enum
244
+
245
+ TaggedSymbol =
246
+ T.type_alias do
247
+ T.all(
248
+ Symbol,
249
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation
250
+ )
251
+ end
252
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
253
+
254
+ ADD =
255
+ T.let(
256
+ :add,
257
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation::TaggedSymbol
258
+ )
259
+ REMOVE =
260
+ T.let(
261
+ :remove,
262
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation::TaggedSymbol
263
+ )
264
+
265
+ sig do
266
+ override.returns(
267
+ T::Array[
268
+ VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation::TaggedSymbol
269
+ ]
270
+ )
271
+ end
272
+ def self.values
273
+ end
274
+ end
275
+ end
276
+ end
277
+ end
278
+ end
279
+ end
280
+ end
281
+ end
282
+ end