Inventory status filter broken: frontend sends status= but API expects item_status= #103
Labels
No labels
accessibility
backlog
beta-feedback
bug
duplicate
enhancement
feature-request
help wanted
invalid
needs-design
needs-triage
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Circuit-Forge/kiwi#103
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The inventory list status filter (available / consumed / expired) does not work. The frontend sends
status=as the query parameter but the backend endpoint expectsitem_status=.Steps to reproduce
Expected
Filtering by status correctly shows items matching the selected status.
Actual
The
statusquery parameter is silently ignored by FastAPI (unknown param). The defaultitem_status=availableis used on every request, so only available items ever show.Root cause
frontend/src/services/api.tslistItems()passes{ status, location, limit }as query params. The backendGET /api/v1/inventory/itemsdeclares the param asitem_status: str = "available"(notstatus). FastAPI ignores the unrecognizedstatusparam.Verified via curl:
?status=consumedreturns available items (ignores filter)?item_status=consumedreturns consumed items correctlyFix
Rename the API parameter from
item_statustostatusinapp/api/endpoints/inventory.py, OR updateapi.tsto senditem_statusinstead ofstatus.