Skip to content

Commit 021ac23

Browse files
[client] Add embedded option to file upload (#968)
1 parent 5ded40c commit 021ac23

File tree

4 files changed

+21
-6
lines changed

4 files changed

+21
-6
lines changed

pycti/entities/opencti_external_reference.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,12 +276,13 @@ def add_file(self, **kwargs):
276276
file_markings = kwargs.get("fileMarkings", None)
277277
mime_type = kwargs.get("mime_type", "text/plain")
278278
no_trigger_import = kwargs.get("no_trigger_import", False)
279+
embedded = kwargs.get("embedded", False)
279280
if id is not None and file_name is not None:
280281
final_file_name = os.path.basename(file_name)
281282
query = """
282-
mutation ExternalReferenceEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean) {
283+
mutation ExternalReferenceEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean, $embedded: Boolean) {
283284
externalReferenceEdit(id: $id) {
284-
importPush(file: $file, fileMarkings: $fileMarkings, version: $version, noTriggerImport: $noTriggerImport) {
285+
importPush(file: $file, fileMarkings: $fileMarkings, version: $version, noTriggerImport: $noTriggerImport, embedded: $embedded) {
285286
id
286287
name
287288
}
@@ -310,6 +311,7 @@ def add_file(self, **kwargs):
310311
if isinstance(no_trigger_import, bool)
311312
else no_trigger_import == "True"
312313
),
314+
"embedded": embedded,
313315
},
314316
)
315317
else:

pycti/entities/opencti_stix_cyber_observable.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,12 +185,13 @@ def add_file(self, **kwargs):
185185
version = kwargs.get("version", None)
186186
mime_type = kwargs.get("mime_type", "text/plain")
187187
no_trigger_import = kwargs.get("no_trigger_import", False)
188+
embedded = kwargs.get("embedded", False)
188189
if id is not None and file_name is not None:
189190
final_file_name = os.path.basename(file_name)
190191
query = """
191-
mutation StixCyberObservableEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean) {
192+
mutation StixCyberObservableEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean, $embedded: Boolean) {
192193
stixCyberObservableEdit(id: $id) {
193-
importPush(file: $file, version: $version, fileMarkings: $fileMarkings, noTriggerImport: $noTriggerImport) {
194+
importPush(file: $file, version: $version, fileMarkings: $fileMarkings, noTriggerImport: $noTriggerImport, embedded: $embedded) {
194195
id
195196
name
196197
}
@@ -219,6 +220,7 @@ def add_file(self, **kwargs):
219220
if isinstance(no_trigger_import, bool)
220221
else no_trigger_import == "True"
221222
),
223+
"embedded": embedded,
222224
},
223225
)
224226
else:

pycti/entities/opencti_stix_domain_object.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1368,12 +1368,13 @@ def add_file(self, **kwargs):
13681368
version = kwargs.get("version", None)
13691369
mime_type = kwargs.get("mime_type", "text/plain")
13701370
no_trigger_import = kwargs.get("no_trigger_import", False)
1371+
embedded = kwargs.get("embedded", False)
13711372
if id is not None and file_name is not None:
13721373
final_file_name = os.path.basename(file_name)
13731374
query = """
1374-
mutation StixDomainObjectEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean) {
1375+
mutation StixDomainObjectEdit($id: ID!, $file: Upload!, $fileMarkings: [String], $version: DateTime, $noTriggerImport: Boolean, $embedded: Boolean) {
13751376
stixDomainObjectEdit(id: $id) {
1376-
importPush(file: $file, version: $version, fileMarkings: $fileMarkings, noTriggerImport: $noTriggerImport) {
1377+
importPush(file: $file, version: $version, fileMarkings: $fileMarkings, noTriggerImport: $noTriggerImport, embedded: $embedded) {
13771378
id
13781379
name
13791380
}
@@ -1402,6 +1403,7 @@ def add_file(self, **kwargs):
14021403
if isinstance(no_trigger_import, bool)
14031404
else no_trigger_import == "True"
14041405
),
1406+
"embedded": embedded,
14051407
},
14061408
)
14071409
else:

pycti/utils/opencti_stix2.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -758,6 +758,7 @@ def extract_embedded_relationships(
758758
fileMarkings=file.get("object_marking_refs", None),
759759
mime_type=file["mime_type"],
760760
no_trigger_import=file.get("no_trigger_import", False),
761+
embedded=file.get("embedded", False),
761762
)
762763
if (
763764
self.opencti.get_attribute_in_extension("files", external_reference)
@@ -775,6 +776,7 @@ def extract_embedded_relationships(
775776
fileMarkings=file.get("object_marking_refs", None),
776777
mime_type=file["mime_type"],
777778
no_trigger_import=file.get("no_trigger_import", False),
779+
embedded=file.get("embedded", False),
778780
)
779781
external_references_ids.append(external_reference_id)
780782
# Granted refs
@@ -1042,6 +1044,7 @@ def import_object(
10421044
if "x_opencti_files" in stix_object:
10431045
for file in stix_object["x_opencti_files"]:
10441046
if "data" in file:
1047+
print(file)
10451048
self.opencti.stix_domain_object.add_file(
10461049
id=stix_object_result["id"],
10471050
file_name=file["name"],
@@ -1050,6 +1053,7 @@ def import_object(
10501053
fileMarkings=file.get("object_marking_refs", None),
10511054
mime_type=file["mime_type"],
10521055
no_trigger_import=file.get("no_trigger_import", False),
1056+
embedded=file.get("embedded", False),
10531057
)
10541058
if (
10551059
self.opencti.get_attribute_in_extension("files", stix_object)
@@ -1059,6 +1063,7 @@ def import_object(
10591063
"files", stix_object
10601064
):
10611065
if "data" in file:
1066+
print(file)
10621067
self.opencti.stix_domain_object.add_file(
10631068
id=stix_object_result["id"],
10641069
file_name=file["name"],
@@ -1067,6 +1072,7 @@ def import_object(
10671072
fileMarkings=file.get("object_marking_refs", None),
10681073
mime_type=file["mime_type"],
10691074
no_trigger_import=file.get("no_trigger_import", False),
1075+
embedded=file.get("embedded", False),
10701076
)
10711077
return stix_object_results
10721078

@@ -1179,6 +1185,7 @@ def import_observable(
11791185
fileMarkings=file.get("object_marking_refs", None),
11801186
mime_type=file["mime_type"],
11811187
no_trigger_import=file.get("no_trigger_import", False),
1188+
embedded=file.get("embedded", False),
11821189
)
11831190
if (
11841191
self.opencti.get_attribute_in_extension("files", stix_object)
@@ -1196,6 +1203,7 @@ def import_observable(
11961203
fileMarkings=file.get("object_marking_refs", None),
11971204
mime_type=file["mime_type"],
11981205
no_trigger_import=file.get("no_trigger_import", False),
1206+
embedded=file.get("embedded", False),
11991207
)
12001208
if "id" in stix_object:
12011209
self.mapping_cache[stix_object["id"]] = {
@@ -2472,6 +2480,7 @@ def apply_patch_files(self, item):
24722480
fileMarkings=file.get("object_marking_refs", None),
24732481
mime_type=file.get("mime_type", None),
24742482
no_trigger_import=file.get("no_trigger_import", False),
2483+
embedded=file.get("embedded", False),
24752484
)
24762485

24772486
def apply_patch(self, item):

0 commit comments

Comments
 (0)