11from flask import Blueprint , jsonify , request
22
3+ from pydatalab .logger import LOGGER
34from pydatalab .mongo import flask_mongo
45from pydatalab .permissions import active_users_or_get_only , get_default_permissions
56
@@ -49,21 +50,30 @@ def get_graph_cy_format(
4950 all_documents .rewind ()
5051
5152 else :
53+ LOGGER .debug ("!!!!!!!!!!" )
5254 all_documents = list (
5355 flask_mongo .db .items .find (
5456 {
55- "$or" : [{"item_id" : item_id }, {"relationships.item_id" : item_id }],
56- ** get_default_permissions (user_only = False ),
57+ "$and" : [
58+ {"$or" : [{"item_id" : item_id }, {"relationships.item_id" : item_id }]},
59+ {** get_default_permissions (user_only = False )},
60+ ],
5761 },
5862 projection = {"item_id" : 1 , "name" : 1 , "type" : 1 , "relationships" : 1 },
5963 )
6064 )
6165
66+ LOGGER .debug ("Found %d documents related to item %s" , len (all_documents ), item_id )
67+
6268 node_ids = {document ["item_id" ] for document in all_documents } | {
6369 relationship .get ("item_id" )
6470 for document in all_documents
6571 for relationship in document .get ("relationships" , [])
6672 }
73+
74+ LOGGER .debug ("Found %d unique node IDs related to item %s" , len (node_ids ), item_id )
75+ LOGGER .debug ("Node IDs: %s" , node_ids )
76+
6777 if len (node_ids ) > 1 :
6878 or_query = [{"item_id" : id } for id in node_ids if id != item_id ]
6979 next_shell = flask_mongo .db .items .find (
@@ -77,6 +87,11 @@ def get_graph_cy_format(
7787 all_documents .extend (next_shell )
7888 node_ids = node_ids | {document ["item_id" ] for document in all_documents }
7989
90+ LOGGER .debug (
91+ "Found %d unique node IDs related to item %s after filtering" , len (node_ids ), item_id
92+ )
93+ LOGGER .debug ("Node IDs: %s" , node_ids )
94+
8095 nodes = []
8196 edges = []
8297
0 commit comments