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,128 @@
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 [VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results, nil]
44
+ required :results,
45
+ -> { VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results },
46
+ nil?: true
47
+
48
+ # @!method initialize(accepted_at:, completed_at:, group_id:, request_id:, results:)
49
+ # @param accepted_at [Time]
50
+ # @param completed_at [Time, nil]
51
+ # @param group_id [String]
52
+ # @param request_id [String]
53
+ # @param results [VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results, nil]
54
+
55
+ # @see VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data#results
56
+ class Results < VitableConnect::Internal::Type::BaseModel
57
+ # @!attribute added_group_member_ids
58
+ #
59
+ # @return [Array<String>]
60
+ required :added_group_member_ids, VitableConnect::Internal::Type::ArrayOf[String]
61
+
62
+ # @!attribute failures
63
+ #
64
+ # @return [Array<VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure>]
65
+ required :failures,
66
+ -> { VitableConnect::Internal::Type::ArrayOf[VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure] }
67
+
68
+ # @!attribute removed_group_member_ids
69
+ #
70
+ # @return [Array<String>]
71
+ required :removed_group_member_ids, VitableConnect::Internal::Type::ArrayOf[String]
72
+
73
+ # @!method initialize(added_group_member_ids:, failures:, removed_group_member_ids:)
74
+ # @param added_group_member_ids [Array<String>]
75
+ # @param failures [Array<VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure>]
76
+ # @param removed_group_member_ids [Array<String>]
77
+
78
+ class Failure < VitableConnect::Internal::Type::BaseModel
79
+ # @!attribute operation
80
+ # - `add` - add
81
+ # - `remove` - remove
82
+ #
83
+ # @return [Symbol, VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation]
84
+ required :operation,
85
+ enum: -> { VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation }
86
+
87
+ # @!attribute reason
88
+ #
89
+ # @return [String]
90
+ required :reason, String
91
+
92
+ # @!attribute reference_id
93
+ #
94
+ # @return [String]
95
+ required :reference_id, String
96
+
97
+ # @!method initialize(operation:, reason:, reference_id:)
98
+ # Some parameter documentations has been truncated, see
99
+ # {VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure}
100
+ # for more details.
101
+ #
102
+ # @param operation [Symbol, VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure::Operation] - `add` - add
103
+ #
104
+ # @param reason [String]
105
+ #
106
+ # @param reference_id [String]
107
+
108
+ # - `add` - add
109
+ # - `remove` - remove
110
+ #
111
+ # @see VitableConnect::Models::Groups::Members::SyncRetrieveResponse::Data::Results::Failure#operation
112
+ module Operation
113
+ extend VitableConnect::Internal::Type::Enum
114
+
115
+ ADD = :add
116
+ REMOVE = :remove
117
+
118
+ # @!method self.values
119
+ # @return [Array<Symbol>]
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,121 @@
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#submit
8
+ class SyncSubmitParams < 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 members
19
+ #
20
+ # @return [Array<VitableConnect::Models::Groups::Members::SyncSubmitParams::Member>]
21
+ required :members,
22
+ -> { VitableConnect::Internal::Type::ArrayOf[VitableConnect::Groups::Members::SyncSubmitParams::Member] }
23
+
24
+ # @!method initialize(group_id:, members:, request_options: {})
25
+ # @param group_id [String] Unique group identifier (grp\_\*)
26
+ #
27
+ # @param members [Array<VitableConnect::Models::Groups::Members::SyncSubmitParams::Member>]
28
+ #
29
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}]
30
+
31
+ class Member < VitableConnect::Internal::Type::BaseModel
32
+ # @!attribute address
33
+ #
34
+ # @return [VitableConnect::Models::Groups::Members::SyncSubmitParams::Member::Address]
35
+ required :address, -> { VitableConnect::Groups::Members::SyncSubmitParams::Member::Address }
36
+
37
+ # @!attribute date_of_birth
38
+ #
39
+ # @return [Date]
40
+ required :date_of_birth, Date
41
+
42
+ # @!attribute first_name
43
+ #
44
+ # @return [String]
45
+ required :first_name, String
46
+
47
+ # @!attribute last_name
48
+ #
49
+ # @return [String]
50
+ required :last_name, String
51
+
52
+ # @!attribute phone
53
+ #
54
+ # @return [String]
55
+ required :phone, String
56
+
57
+ # @!attribute plan_id
58
+ #
59
+ # @return [String]
60
+ required :plan_id, String
61
+
62
+ # @!attribute reference_id
63
+ #
64
+ # @return [String]
65
+ required :reference_id, String
66
+
67
+ # @!attribute email
68
+ #
69
+ # @return [String, nil]
70
+ optional :email, String, nil?: true
71
+
72
+ # @!method initialize(address:, date_of_birth:, first_name:, last_name:, phone:, plan_id:, reference_id:, email: nil)
73
+ # @param address [VitableConnect::Models::Groups::Members::SyncSubmitParams::Member::Address]
74
+ # @param date_of_birth [Date]
75
+ # @param first_name [String]
76
+ # @param last_name [String]
77
+ # @param phone [String]
78
+ # @param plan_id [String]
79
+ # @param reference_id [String]
80
+ # @param email [String, nil]
81
+
82
+ # @see VitableConnect::Models::Groups::Members::SyncSubmitParams::Member#address
83
+ class Address < VitableConnect::Internal::Type::BaseModel
84
+ # @!attribute address_line_1
85
+ #
86
+ # @return [String]
87
+ required :address_line_1, String
88
+
89
+ # @!attribute city
90
+ #
91
+ # @return [String]
92
+ required :city, String
93
+
94
+ # @!attribute state
95
+ #
96
+ # @return [String]
97
+ required :state, String
98
+
99
+ # @!attribute zipcode
100
+ #
101
+ # @return [String]
102
+ required :zipcode, String
103
+
104
+ # @!attribute address_line_2
105
+ #
106
+ # @return [String, nil]
107
+ optional :address_line_2, String, nil?: true
108
+
109
+ # @!method initialize(address_line_1:, city:, state:, zipcode:, address_line_2: nil)
110
+ # @param address_line_1 [String]
111
+ # @param city [String]
112
+ # @param state [String]
113
+ # @param zipcode [String]
114
+ # @param address_line_2 [String, nil]
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,45 @@
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#submit
8
+ class SyncSubmitResponse < VitableConnect::Internal::Type::BaseModel
9
+ # @!attribute data
10
+ #
11
+ # @return [VitableConnect::Models::Groups::Members::SyncSubmitResponse::Data]
12
+ required :data, -> { VitableConnect::Models::Groups::Members::SyncSubmitResponse::Data }
13
+
14
+ # @!method initialize(data:)
15
+ # Response containing a single group member sync detail resource.
16
+ #
17
+ # @param data [VitableConnect::Models::Groups::Members::SyncSubmitResponse::Data]
18
+
19
+ # @see VitableConnect::Models::Groups::Members::SyncSubmitResponse#data
20
+ class Data < VitableConnect::Internal::Type::BaseModel
21
+ # @!attribute accepted_at
22
+ #
23
+ # @return [Time]
24
+ required :accepted_at, Time
25
+
26
+ # @!attribute group_id
27
+ #
28
+ # @return [String]
29
+ required :group_id, String
30
+
31
+ # @!attribute request_id
32
+ #
33
+ # @return [String]
34
+ required :request_id, String
35
+
36
+ # @!method initialize(accepted_at:, group_id:, request_id:)
37
+ # @param accepted_at [Time]
38
+ # @param group_id [String]
39
+ # @param request_id [String]
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Plans#list
6
+ class PlanListParams < 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,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Models
5
+ # @see VitableConnect::Resources::Plans#list
6
+ class PlanListResponse < VitableConnect::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String]
10
+ required :id, String
11
+
12
+ # @!attribute name
13
+ #
14
+ # @return [String]
15
+ required :name, String
16
+
17
+ # @!method initialize(id:, name:)
18
+ # @param id [String]
19
+ # @param name [String]
20
+ end
21
+ end
22
+ end
@@ -27,7 +27,6 @@ module VitableConnect
27
27
  # - `employee.eligibility_granted` - Employee Eligibility Granted
