diff --git a/.stats.yml b/.stats.yml index 45603d11..05cd9fbf 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 46 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-972e563922dedeeb94dca9a3ca8bac536488fcee56b55fcf09e6af044d3740e3.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-14d375aab89e6b212fe459805a42d6ea7d7da8eae2037ae710a187d06911be1d.yml openapi_spec_hash: 08b86ecbec3323717d48e4aaee48ed54 -config_hash: b839955f81dcf0a060366274f202b185 +config_hash: 2bca9e6b32f742acb077cf8822ec9e23 diff --git a/api.md b/api.md index d4659951..bb4b5ee1 100644 --- a/api.md +++ b/api.md @@ -183,8 +183,8 @@ Types: from finch.types.hris.benefits import ( EnrolledIndividual, IndividualBenefit, + UnenrolledIndividual, IndividualEnrolledIDsResponse, - IndividualUnenrollManyResponse, ) ``` @@ -193,7 +193,7 @@ Methods: - client.hris.benefits.individuals.enroll_many(benefit_id, \*\*params) -> SyncSinglePage[EnrolledIndividual] - client.hris.benefits.individuals.enrolled_ids(benefit_id) -> IndividualEnrolledIDsResponse - client.hris.benefits.individuals.retrieve_many_benefits(benefit_id, \*\*params) -> SyncSinglePage[IndividualBenefit] -- client.hris.benefits.individuals.unenroll_many(benefit_id, \*\*params) -> SyncSinglePage[object] +- client.hris.benefits.individuals.unenroll_many(benefit_id, \*\*params) -> SyncSinglePage[UnenrolledIndividual] # Providers diff --git a/src/finch/resources/hris/benefits/individuals.py b/src/finch/resources/hris/benefits/individuals.py index c62bded1..c6e472cf 100644 --- a/src/finch/resources/hris/benefits/individuals.py +++ b/src/finch/resources/hris/benefits/individuals.py @@ -21,6 +21,7 @@ ) from ....types.hris.benefits.individual_benefit import IndividualBenefit from ....types.hris.benefits.enrolled_individual import EnrolledIndividual +from ....types.hris.benefits.unenrolled_individual import UnenrolledIndividual from ....types.hris.benefits.individual_enrolled_ids_response import IndividualEnrolledIDsResponse __all__ = ["Individuals", "AsyncIndividuals"] @@ -178,7 +179,7 @@ def unenroll_many( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> SyncSinglePage[object]: + ) -> SyncSinglePage[UnenrolledIndividual]: """ Unenroll individuals from a deduction or contribution @@ -197,14 +198,14 @@ def unenroll_many( raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get_api_list( f"/employer/benefits/{benefit_id}/individuals", - page=SyncSinglePage[object], + page=SyncSinglePage[UnenrolledIndividual], body=maybe_transform( {"individual_ids": individual_ids}, individual_unenroll_many_params.IndividualUnenrollManyParams ), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - model=object, + model=UnenrolledIndividual, method="delete", ) @@ -361,7 +362,7 @@ def unenroll_many( extra_query: Query | None = None, extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> AsyncPaginator[object, AsyncSinglePage[object]]: + ) -> AsyncPaginator[UnenrolledIndividual, AsyncSinglePage[UnenrolledIndividual]]: """ Unenroll individuals from a deduction or contribution @@ -380,14 +381,14 @@ def unenroll_many( raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}") return self._get_api_list( f"/employer/benefits/{benefit_id}/individuals", - page=AsyncSinglePage[object], + page=AsyncSinglePage[UnenrolledIndividual], body=maybe_transform( {"individual_ids": individual_ids}, individual_unenroll_many_params.IndividualUnenrollManyParams ), options=make_request_options( extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout ), - model=object, + model=UnenrolledIndividual, method="delete", ) diff --git a/src/finch/types/hris/benefits/__init__.py b/src/finch/types/hris/benefits/__init__.py index b914d0b3..4cca9ced 100644 --- a/src/finch/types/hris/benefits/__init__.py +++ b/src/finch/types/hris/benefits/__init__.py @@ -4,6 +4,7 @@ from .individual_benefit import IndividualBenefit as IndividualBenefit from .enrolled_individual import EnrolledIndividual as EnrolledIndividual +from .unenrolled_individual import UnenrolledIndividual as UnenrolledIndividual from .individual_enroll_many_params import IndividualEnrollManyParams as IndividualEnrollManyParams from .individual_unenroll_many_params import IndividualUnenrollManyParams as IndividualUnenrollManyParams from .individual_enrolled_ids_response import IndividualEnrolledIDsResponse as IndividualEnrolledIDsResponse diff --git a/src/finch/types/hris/benefits/unenrolled_individual.py b/src/finch/types/hris/benefits/unenrolled_individual.py new file mode 100644 index 00000000..d9f10497 --- /dev/null +++ b/src/finch/types/hris/benefits/unenrolled_individual.py @@ -0,0 +1,27 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from typing import Optional + +from ...._models import BaseModel + +__all__ = ["UnenrolledIndividual", "Body"] + + +class Body(BaseModel): + finch_code: Optional[str] = None + """A descriptive identifier for the response.""" + + message: Optional[str] = None + """Short description in English that provides more information about the response.""" + + name: Optional[str] = None + """Identifier indicating whether the benefit was newly enrolled or updated.""" + + +class UnenrolledIndividual(BaseModel): + body: Optional[Body] = None + + code: Optional[int] = None + """HTTP status code""" + + individual_id: Optional[str] = None diff --git a/tests/api_resources/hris/benefits/test_individuals.py b/tests/api_resources/hris/benefits/test_individuals.py index acbc1e92..afc8a2e3 100644 --- a/tests/api_resources/hris/benefits/test_individuals.py +++ b/tests/api_resources/hris/benefits/test_individuals.py @@ -14,6 +14,7 @@ from finch.types.hris.benefits import ( IndividualBenefit, EnrolledIndividual, + UnenrolledIndividual, IndividualEnrolledIDsResponse, ) @@ -176,7 +177,7 @@ def test_method_unenroll_many(self, client: Finch) -> None: individual = client.hris.benefits.individuals.unenroll_many( benefit_id="benefit_id", ) - assert_matches_type(SyncSinglePage[object], individual, path=["response"]) + assert_matches_type(SyncSinglePage[UnenrolledIndividual], individual, path=["response"]) @parametrize def test_method_unenroll_many_with_all_params(self, client: Finch) -> None: @@ -184,7 +185,7 @@ def test_method_unenroll_many_with_all_params(self, client: Finch) -> None: benefit_id="benefit_id", individual_ids=["string"], ) - assert_matches_type(SyncSinglePage[object], individual, path=["response"]) + assert_matches_type(SyncSinglePage[UnenrolledIndividual], individual, path=["response"]) @parametrize def test_raw_response_unenroll_many(self, client: Finch) -> None: @@ -195,7 +196,7 @@ def test_raw_response_unenroll_many(self, client: Finch) -> None: assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" individual = response.parse() - assert_matches_type(SyncSinglePage[object], individual, path=["response"]) + assert_matches_type(SyncSinglePage[UnenrolledIndividual], individual, path=["response"]) @parametrize def test_streaming_response_unenroll_many(self, client: Finch) -> None: @@ -206,7 +207,7 @@ def test_streaming_response_unenroll_many(self, client: Finch) -> None: assert response.http_request.headers.get("X-Stainless-Lang") == "python" individual = response.parse() - assert_matches_type(SyncSinglePage[object], individual, path=["response"]) + assert_matches_type(SyncSinglePage[UnenrolledIndividual], individual, path=["response"]) assert cast(Any, response.is_closed) is True @@ -374,7 +375,7 @@ async def test_method_unenroll_many(self, async_client: AsyncFinch) -> None: individual = await async_client.hris.benefits.individuals.unenroll_many( benefit_id="benefit_id", ) - assert_matches_type(AsyncSinglePage[object], individual, path=["response"]) + assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"]) @parametrize async def test_method_unenroll_many_with_all_params(self, async_client: AsyncFinch) -> None: @@ -382,7 +383,7 @@ async def test_method_unenroll_many_with_all_params(self, async_client: AsyncFin benefit_id="benefit_id", individual_ids=["string"], ) - assert_matches_type(AsyncSinglePage[object], individual, path=["response"]) + assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"]) @parametrize async def test_raw_response_unenroll_many(self, async_client: AsyncFinch) -> None: @@ -393,7 +394,7 @@ async def test_raw_response_unenroll_many(self, async_client: AsyncFinch) -> Non assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" individual = response.parse() - assert_matches_type(AsyncSinglePage[object], individual, path=["response"]) + assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"]) @parametrize async def test_streaming_response_unenroll_many(self, async_client: AsyncFinch) -> None: @@ -404,7 +405,7 @@ async def test_streaming_response_unenroll_many(self, async_client: AsyncFinch) assert response.http_request.headers.get("X-Stainless-Lang") == "python" individual = await response.parse() - assert_matches_type(AsyncSinglePage[object], individual, path=["response"]) + assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"]) assert cast(Any, response.is_closed) is True