Skip to content

Commit 9a6aabe

Browse files
feat(api): benefits mutation API endpoints (create benefit, update benefit, enroll individual, unenroll individual) now properly return async response types (#139)
1 parent 1f7e885 commit 9a6aabe

File tree

12 files changed

+83
-23
lines changed

12 files changed

+83
-23
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 46
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-8c83f0eae70d2a02ed3e2059fc251affdccd2f848f45445e4fed64dfd9ca5985.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-bf858f37d7ab420841ddc6329dad8c46377308b6a5c8e935908011d0f9845e22.yml
33
openapi_spec_hash: 2523952a32436e3c7fd3b55508c2e7ee
4-
config_hash: ce10384813f68ba3fed61c7b601b396b
4+
config_hash: 4a8def48077df6382ed9fe00588baecf

lib/finch_api.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,14 @@
8282
require_relative "finch_api/models/hris/benefit_list_supported_benefits_params"
8383
require_relative "finch_api/models/hris/benefit_list_supported_benefits_response"
8484
require_relative "finch_api/models/hris/benefit_retrieve_params"
85+
require_relative "finch_api/models/hris/benefits/enrolled_individual_benifit"
8586
require_relative "finch_api/models/hris/benefits/individual_benefit"
8687
require_relative "finch_api/models/hris/benefits/individual_enrolled_ids_params"
8788
require_relative "finch_api/models/hris/benefits/individual_enrolled_ids_response"
8889
require_relative "finch_api/models/hris/benefits/individual_enroll_many_params"
89-
require_relative "finch_api/models/hris/benefits/individual_enroll_many_response"
9090
require_relative "finch_api/models/hris/benefits/individual_retrieve_many_benefits_params"
9191
require_relative "finch_api/models/hris/benefits/individual_unenroll_many_params"
92+
require_relative "finch_api/models/hris/benefits/individual_unenroll_many_response"
9293
require_relative "finch_api/models/hris/benefits_support"
9394
require_relative "finch_api/models/hris/benefit_type"
9495
require_relative "finch_api/models/hris/benefit_update_params"

lib/finch_api/models/hris/benefits/individual_enroll_many_response.rb renamed to lib/finch_api/models/hris/benefits/enrolled_individual_benifit.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module Models
55
module HRIS
66
module Benefits
77
# @see FinchAPI::Resources::HRIS::Benefits::Individuals#enroll_many
8-
class IndividualEnrollManyResponse < FinchAPI::Internal::Type::BaseModel
8+
class EnrolledIndividualBenifit < FinchAPI::Internal::Type::BaseModel
99
# @!attribute job_id
1010
#
1111
# @return [String]
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# frozen_string_literal: true
2+
3+
module FinchAPI
4+
module Models
5+
module HRIS
6+
module Benefits
7+
# @see FinchAPI::Resources::HRIS::Benefits::Individuals#unenroll_many
8+
class IndividualUnenrollManyResponse < FinchAPI::Internal::Type::BaseModel
9+
# @!attribute job_id
10+
#
11+
# @return [String]
12+
required :job_id, String
13+
14+
# @!parse
15+
# # @param job_id [String]
16+
# #
17+
# def initialize(job_id:, **) = super
18+
19+
# def initialize: (Hash | FinchAPI::Internal::Type::BaseModel) -> void
20+
end
21+
end
22+
end
23+
end
24+
end

lib/finch_api/resources/hris/benefits/individuals.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class Individuals
1616
# @param individuals [Array<FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyParams::Individual>]
1717
# @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil]
1818
#
19-
# @return [FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyResponse]
19+
# @return [FinchAPI::Models::HRIS::Benefits::EnrolledIndividualBenifit]
2020
#
2121
# @see FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyParams
2222
def enroll_many(benefit_id, params = {})
@@ -25,7 +25,7 @@ def enroll_many(benefit_id, params = {})
2525
method: :post,
2626
path: ["employer/benefits/%1$s/individuals", benefit_id],
2727
body: parsed[:individuals],
28-
model: FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyResponse,
28+
model: FinchAPI::Models::HRIS::Benefits::EnrolledIndividualBenifit,
2929
options: options
3030
)
3131
end
@@ -81,7 +81,7 @@ def retrieve_many_benefits(benefit_id, params = {})
8181
# @param individual_ids [Array<String>]
8282
# @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil]
8383
#
84-
# @return [FinchAPI::Internal::SinglePage<Object>]
84+
# @return [FinchAPI::Models::HRIS::Benefits::IndividualUnenrollManyResponse]
8585
#
8686
# @see FinchAPI::Models::HRIS::Benefits::IndividualUnenrollManyParams
8787
def unenroll_many(benefit_id, params = {})
@@ -90,8 +90,7 @@ def unenroll_many(benefit_id, params = {})
9090
method: :delete,
9191
path: ["employer/benefits/%1$s/individuals", benefit_id],
9292
body: parsed,
93-
page: FinchAPI::Internal::SinglePage,
94-
model: FinchAPI::Internal::Type::Unknown,
93+
model: FinchAPI::Models::HRIS::Benefits::IndividualUnenrollManyResponse,
9594
options: options
9695
)
9796
end