28
28
  # - `employee.eligibility_terminated` - Employee Eligibility Terminated
29
29
  # - `employee.deactivated` - Employee Deactivated
30
- # - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
31
30
  # - `employee.deduction_created` - Employee Deduction Created
32
31
  #
33
32
  # @return [Symbol, VitableConnect::Models::WebhookEventListParams::EventName, nil]
@@ -90,7 +89,6 @@ module VitableConnect
90
89
  # - `employee.eligibility_granted` - Employee Eligibility Granted
91
90
  # - `employee.eligibility_terminated` - Employee Eligibility Terminated
92
91
  # - `employee.deactivated` - Employee Deactivated
93
- # - `employer.eligibility_policy_created` - Employer Eligibility Policy Created
94
92
  # - `employee.deduction_created` - Employee Deduction Created
95
93
  module EventName
96
94
  extend VitableConnect::Internal::Type::Enum
@@ -104,7 +102,6 @@ module VitableConnect
104
102
  EMPLOYEE_ELIGIBILITY_GRANTED = :"employee.eligibility_granted"
105
103
  EMPLOYEE_ELIGIBILITY_TERMINATED = :"employee.eligibility_terminated"
106
104
  EMPLOYEE_DEACTIVATED = :"employee.deactivated"
107
- EMPLOYER_ELIGIBILITY_POLICY_CREATED = :"employer.eligibility_policy_created"
108
105
  EMPLOYEE_DEDUCTION_CREATED = :"employee.deduction_created"
