@@ -38,6 +38,7 @@ def generate_id(value):
3838
3939 def list (self , ** kwargs ):
4040 filters = kwargs .get ("filters" , None )
41+ search = kwargs .get ("search" , None )
4142 first = kwargs .get ("first" , 500 )
4243 after = kwargs .get ("after" , None )
4344 order_by = kwargs .get ("orderBy" , None )
@@ -46,13 +47,13 @@ def list(self, **kwargs):
4647 get_all = kwargs .get ("getAll" , False )
4748 with_pagination = kwargs .get ("withPagination" , False )
4849 if get_all :
49- first = 500
50+ first = 100
5051
5152 LOGGER .info ("Listing Labels with filters %s." , json .dumps (filters ))
5253 query = (
5354 """
54- query Labels($filters: [LabelsFiltering], $first: Int, $after: ID, $orderBy: LabelsOrdering, $orderMode: OrderingMode) {
55- labels(filters: $filters, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
55+ query Labels($filters: [LabelsFiltering], search: $search, $first: Int, $after: ID, $orderBy: LabelsOrdering, $orderMode: OrderingMode) {
56+ labels(filters: $filters, search: $search, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
5657 edges {
5758 node {
5859 """
@@ -75,13 +76,38 @@ def list(self, **kwargs):
7576 query ,
7677 {
7778 "filters" : filters ,
79+ "search" : search ,
7880 "first" : first ,
7981 "after" : after ,
8082 "orderBy" : order_by ,
8183 "orderMode" : order_mode ,
8284 },
8385 )
84- return self .opencti .process_multiple (result ["data" ]["labels" ], with_pagination )
86+ if get_all :
87+ final_data = []
88+ data = self .opencti .process_multiple (result ["data" ]["labels" ])
89+ final_data = final_data + data
90+ while result ["data" ]["labels" ]["pageInfo" ]["hasNextPage" ]:
91+ after = result ["data" ]["labels" ]["pageInfo" ]["endCursor" ]
92+ LOGGER .info ("Listing Labels after " + after )
93+ result = self .opencti .query (
94+ query ,
95+ {
96+ "filters" : filters ,
97+ "search" : search ,
98+ "first" : first ,
99+ "after" : after ,
100+ "orderBy" : order_by ,
101+ "orderMode" : order_mode ,
102+ },
103+ )
104+ data = self .opencti .process_multiple (result ["data" ]["labels" ])
105+ final_data = final_data + data
106+ return final_data
107+ else :
108+ return self .opencti .process_multiple (
109+ result ["data" ]["labels" ], with_pagination
110+ )
85111
86112 """
87113 Read a Label object
0 commit comments