88
99from .... import _legacy_response
1010from ...._types import NOT_GIVEN , Body , Query , Headers , NotGiven
11- from ...._utils import maybe_transform
11+ from ...._utils import (
12+ maybe_transform ,
13+ async_maybe_transform ,
14+ )
1215from ...._compat import cached_property
1316from ...._resource import SyncAPIResource , AsyncAPIResource
1417from ...._response import to_streamed_response_wrapper , async_to_streamed_response_wrapper
2023 individual_retrieve_many_benefits_params ,
2124)
2225from ....types .hris .benefits .individual_benefit import IndividualBenefit
23- from ....types .hris .benefits .enrolled_individual import EnrolledIndividual
24- from ....types .hris .benefits .unenrolled_individual import UnenrolledIndividual
2526from ....types .hris .benefits .individual_enrolled_ids_response import IndividualEnrolledIDsResponse
27+ from ....types .hris .benefits .enrolled_individual_benefit_response import EnrolledIndividualBenefitResponse
28+ from ....types .hris .benefits .unenrolled_individual_benefit_response import UnenrolledIndividualBenefitResponse
2629
2730__all__ = ["Individuals" , "AsyncIndividuals" ]
2831
@@ -58,7 +61,7 @@ def enroll_many(
5861 extra_query : Query | None = None ,
5962 extra_body : Body | None = None ,
6063 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
61- ) -> SyncSinglePage [ EnrolledIndividual ] :
64+ ) -> EnrolledIndividualBenefitResponse :
6265 """Enroll an individual into a deduction or contribution.
6366
6467 This is an overwrite
@@ -79,15 +82,13 @@ def enroll_many(
7982 """
8083 if not benefit_id :
8184 raise ValueError (f"Expected a non-empty value for `benefit_id` but received { benefit_id !r} " )
82- return self ._get_api_list (
85+ return self ._post (
8386 f"/employer/benefits/{ benefit_id } /individuals" ,
84- page = SyncSinglePage [EnrolledIndividual ],
8587 body = maybe_transform (individuals , Iterable [individual_enroll_many_params .Individual ]),
8688 options = make_request_options (
8789 extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
8890 ),
89- model = EnrolledIndividual ,
90- method = "post" ,
91+ cast_to = EnrolledIndividualBenefitResponse ,
9192 )
9293
9394 def enrolled_ids (
@@ -179,7 +180,7 @@ def unenroll_many(
179180 extra_query : Query | None = None ,
180181 extra_body : Body | None = None ,
181182 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
182- ) -> SyncSinglePage [ UnenrolledIndividual ] :
183+ ) -> UnenrolledIndividualBenefitResponse :
183184 """
184185 Unenroll individuals from a deduction or contribution
185186
@@ -196,17 +197,15 @@ def unenroll_many(
196197 """
197198 if not benefit_id :
198199 raise ValueError (f"Expected a non-empty value for `benefit_id` but received { benefit_id !r} " )
199- return self ._get_api_list (
200+ return self ._delete (
200201 f"/employer/benefits/{ benefit_id } /individuals" ,
201- page = SyncSinglePage [UnenrolledIndividual ],
202202 body = maybe_transform (
203203 {"individual_ids" : individual_ids }, individual_unenroll_many_params .IndividualUnenrollManyParams
204204 ),
205205 options = make_request_options (
206206 extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
207207 ),
208- model = UnenrolledIndividual ,
209- method = "delete" ,
208+ cast_to = UnenrolledIndividualBenefitResponse ,
210209 )
211210
212211
@@ -230,7 +229,7 @@ def with_streaming_response(self) -> AsyncIndividualsWithStreamingResponse:
230229 """
231230 return AsyncIndividualsWithStreamingResponse (self )
232231
233- def enroll_many (
232+ async def enroll_many (
234233 self ,
235234 benefit_id : str ,
236235 * ,
@@ -241,7 +240,7 @@ def enroll_many(
241240 extra_query : Query | None = None ,
242241 extra_body : Body | None = None ,
243242 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
244- ) -> AsyncPaginator [ EnrolledIndividual , AsyncSinglePage [ EnrolledIndividual ]] :
243+ ) -> EnrolledIndividualBenefitResponse :
245244 """Enroll an individual into a deduction or contribution.
246245
247246 This is an overwrite
@@ -262,15 +261,13 @@ def enroll_many(
262261 """
263262 if not benefit_id :
264263 raise ValueError (f"Expected a non-empty value for `benefit_id` but received { benefit_id !r} " )
265- return self ._get_api_list (
264+ return await self ._post (
266265 f"/employer/benefits/{ benefit_id } /individuals" ,
267- page = AsyncSinglePage [EnrolledIndividual ],
268- body = maybe_transform (individuals , Iterable [individual_enroll_many_params .Individual ]),
266+ body = await async_maybe_transform (individuals , Iterable [individual_enroll_many_params .Individual ]),
269267 options = make_request_options (
270268 extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
271269 ),
272- model = EnrolledIndividual ,
273- method = "post" ,
270+ cast_to = EnrolledIndividualBenefitResponse ,
274271 )
275272
276273 async def enrolled_ids (
@@ -351,7 +348,7 @@ def retrieve_many_benefits(
351348 model = IndividualBenefit ,
352349 )
353350
354- def unenroll_many (
351+ async def unenroll_many (
355352 self ,
356353 benefit_id : str ,
357354 * ,
@@ -362,7 +359,7 @@ def unenroll_many(
362359 extra_query : Query | None = None ,
363360 extra_body : Body | None = None ,
364361 timeout : float | httpx .Timeout | None | NotGiven = NOT_GIVEN ,
365- ) -> AsyncPaginator [ UnenrolledIndividual , AsyncSinglePage [ UnenrolledIndividual ]] :
362+ ) -> UnenrolledIndividualBenefitResponse :
366363 """
367364 Unenroll individuals from a deduction or contribution
368365
@@ -379,17 +376,15 @@ def unenroll_many(
379376 """
380377 if not benefit_id :
381378 raise ValueError (f"Expected a non-empty value for `benefit_id` but received { benefit_id !r} " )
382- return self ._get_api_list (
379+ return await self ._delete (
383380 f"/employer/benefits/{ benefit_id } /individuals" ,
384- page = AsyncSinglePage [UnenrolledIndividual ],
385- body = maybe_transform (
381+ body = await async_maybe_transform (
386382 {"individual_ids" : individual_ids }, individual_unenroll_many_params .IndividualUnenrollManyParams
387383 ),
388384 options = make_request_options (
389385 extra_headers = extra_headers , extra_query = extra_query , extra_body = extra_body , timeout = timeout
390386 ),
391- model = UnenrolledIndividual ,
392- method = "delete" ,
387+ cast_to = UnenrolledIndividualBenefitResponse ,
393388 )
394389
395390
0 commit comments