rbi/lib/finch_api/models/hris/benefits/individual_enroll_many_response.rbi renamed to rbi/lib/finch_api/models/hris/benefits/enrolled_individual_benifit.rbi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module FinchAPI
44
module Models
55
module HRIS
66
module Benefits
7-
class IndividualEnrollManyResponse < FinchAPI::Internal::Type::BaseModel
7+
class EnrolledIndividualBenifit < FinchAPI::Internal::Type::BaseModel
88
sig { returns(String) }
99
attr_accessor :job_id
1010

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# typed: strong
2+
3+
module FinchAPI
4+
module Models
5+
module HRIS
6+
module Benefits
7+
class IndividualUnenrollManyResponse < FinchAPI::Internal::Type::BaseModel
8+
sig { returns(String) }
9+
attr_accessor :job_id
10+
11+
sig { params(job_id: String).returns(T.attached_class) }
12+
def self.new(job_id:); end
13+
14+
sig { override.returns({job_id: String}) }
15+
def to_hash; end
16+
end
17+
end
18+
end
19+
end
20+
end

rbi/lib/finch_api/resources/hris/benefits/individuals.rbi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module FinchAPI
2020
],
2121
request_options: T.nilable(T.any(FinchAPI::RequestOptions, FinchAPI::Internal::AnyHash))
2222
)
23-
.returns(FinchAPI::Models::HRIS::Benefits::IndividualEnrollManyResponse)
23+
.returns(FinchAPI::Models::HRIS::Benefits::EnrolledIndividualBenifit)
2424
end
2525
def enroll_many(
2626
benefit_id,
@@ -61,7 +61,7 @@ module FinchAPI
6161
individual_ids: T::Array[String],
6262
request_options: T.nilable(T.any(FinchAPI::RequestOptions, FinchAPI::Internal::AnyHash))
6363
)
64-
.returns(FinchAPI::Internal::SinglePage[T.anything])
64+
.returns(FinchAPI::Models::HRIS::Benefits::IndividualUnenrollManyResponse)
6565
end
6666
def unenroll_many(
6767
benefit_id,
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module FinchAPI
2+
module Models
3+
module HRIS
4+
module Benefits
5+
type enrolled_individual_benifit = { job_id: String }
6+
7+
class EnrolledIndividualBenifit < FinchAPI::Internal::Type::BaseModel
8+
attr_accessor job_id: String
9+
10+
def initialize: (job_id: String) -> void
11+
12+
def to_hash: -> FinchAPI::Models::HRIS::Benefits::enrolled_individual_benifit
13+
end
14+
end
15+
end
16+
end
17+
end

sig/finch_api/models/hris/benefits/individual_enroll_many_response.rbs renamed to sig/finch_api/models/hris/benefits/individual_unenroll_many_response.rbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ module FinchAPI
22
module Models
33
module HRIS
44
module Benefits
5-
type individual_enroll_many_response = { job_id: String }
5+
type individual_unenroll_many_response = { job_id: String }
66

7-
class IndividualEnrollManyResponse < FinchAPI::Internal::Type::BaseModel
7+
class IndividualUnenrollManyResponse < FinchAPI::Internal::Type::BaseModel
88
attr_accessor job_id: String
99

1010
def initialize: (job_id: String) -> void
1111

12-
def to_hash: -> FinchAPI::Models::HRIS::Benefits::individual_enroll_many_response
12+
def to_hash: -> FinchAPI::Models::HRIS::Benefits::individual_unenroll_many_response
1313
end
1414
end
1515
end

0 commit comments

Comments
 (0)