diff --git a/aurweb/routers/rpc.py b/aurweb/routers/rpc.py index 9777c0a2..25574ff8 100644 --- a/aurweb/routers/rpc.py +++ b/aurweb/routers/rpc.py @@ -217,12 +217,29 @@ async def rpc_openapi_multiinfo_post( ) +@router.get("/rpc/v{version}/search/{arg}") +async def rpc_openapi_search_arg( + request: Request, + version: int, + arg: str, + by: Optional[str] = Query(default=defaults.RPC_SEARCH_BY), +): + return await rpc_request( + request, + version, + "search", + by, + arg, + [], + ) + + @router.get("/rpc/v{version}/search") async def rpc_openapi_search( request: Request, version: int, - by: Optional[str] = Query(default=defaults.RPC_SEARCH_BY), arg: Optional[str] = Query(default=str()), + by: Optional[str] = Query(default=defaults.RPC_SEARCH_BY), ): return await rpc_request( request, diff --git a/test/test_rpc.py b/test/test_rpc.py index 0edd3e2e..e5b37542 100644 --- a/test/test_rpc.py +++ b/test/test_rpc.py @@ -986,6 +986,18 @@ def test_rpc_openapi_multiinfo_post_bad_request( assert data.get("error") == expected +def test_rpc_openapi_search_arg(client: TestClient, packages: list[Package]): + pkgname = packages[0].Name + + with client as request: + endp = f"/rpc/v5/search/{pkgname}" + resp = request.get(endp) + assert resp.status_code == HTTPStatus.OK + + data = resp.json() + assert data.get("resultcount") == 1 + + def test_rpc_openapi_search(client: TestClient, packages: list[Package]): pkgname = packages[0].Name