diff --git a/postgrest/_async/request_builder.py b/postgrest/_async/request_builder.py index f6fef6e0..c6536c7a 100644 --- a/postgrest/_async/request_builder.py +++ b/postgrest/_async/request_builder.py @@ -122,19 +122,13 @@ async def execute(self) -> SingleAPIResponse: class AsyncMaybeSingleRequestBuilder(AsyncSingleRequestBuilder): - async def execute(self) -> SingleAPIResponse: + async def execute(self) -> Optional[SingleAPIResponse]: r = None try: r = await super().execute() except APIError as e: if e.details and "Results contain 0 rows" in e.details: - return SingleAPIResponse.from_dict( - { - "data": None, - "error": None, - "count": 0, # NOTE: needs to take value from res.count - } - ) + return None if not r: raise APIError( { diff --git a/postgrest/_sync/request_builder.py b/postgrest/_sync/request_builder.py index e18bd600..c6bd57e3 100644 --- a/postgrest/_sync/request_builder.py +++ b/postgrest/_sync/request_builder.py @@ -122,19 +122,13 @@ def execute(self) -> SingleAPIResponse: class SyncMaybeSingleRequestBuilder(SyncSingleRequestBuilder): - def execute(self) -> SingleAPIResponse: + def execute(self) -> Optional[SingleAPIResponse]: r = None try: r = super().execute() except APIError as e: if e.details and "Results contain 0 rows" in e.details: - return SingleAPIResponse.from_dict( - { - "data": None, - "error": None, - "count": 0, # NOTE: needs to take value from res.count - } - ) + return None if not r: raise APIError( {