109
106
 
110
107
  # @!method self.values
@@ -44,12 +44,6 @@ module VitableConnect
44
44
 
45
45
  AuthIssueAccessTokenParams = VitableConnect::Models::AuthIssueAccessTokenParams
46
46
 
47
- BenefitEligibilityPolicy = VitableConnect::Models::BenefitEligibilityPolicy
48
-
49
- BenefitEligibilityPolicyResponse = VitableConnect::Models::BenefitEligibilityPolicyResponse
50
-
51
- BenefitEligibilityPolicyRetrieveParams = VitableConnect::Models::BenefitEligibilityPolicyRetrieveParams
52
-
53
47
  Employee = VitableConnect::Models::Employee
54
48
 
55
49
  EmployeeClass = VitableConnect::Models::EmployeeClass
@@ -60,9 +54,6 @@ module VitableConnect
60
54
 
61
55
  Employer = VitableConnect::Models::Employer
62
56
 
63
- EmployerCreateBenefitEligibilityPolicyParams =
64
- VitableConnect::Models::EmployerCreateBenefitEligibilityPolicyParams
65
-
66
57
  EmployerCreateParams = VitableConnect::Models::EmployerCreateParams
67
58
 
68
59
  EmployerListEmployeesParams = VitableConnect::Models::EmployerListEmployeesParams
@@ -75,14 +66,32 @@ module VitableConnect
75
66
 
76
67
  EmployerSubmitCensusSyncParams = VitableConnect::Models::EmployerSubmitCensusSyncParams
77
68
 
69
+ EmployerUpdateSettingsParams = VitableConnect::Models::EmployerUpdateSettingsParams
70
+
78
71
  Enrollment = VitableConnect::Models::Enrollment
79
72
 
80
73
  EnrollmentRetrieveParams = VitableConnect::Models::EnrollmentRetrieveParams
81
74
 
82
75
  EnrollmentStatus = VitableConnect::Models::EnrollmentStatus
83
76
 
