diff --git a/robot-server/robot_server/runs/router/labware_router.py b/robot-server/robot_server/runs/router/labware_router.py index 7eba96afa0e..16924fd4ae8 100644 --- a/robot-server/robot_server/runs/router/labware_router.py +++ b/robot-server/robot_server/runs/router/labware_router.py @@ -16,7 +16,6 @@ RequestModel, SimpleBody, PydanticResponse, - ResponseList, ) from ..run_models import Run, LabwareDefinitionSummary @@ -86,7 +85,7 @@ async def add_labware_offset( ), status_code=status.HTTP_201_CREATED, responses={ - status.HTTP_201_CREATED: {"model": SimpleBody[Run]}, + status.HTTP_201_CREATED: {"model": SimpleBody[LabwareDefinitionSummary]}, status.HTTP_404_NOT_FOUND: {"model": ErrorBody[RunNotFound]}, status.HTTP_409_CONFLICT: {"model": ErrorBody[Union[RunStopped, RunNotIdle]]}, }, @@ -134,14 +133,14 @@ async def add_labware_definition( " Repeated definitions will be deduplicated." ), responses={ - status.HTTP_200_OK: {"model": SimpleBody[Run]}, + status.HTTP_200_OK: {"model": SimpleBody[list[SD_LabwareDefinition]]}, status.HTTP_409_CONFLICT: {"model": ErrorBody[RunStopped]}, }, ) async def get_run_loaded_labware_definitions( runId: str, run_data_manager: Annotated[RunDataManager, Depends(get_run_data_manager)], -) -> PydanticResponse[SimpleBody[ResponseList[SD_LabwareDefinition]]]: +) -> PydanticResponse[SimpleBody[list[SD_LabwareDefinition]]]: """Get a run's loaded labware definition by the run ID. Args: @@ -155,8 +154,7 @@ async def get_run_loaded_labware_definitions( except RunNotCurrentError as e: raise RunStopped(detail=str(e)).as_error(status.HTTP_409_CONFLICT) from e - labware_definitions_result = ResponseList.construct(__root__=labware_definitions) return await PydanticResponse.create( - content=SimpleBody.construct(data=labware_definitions_result), + content=SimpleBody.construct(data=labware_definitions), status_code=status.HTTP_200_OK, ) diff --git a/robot-server/robot_server/service/json_api/__init__.py b/robot-server/robot_server/service/json_api/__init__.py index 2680c99049f..78a9deeaa4d 100644 --- a/robot-server/robot_server/service/json_api/__init__.py +++ b/robot-server/robot_server/service/json_api/__init__.py @@ -14,7 +14,6 @@ DeprecatedResponseDataModel, ResourceModel, PydanticResponse, - ResponseList, NotifyRefetchBody, NotifyUnsubscribeBody, ) @@ -44,7 +43,6 @@ "DeprecatedResponseDataModel", "DeprecatedResponseModel", "DeprecatedMultiResponseModel", - "ResponseList", # notify models "NotifyRefetchBody", "NotifyUnsubscribeBody", diff --git a/robot-server/robot_server/service/json_api/response.py b/robot-server/robot_server/service/json_api/response.py index e1e422f255c..8764d8edd53 100644 --- a/robot-server/robot_server/service/json_api/response.py +++ b/robot-server/robot_server/service/json_api/response.py @@ -278,12 +278,6 @@ class DeprecatedMultiResponseModel( ) -class ResponseList(BaseModel, Generic[ResponseDataT]): - """A response that returns a list resource.""" - - __root__: List[ResponseDataT] - - class NotifyRefetchBody(BaseResponseBody): """A notification response that returns a flag for refetching via HTTP.""" diff --git a/robot-server/tests/runs/router/test_labware_router.py b/robot-server/tests/runs/router/test_labware_router.py index 9a38ce6cd0f..1e3b929446d 100644 --- a/robot-server/tests/runs/router/test_labware_router.py +++ b/robot-server/tests/runs/router/test_labware_router.py @@ -169,7 +169,7 @@ async def test_get_run_labware_definition( runId="run-id", run_data_manager=mock_run_data_manager ) - assert result.content.data.__root__ == [ + assert result.content.data == [ SD_LabwareDefinition.construct(namespace="test_1"), # type: ignore[call-arg] SD_LabwareDefinition.construct(namespace="test_2"), # type: ignore[call-arg] ]