feat(geo): filter clustered nodes by product/hub/supplier
All checks were successful
Build Docker Image / build (push) Successful in 2m42s
All checks were successful
Build Docker Image / build (push) Successful in 2m42s
This commit is contained in:
@@ -248,6 +248,9 @@ class Query(graphene.ObjectType):
|
||||
zoom=graphene.Int(required=True, description="Map zoom level (0-16)"),
|
||||
transport_type=graphene.String(description="Filter by transport type"),
|
||||
node_type=graphene.String(description="Node type: logistics, offer, supplier"),
|
||||
product_uuid=graphene.String(description="Filter by product UUID"),
|
||||
hub_uuid=graphene.String(description="Filter by hub UUID"),
|
||||
supplier_uuid=graphene.String(description="Filter by supplier UUID"),
|
||||
description="Get clustered nodes for map display (server-side clustering)",
|
||||
)
|
||||
|
||||
@@ -848,10 +851,35 @@ class Query(graphene.ObjectType):
|
||||
|
||||
return None
|
||||
|
||||
def resolve_clustered_nodes(self, info, west, south, east, north, zoom, transport_type=None, node_type=None):
|
||||
def resolve_clustered_nodes(
|
||||
self,
|
||||
info,
|
||||
west,
|
||||
south,
|
||||
east,
|
||||
north,
|
||||
zoom,
|
||||
transport_type=None,
|
||||
node_type=None,
|
||||
product_uuid=None,
|
||||
hub_uuid=None,
|
||||
supplier_uuid=None,
|
||||
):
|
||||
"""Get clustered nodes for map display using server-side SuperCluster."""
|
||||
db = get_db()
|
||||
clusters = get_clustered_nodes(db, west, south, east, north, zoom, transport_type, node_type)
|
||||
clusters = get_clustered_nodes(
|
||||
db,
|
||||
west,
|
||||
south,
|
||||
east,
|
||||
north,
|
||||
zoom,
|
||||
transport_type,
|
||||
node_type,
|
||||
product_uuid,
|
||||
hub_uuid,
|
||||
supplier_uuid,
|
||||
)
|
||||
return [ClusterPointType(**c) for c in clusters]
|
||||
|
||||
def resolve_products(self, info):
|
||||
|
||||
Reference in New Issue
Block a user