refactor: use GEO search param instead of client-side filtering
This commit is contained in:
Submodule backends/geo updated: c5c6428328...5f040426a2
@@ -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 ?? [];
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user