From 89b8445509033b616f2e1a9242546cf705327f99 Mon Sep 17 00:00:00 2001 From: Tommi Saltiola Date: Fri, 30 May 2025 21:44:54 -0600 Subject: [PATCH] Fix response parsing for MultipleItems requests --- .../collections/resources/items/client.py | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/src/webflow/resources/collections/resources/items/client.py b/src/webflow/resources/collections/resources/items/client.py index 47f8f90..ec64600 100644 --- a/src/webflow/resources/collections/resources/items/client.py +++ b/src/webflow/resources/collections/resources/items/client.py @@ -18,6 +18,9 @@ from .....core.api_error import ApiError from .types.items_create_item_request import ItemsCreateItemRequest from .....types.collection_item import CollectionItem +from .....types.bulk_collection_item import BulkCollectionItem +from .....types.collection_item_list import CollectionItemList +from .types.multiple_items import MultipleItems from .....core.serialization import convert_and_respect_annotation_metadata from .types.items_delete_items_request_items_item import ItemsDeleteItemsRequestItemsItem from .....errors.conflict_error import ConflictError @@ -188,7 +191,7 @@ def create_item( *, request: ItemsCreateItemRequest, request_options: typing.Optional[RequestOptions] = None, - ) -> CollectionItem: + ) -> typing.Union[CollectionItem, CollectionItemList]: """ Create Item(s) in a Collection. @@ -209,7 +212,7 @@ def create_item( Returns ------- - CollectionItem + typing.Union[CollectionItem, CollectionItemList] Request was successful Examples @@ -246,13 +249,23 @@ def create_item( ) try: if 200 <= _response.status_code < 300: - return typing.cast( - CollectionItem, - parse_obj_as( - type_=CollectionItem, # type: ignore - object_=_response.json(), - ), - ) + # Check if the request is a MultipleItems object + if isinstance(request, MultipleItems): + return typing.cast( + CollectionItemList, + parse_obj_as( + type_=CollectionItemList, # type: ignore + object_=_response.json(), + ), + ) + else: + return typing.cast( + CollectionItem, + parse_obj_as( + type_=CollectionItem, # type: ignore + object_=_response.json(), + ), + ) if _response.status_code == 400: raise BadRequestError( typing.cast(