@@ -665,3 +665,33 @@ def activities_graphql_query(fields, order):
665665 query_queue .append ((k , v , field ))
666666
667667 return query
668+
669+
670+ def entity_lists_graphql_query (fields ):
671+ query = GraphQlQuery ("EntityLists" )
672+ project_name_var = query .add_variable ("projectName" , "String!" )
673+ entity_list_ids = query .add_variable ("listIds" , "String!" )
674+
675+ project_field = query .add_field ("project" )
676+ project_field .set_filter ("name" , project_name_var )
677+
678+ entity_lists_field = project_field .add_field_with_edges ("entityLists" )
679+ entity_lists_field .set_filter ("ids" , entity_list_ids )
680+
681+ nested_fields = fields_to_dict (set (fields ))
682+
683+ query_queue = collections .deque ()
684+ for key , value in nested_fields .items ():
685+ query_queue .append ((key , value , entity_lists_field ))
686+
687+ while query_queue :
688+ item = query_queue .popleft ()
689+ key , value , parent = item
690+ field = parent .add_field (key )
691+ if value is FIELD_VALUE :
692+ continue
693+
694+ for k , v in value .items ():
695+ query_queue .append ((k , v , field ))
696+
697+ return query
0 commit comments