refactor: use GEO search param instead of client-side filtering

This commit is contained in:
Ruslan Bakiev
2026-01-07 22:01:50 +07:00
parent 3868666373
commit 2605b1a3b4
2 changed files with 5 additions and 17 deletions

View File

@@ -249,8 +249,8 @@ server.registerTool(
});
const gqlQuery = `
query Nodes($limit: Int, $offset: Int, $transport: String) {
nodes(limit: $limit, offset: $offset, transport_type: $transport) {
query Nodes($limit: Int, $offset: Int, $transport: String, $search: String) {
nodes(limit: $limit, offset: $offset, transport_type: $transport, search: $search) {
uuid
name
latitude
@@ -265,23 +265,11 @@ server.registerTool(
const data = await gqlRequest(
geoUrl,
gqlQuery,
{ limit: searchQuery ? 100 : limit, offset, transport: transportType },
{ limit, offset, transport: transportType, search: searchQuery },
token
);
let nodes = data.nodes ?? [];
// Filter by name if query provided
if (searchQuery) {
const q = searchQuery.toLowerCase();
nodes = nodes.filter(n =>
n.name?.toLowerCase().includes(q) ||
n.country?.toLowerCase().includes(q)
);
nodes = nodes.slice(0, limit);
}
return nodes;
return data.nodes ?? [];
}
);