77
+ Group = VitableConnect::Models::Group
78
+
79
+ GroupCreateParams = VitableConnect::Models::GroupCreateParams
80
+
81
+ GroupListParams = VitableConnect::Models::GroupListParams
82
+
83
+ GroupResponse = VitableConnect::Models::GroupResponse
84
+
85
+ GroupRetrieveParams = VitableConnect::Models::GroupRetrieveParams
86
+
87
+ Groups = VitableConnect::Models::Groups
88
+
89
+ GroupUpdateParams = VitableConnect::Models::GroupUpdateParams
90
+
84
91
  Pagination = VitableConnect::Models::Pagination
85
92
 
93
+ PlanListParams = VitableConnect::Models::PlanListParams
94
+
86
95
  Type = VitableConnect::Models::Type
87
96
 
88
97
  WebhookEvent = VitableConnect::Models::WebhookEvent
@@ -2,28 +2,7 @@
2
2
 
3
3
  module VitableConnect
4
4
  module Resources
5
- # Define rules that determine which employees qualify for benefits
6
5
  class BenefitEligibilityPolicies
7
- # Retrieves a benefit eligibility policy by ID.
8
- #
9
- # @overload retrieve(policy_id, request_options: {})
10
- #
11
- # @param policy_id [String] Unique benefit eligibility policy identifier (epol\_\*)
12
- #
13
- # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
14
- #
15
- # @return [VitableConnect::Models::BenefitEligibilityPolicyResponse]
16
- #
17
- # @see VitableConnect::Models::BenefitEligibilityPolicyRetrieveParams
18
- def retrieve(policy_id, params = {})
19
- @client.request(
20
- method: :get,
21
- path: ["v1/benefit-eligibility-policies/%1$s", policy_id],
22
- model: VitableConnect::BenefitEligibilityPolicyResponse,
23
- options: params[:request_options]
24
- )
25
- end
26
-
27
6
  # @api private
28
7
  #
29
8
  # @param client [VitableConnect::Client]
@@ -88,36 +88,6 @@ module VitableConnect
88
88
  )
89
89
  end
90
90
 
91
- # Some parameter documentations has been truncated, see
92
- # {VitableConnect::Models::EmployerCreateBenefitEligibilityPolicyParams} for more
93
- # details.
94
- #
95
- # Creates a benefit eligibility policy for the specified employer.
96
- #
97
- # @overload create_benefit_eligibility_policy(employer_id, classification:, waiting_period:, request_options: {})
98
- #
99
- # @param employer_id [String] Unique employer identifier (empr\_\*)
100
- #
101
- # @param classification [String] Which employee classifications are eligible. One of: full_time, part_time, all
102
- #
103
- # @param waiting_period [String] Waiting period before eligibility. One of: first_of_following_month, 30_days, 60
104
- #
105
- # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
106
- #
107
- # @return [VitableConnect::Models::BenefitEligibilityPolicyResponse]
108
- #
109
- # @see VitableConnect::Models::EmployerCreateBenefitEligibilityPolicyParams
110
- def create_benefit_eligibility_policy(employer_id, params)
111
- parsed, options = VitableConnect::EmployerCreateBenefitEligibilityPolicyParams.dump_request(params)
112
- @client.request(
113
- method: :post,
114
- path: ["v1/employers/%1$s/benefit-eligibility-policies", employer_id],
115
- body: parsed,
116
- model: VitableConnect::BenefitEligibilityPolicyResponse,
117
- options: options
118
- )
119
- end
120
-
121
91
  # Retrieves a paginated list of all employees for a specific employer. Results are
122
92
  # paginated using page and limit parameters. Each employee includes payroll
123
93
  # deductions from the most recent statement period. When a new deduction statement
@@ -175,6 +145,34 @@ module VitableConnect
175
145
  )
176
146
  end
177
147
 
