diff --git a/chargebee/models/entitlement/responses.py b/chargebee/models/entitlement/responses.py index 68cc51a..27b4364 100644 --- a/chargebee/models/entitlement/responses.py +++ b/chargebee/models/entitlement/responses.py @@ -30,4 +30,4 @@ class ListResponse(Response): @dataclass class CreateResponse(Response): is_idempotency_replayed: bool - entitlement: EntitlementResponse + list: List[ListEntitlementResponse] diff --git a/chargebee/responses.py b/chargebee/responses.py index 6b8767f..98ff3f3 100644 --- a/chargebee/responses.py +++ b/chargebee/responses.py @@ -94,6 +94,9 @@ def parse_list_response(self) -> T: field_name = name field_type = type + if field_name == "is_idempotency_replayed": + result["is_idempotency_replayed"] = self.is_idempotency_replayed() + if hasattr(field_type, "__origin__") and field_type.__origin__ == list: list_data = [] for response in self._response: @@ -118,7 +121,10 @@ def parse_list_response(self) -> T: list_data.append(field_type.__args__[0](**data)) result[field_name] = list_data - result["next_offset"] = self._next_offset result["headers"] = self._response_header result["http_status_code"] = self._response_status_code + + if hasattr(self._response_type, 'next_offset'): + result["next_offset"] = self._next_offset + return self._response_type(**result)