Skip to content
This repository was archived by the owner on Dec 5, 2025. It is now read-only.

Commit 7cbb022

Browse files
author
Samuel Hassine
committed
[client] Fix getAll on containers (#153)
1 parent f7e3273 commit 7cbb022

10 files changed

+200
-32
lines changed

pycti/entities/opencti_indicator.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def list(self, **kwargs):
154154
get_all = kwargs.get("getAll", False)
155155
with_pagination = kwargs.get("withPagination", False)
156156
if get_all:
157-
first = 500
157+
first = 100
158158

159159
self.opencti.log(
160160
"info", "Listing Indicators with filters " + json.dumps(filters) + "."
@@ -192,7 +192,6 @@ def list(self, **kwargs):
192192
"orderMode": order_mode,
193193
},
194194
)
195-
196195
if get_all:
197196
final_data = []
198197
data = self.opencti.process_multiple(result["data"]["indicators"])

pycti/entities/opencti_note.py

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,15 +192,15 @@ def __init__(self, opencti):
192192
def list(self, **kwargs):
193193
filters = kwargs.get("filters", None)
194194
search = kwargs.get("search", None)
195-
first = kwargs.get("first", 500)
195+
first = kwargs.get("first", 100)
196196
after = kwargs.get("after", None)
197197
order_by = kwargs.get("orderBy", None)
198198
order_mode = kwargs.get("orderMode", None)
199199
custom_attributes = kwargs.get("customAttributes", None)
200200
get_all = kwargs.get("getAll", False)
201201
with_pagination = kwargs.get("withPagination", False)
202202
if get_all:
203-
first = 500
203+
first = 100
204204

205205
self.opencti.log(
206206
"info", "Listing Notes with filters " + json.dumps(filters) + "."
@@ -238,7 +238,31 @@ def list(self, **kwargs):
238238
"orderMode": order_mode,
239239
},
240240
)
241-
return self.opencti.process_multiple(result["data"]["notes"], with_pagination)
241+
if get_all:
242+
final_data = []
243+
data = self.opencti.process_multiple(result["data"]["notes"])
244+
final_data = final_data + data
245+
while result["data"]["notes"]["pageInfo"]["hasNextPage"]:
246+
after = result["data"]["notes"]["pageInfo"]["endCursor"]
247+
self.opencti.log("info", "Listing Notes after " + after)
248+
result = self.opencti.query(
249+
query,
250+
{
251+
"filters": filters,
252+
"search": search,
253+
"first": first,
254+
"after": after,
255+
"orderBy": order_by,
256+
"orderMode": order_mode,
257+
},
258+
)
259+
data = self.opencti.process_multiple(result["data"]["notes"])
260+
final_data = final_data + data
261+
return final_data
262+
else:
263+
return self.opencti.process_multiple(
264+
result["data"]["notes"], with_pagination
265+
)
242266

243267
"""
244268
Read a Note object

pycti/entities/opencti_opinion.py

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,15 +192,15 @@ def __init__(self, opencti):
192192
def list(self, **kwargs):
193193
filters = kwargs.get("filters", None)
194194
search = kwargs.get("search", None)
195-
first = kwargs.get("first", 500)
195+
first = kwargs.get("first", 100)
196196
after = kwargs.get("after", None)
197197
order_by = kwargs.get("orderBy", None)
198198
order_mode = kwargs.get("orderMode", None)
199199
custom_attributes = kwargs.get("customAttributes", None)
200200
get_all = kwargs.get("getAll", False)
201201
with_pagination = kwargs.get("withPagination", False)
202202
if get_all:
203-
first = 500
203+
first = 100
204204

205205
self.opencti.log(
206206
"info", "Listing Opinions with filters " + json.dumps(filters) + "."
@@ -238,9 +238,31 @@ def list(self, **kwargs):
238238
"orderMode": order_mode,
239239
},
240240
)
241-
return self.opencti.process_multiple(
242-
result["data"]["opinions"], with_pagination
243-
)
241+
if get_all:
242+
final_data = []
243+
data = self.opencti.process_multiple(result["data"]["opinions"])
244+
final_data = final_data + data
245+
while result["data"]["opinions"]["pageInfo"]["hasNextPage"]:
246+
after = result["data"]["opinions"]["pageInfo"]["endCursor"]
247+
self.opencti.log("info", "Listing Opinions after " + after)
248+
result = self.opencti.query(
249+
query,
250+
{
251+
"filters": filters,
252+
"search": search,
253+
"first": first,
254+
"after": after,
255+
"orderBy": order_by,
256+
"orderMode": order_mode,
257+
},
258+
)
259+
data = self.opencti.process_multiple(result["data"]["opinions"])
260+
final_data = final_data + data
261+
return final_data
262+
else:
263+
return self.opencti.process_multiple(
264+
result["data"]["opinions"], with_pagination
265+
)
244266

245267
"""
246268
Read a Opinion object

