diff --git a/spoolman/api/v1/spool.py b/spoolman/api/v1/spool.py index 4107993..269c301 100644 --- a/spoolman/api/v1/spool.py +++ b/spoolman/api/v1/spool.py @@ -135,16 +135,16 @@ async def find( "Partial case-insensitive search term for the filament material. Separate multiple terms with a comma." ), ), - vendor_name: Optional[str] = Query( - alias="vendor.name", + filament_vendor_name: Optional[str] = Query( + alias="filament.vendor.name", default=None, title="Vendor Name", description=( "Partial case-insensitive search term for the filament vendor name. Separate multiple terms with a comma." ), ), - vendor_id: Optional[str] = Query( - alias="vendor.id", + filament_vendor_id: Optional[str] = Query( + alias="filament.vendor.id", default=None, title="Vendor ID", description="Match an exact vendor ID. Separate multiple IDs with a comma.", @@ -205,22 +205,22 @@ async def find( else: filament_ids = None - vendor_id = vendor_id if vendor_id is not None else vendor_id_old - if vendor_id is not None: + filament_vendor_id = filament_vendor_id if filament_vendor_id is not None else vendor_id_old + if filament_vendor_id is not None: try: - vendor_ids = [int(vendor_id_item) for vendor_id_item in vendor_id.split(",")] + filament_vendor_ids = [int(vendor_id_item) for vendor_id_item in filament_vendor_id.split(",")] except ValueError as e: raise RequestValidationError([ErrorWrapper(ValueError("Invalid vendor_id"), ("query", "vendor_id"))]) from e else: - vendor_ids = None + filament_vendor_ids = None db_items, total_count = await spool.find( db=db, filament_name=filament_name if filament_name is not None else filament_name_old, filament_id=filament_ids, filament_material=filament_material if filament_material is not None else filament_material_old, - vendor_name=vendor_name if vendor_name is not None else vendor_name_old, - vendor_id=vendor_ids, + vendor_name=filament_vendor_name if filament_vendor_name is not None else vendor_name_old, + vendor_id=filament_vendor_ids, location=location, lot_nr=lot_nr, allow_archived=allow_archived, diff --git a/tests_integration/tests/spool/test_find.py b/tests_integration/tests/spool/test_find.py index 0d23e18..7ddf553 100644 --- a/tests_integration/tests/spool/test_find.py +++ b/tests_integration/tests/spool/test_find.py @@ -345,7 +345,7 @@ def test_find_spools_by_empty_filament_material(spools: Fixture): assert spool_lists_equal(spools_result, (spools.spools[3], spools.spools[4])) -@pytest.mark.parametrize("field_name", ["vendor_name", "vendor.name"]) +@pytest.mark.parametrize("field_name", ["vendor_name", "filament.vendor.name"]) def test_find_spools_by_filament_vendor_name(spools: Fixture, field_name: str): # Execute result = httpx.get( @@ -363,7 +363,7 @@ def test_find_spools_by_empty_filament_vendor_name(spools: Fixture): # Execute result = httpx.get( f"{URL}/api/v1/spool", - params={"vendor.name": ""}, + params={"filament.vendor.name": ""}, ) result.raise_for_status() @@ -372,7 +372,7 @@ def test_find_spools_by_empty_filament_vendor_name(spools: Fixture): assert spools_result == [spools.spools[4]] -@pytest.mark.parametrize("field_name", ["vendor_id", "vendor.id"]) +@pytest.mark.parametrize("field_name", ["vendor_id", "filament.vendor.id"]) def test_find_spools_by_filament_vendor_id(spools: Fixture, field_name: str): # Execute result = httpx.get( @@ -394,7 +394,7 @@ def test_find_spools_by_multiple_vendor_ids(spools: Fixture): result = httpx.get( f"{URL}/api/v1/spool", params={ - "vendor.id": f"{vendor_1},{vendor_2}", + "filament.vendor.id": f"{vendor_1},{vendor_2}", "allow_archived": True, }, ) @@ -410,7 +410,7 @@ def test_find_spools_by_empty_filament_vendor_id(spools: Fixture): # Execute result = httpx.get( f"{URL}/api/v1/spool", - params={"vendor.id": -1}, + params={"filament.vendor.id": -1}, ) result.raise_for_status()