148
+ # Some parameter documentations has been truncated, see
149
+ # {VitableConnect::Models::EmployerUpdateSettingsParams} for more details.
150
+ #
151
+ # Updates configuration settings for a specific employer. The employer must belong
152
+ # to the authenticated organization.
153
+ #
154
+ # @overload update_settings(employer_id, pay_frequency:, request_options: {})
155
+ #
156
+ # @param employer_id [String] Unique employer identifier (empr\_\*)
157
+ #
158
+ # @param pay_frequency [Symbol, VitableConnect::Models::EmployerUpdateSettingsParams::PayFrequency] - `weekly` - weekly
159
+ #
160
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
161
+ #
162
+ # @return [VitableConnect::Models::EmployerUpdateSettingsResponse]
163
+ #
164
+ # @see VitableConnect::Models::EmployerUpdateSettingsParams
165
+ def update_settings(employer_id, params)
166
+ parsed, options = VitableConnect::EmployerUpdateSettingsParams.dump_request(params)
167
+ @client.request(
168
+ method: :put,
169
+ path: ["v1/employers/%1$s/settings", employer_id],
170
+ body: parsed,
171
+ model: VitableConnect::Models::EmployerUpdateSettingsResponse,
172
+ options: options
173
+ )
174
+ end
175
+
178
176
  # @api private
179
177
  #
180
178
  # @param client [VitableConnect::Client]
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
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
+ #
13
+ # @overload retrieve(request_id, group_id:, request_options: {})
14
+ #
15
+ # @param request_id [String]
16
+ #
17
+ # @param group_id [String] Unique group identifier (grp\_\*)
18
+ #
19
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
20
+ #
21
+ # @return [VitableConnect::Models::Groups::Members::SyncRetrieveResponse]
22
+ #
23
+ # @see VitableConnect::Models::Groups::Members::SyncRetrieveParams
24
+ def retrieve(request_id, params)
25
+ parsed, options = VitableConnect::Groups::Members::SyncRetrieveParams.dump_request(params)
26
+ group_id =
27
+ parsed.delete(:group_id) do
28
+ raise ArgumentError.new("missing required path argument #{_1}")
29
+ end
30
+ @client.request(
31
+ method: :get,
32
+ path: ["v1/groups/%1$s/members/sync/%2$s", group_id, request_id],
33
+ model: VitableConnect::Models::Groups::Members::SyncRetrieveResponse,
34
+ options: options
35
+ )
36
+ end
37
+
38
+ # Submits a member sync payload for the specified group. Members in the payload
39
+ # will be queued for processing asynchronously. Returns HTTP 202 with the batch ID
40
+ # and acceptance timestamp.
41
+ #
42
+ # @overload submit(group_id, members:, request_options: {})
43
+ #
44
+ # @param group_id [String] Unique group identifier (grp\_\*)
45
+ #
46
+ # @param members [Array<VitableConnect::Models::Groups::Members::SyncSubmitParams::Member>]
47
+ #
48
+ # @param request_options [VitableConnect::RequestOptions, Hash{Symbol=>Object}, nil]
49
+ #
50
+ # @return [VitableConnect::Models::Groups::Members::SyncSubmitResponse]
51
+ #
52
+ # @see VitableConnect::Models::Groups::Members::SyncSubmitParams
53
+ def submit(group_id, params)
54
+ parsed, options = VitableConnect::Groups::Members::SyncSubmitParams.dump_request(params)
55
+ @client.request(
56
+ method: :post,
57
+ path: ["v1/groups/%1$s/members/sync", group_id],
58
+ body: parsed,
59
+ model: VitableConnect::Models::Groups::Members::SyncSubmitResponse,
60
+ options: options
61
+ )
62
+ end
63
+
64
+ # @api private
65
+ #
66
+ # @param client [VitableConnect::Client]
67
+ def initialize(client:)
68
+ @client = client
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VitableConnect
4
+ module Resources
5
+ class Groups
6
+ class Members
7
+ # @return [VitableConnect::Resources::Groups::Members::Sync]
8
+ attr_reader :sync
9
+
10
+ # @api private
11
+ #
12
+ # @param client [VitableConnect::Client]
13
+ def initialize(client:)
14
+ @client = client
15
+ @sync = VitableConnect::Resources::Groups::Members::Sync.new(client: client)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end