pycti/entities/opencti_report.py

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -197,15 +197,15 @@ def __init__(self, opencti):
197197
def list(self, **kwargs):
198198
filters = kwargs.get("filters", None)
199199
search = kwargs.get("search", None)
200-
first = kwargs.get("first", 500)
200+
first = kwargs.get("first", 100)
201201
after = kwargs.get("after", None)
202202
order_by = kwargs.get("orderBy", None)
203203
order_mode = kwargs.get("orderMode", None)
204204
custom_attributes = kwargs.get("customAttributes", None)
205205
get_all = kwargs.get("getAll", False)
206206
with_pagination = kwargs.get("withPagination", False)
207207
if get_all:
208-
first = 500
208+
first = 100
209209

210210
self.opencti.log(
211211
"info", "Listing Reports with filters " + json.dumps(filters) + "."
@@ -243,7 +243,31 @@ def list(self, **kwargs):
243243
"orderMode": order_mode,
244244
},
245245
)
246-
return self.opencti.process_multiple(result["data"]["reports"], with_pagination)
246+
if get_all:
247+
final_data = []
248+
data = self.opencti.process_multiple(result["data"]["reports"])
249+
final_data = final_data + data
250+
while result["data"]["reports"]["pageInfo"]["hasNextPage"]:
251+
after = result["data"]["reports"]["pageInfo"]["endCursor"]
252+
self.opencti.log("info", "Listing Reports after " + after)
253+
result = self.opencti.query(
254+
query,
255+
{
256+
"filters": filters,
257+
"search": search,
258+
"first": first,
259+
"after": after,
260+
"orderBy": order_by,
261+
"orderMode": order_mode,
262+
},
263+
)
264+
data = self.opencti.process_multiple(result["data"]["reports"])
265+
final_data = final_data + data
266+
return final_data
267+
else:
268+
return self.opencti.process_multiple(
269+
result["data"]["reports"], with_pagination
270+
)
247271

248272
"""
249273
Read a Report object

pycti/entities/opencti_stix_core_relationship.py

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -285,14 +285,14 @@ def list(self, **kwargs):
285285
stop_time_start = kwargs.get("stopTimeStart", None)
286286
stop_time_stop = kwargs.get("stopTimeStop", None)
287287
filters = kwargs.get("filters", [])
288-
first = kwargs.get("first", 500)
288+
first = kwargs.get("first", 100)
289289
after = kwargs.get("after", None)
290290
order_by = kwargs.get("orderBy", None)
291291
order_mode = kwargs.get("orderMode", None)
292292
get_all = kwargs.get("getAll", False)
293293
with_pagination = kwargs.get("withPagination", False)
294294
if get_all:
295-
first = 500
295+
first = 100
296296

297297
self.opencti.log(
298298
"info",
@@ -346,9 +346,44 @@ def list(self, **kwargs):
346346
"orderMode": order_mode,
347347
},
348348
)
349-
return self.opencti.process_multiple(
350-
result["data"]["stixCoreRelationships"], with_pagination
351-
)
349+
if get_all:
350+
final_data = []
351+
data = self.opencti.process_multiple(
352+
result["data"]["stixCoreRelationships"]
353+
)
354+
final_data = final_data + data
355+
while result["data"]["stixCoreRelationships"]["pageInfo"]["hasNextPage"]:
356+
after = result["data"]["stixCoreRelationships"]["pageInfo"]["endCursor"]
357+
self.opencti.log("info", "Listing StixCoreRelationships after " + after)
358+
result = self.opencti.query(
359+
query,
360+
{
361+
"elementId": element_id,
362+
"fromId": from_id,
363+
"fromTypes": from_types,
364+
"toId": to_id,
365+
"toTypes": to_types,
366+
"relationship_type": relationship_type,
367+
"startTimeStart": start_time_start,
368+
"startTimeStop": start_time_stop,
369+
"stopTimeStart": stop_time_start,
370+
"stopTimeStop": stop_time_stop,
371+
"filters": filters,
372+
"first": first,
373+
"after": after,
374+
"orderBy": order_by,
375+
"orderMode": order_mode,
376+
},
377+
)
378+
data = self.opencti.process_multiple(
379+
result["data"]["stixCoreRelationships"]
380+
)
381+
final_data = final_data + data
382+
return final_data
383+
else:
384+
return self.opencti.process_multiple(
385+
result["data"]["stixCoreRelationships"], with_pagination
386+
)
352387

353388
"""
354389
Read a stix_core_relationship object

pycti/entities/opencti_stix_cyber_observable.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ def list(self, **kwargs):
291291
types = kwargs.get("types", None)
292292
filters = kwargs.get("filters", None)
293293
search = kwargs.get("search", None)
294-
first = kwargs.get("first", 500)
294+
first = kwargs.get("first", 100)
295295
after = kwargs.get("after", None)
296296
order_by = kwargs.get("orderBy", None)
297297
order_mode = kwargs.get("orderMode", None)
@@ -300,7 +300,7 @@ def list(self, **kwargs):
300300
with_pagination = kwargs.get("withPagination", False)
301301

302302
if get_all:
303-
first = 500
303+
first = 100
304304

305305
self.opencti.log(
306306
"info",

pycti/entities/opencti_stix_domain_object.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,15 +393,15 @@ def list(self, **kwargs):
393393
types = kwargs.get("types", None)
394394
filters = kwargs.get("filters", None)
395395
search = kwargs.get("search", None)
396-
first = kwargs.get("first", 500)
396+
first = kwargs.get("first", 100)
397397
after = kwargs.get("after", None)
398398
order_by = kwargs.get("orderBy", None)
399399
order_mode = kwargs.get("orderMode", None)
400400
custom_attributes = kwargs.get("customAttributes", None)
401401
get_all = kwargs.get("getAll", False)
402402
with_pagination = kwargs.get("withPagination", False)
403403
if get_all:
404-
first = 500
404+
first = 100
405405

406406
self.opencti.log(
407407
"info",

pycti/entities/opencti_stix_sighting_relationship.py

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -281,14 +281,14 @@ def list(self, **kwargs):
281281
last_seen_start = kwargs.get("lastSeenStart", None)
282282
last_seen_stop = kwargs.get("lastSeenStop", None)
283283
filters = kwargs.get("filters", [])
284-
first = kwargs.get("first", 500)
284+
first = kwargs.get("first", 100)
285285
after = kwargs.get("after", None)
286286
order_by = kwargs.get("orderBy", None)
287287
order_mode = kwargs.get("orderMode", None)
288288
get_all = kwargs.get("getAll", False)
289289
with_pagination = kwargs.get("withPagination", False)
290290
if get_all:
291-
first = 500
291+
first = 100
292292

293293
self.opencti.log(
294294
"info",
@@ -339,9 +339,49 @@ def list(self, **kwargs):
339339
"orderMode": order_mode,
340340
},
341341
)
342-
return self.opencti.process_multiple(
343-
result["data"]["stixSightingRelationships"], with_pagination
344-
)
342+
if get_all:
343+
final_data = []
344+
data = self.opencti.process_multiple(
345+
result["data"]["stixSightingRelationships"]
346+
)
347+
final_data = final_data + data
348+
while result["data"]["stixSightingRelationships"]["pageInfo"][
349+
"hasNextPage"
350+
]:
351+
after = result["data"]["stixSightingRelationships"]["pageInfo"][
352+
"endCursor"
353+
]
354+
self.opencti.log(
355+
"info", "Listing StixSightingRelationships after " + after
356+
)
357+
result = self.opencti.query(
358+
query,
359+
{
360+
"elementId": element_id,
361+
"fromId": from_id,
362+
"fromTypes": from_types,
363+
"toId": to_id,
364+
"toTypes": to_types,
365+
"firstSeenStart": first_seen_start,
366+
"firstSeenStop": first_seen_stop,
367+
"lastSeenStart": last_seen_start,
368+
"lastSeenStop": last_seen_stop,
369+
"filters": filters,
370+
"first": first,
371+
"after": after,
372+
"orderBy": order_by,
373+
"orderMode": order_mode,
374+
},
375+
)
376+
data = self.opencti.process_multiple(
377+
result["data"]["stixSightingRelationships"]
378+
)
379+
final_data = final_data + data
380+
return final_data
381+
else:
382+
return self.opencti.process_multiple(
383+
result["data"]["stixSightingRelationships"], with_pagination
384+
)
345385

346386
"""
347387
Read a stix_sighting object

pycti/entities/opencti_tool.py

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,14 @@ def __init__(self, opencti):
125125
def list(self, **kwargs):
126126
filters = kwargs.get("filters", None)
127127
search = kwargs.get("search", None)
128-
first = kwargs.get("first", 500)
128+
first = kwargs.get("first", 100)
129129
after = kwargs.get("after", None)
130130
order_by = kwargs.get("orderBy", None)
131131
order_mode = kwargs.get("orderMode", None)
132132
get_all = kwargs.get("getAll", False)
133133
with_pagination = kwargs.get("withPagination", False)
134134
if get_all:
135-
first = 500
135+
first = 100
136136

137137
self.opencti.log(
138138
"info", "Listing Tools with filters " + json.dumps(filters) + "."
@@ -170,7 +170,31 @@ def list(self, **kwargs):
170170
"orderMode": order_mode,
171171
},
172172
)
173-
return self.opencti.process_multiple(result["data"]["tools"], with_pagination)
173+
if get_all:
174+
final_data = []
175+
data = self.opencti.process_multiple(result["data"]["tools"])
176+
final_data = final_data + data
177+
while result["data"]["tools"]["pageInfo"]["hasNextPage"]:
178+
after = result["data"]["tools"]["pageInfo"]["endCursor"]
179+
self.opencti.log("info", "Listing Tools after " + after)
180+
result = self.opencti.query(
181+
query,
182+
{
183+
"filters": filters,
184+
"search": search,
185+
"first": first,
186+
"after": after,
187+
"orderBy": order_by,
188+
"orderMode": order_mode,
189+
},
190+
)
191+
data = self.opencti.process_multiple(result["data"]["tools"])
192+
final_data = final_data + data
193+
return final_data
194+
else:
195+
return self.opencti.process_multiple(
196+
result["data"]["tools"], with_pagination
197+
)
174198

175199
"""
176200
Read a Tool object

0 commit comments

Comments
 (0)