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

Commit 24f4f59

Browse files
[client] Fix administrative entities parsing (#827)
1 parent c476b0d commit 24f4f59

File tree

5 files changed

+52
-37
lines changed

5 files changed

+52
-37
lines changed

pycti/api/opencti_api_client.py

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -639,43 +639,6 @@ def process_multiple_fields(self, data):
639639
if "importFiles" in data:
640640
data["importFiles"] = self.process_multiple(data["importFiles"])
641641
data["importFilesIds"] = self.process_multiple_ids(data["importFiles"])
642-
643-
# Administrative data
644-
if "groups" in data:
645-
data["groups"] = self.process_multiple(data["groups"])
646-
data["groupsIds"] = self.process_multiple_ids(data["groups"])
647-
if "objectOrganization" in data:
648-
data["objectOrganization"] = self.process_multiple(
649-
data["objectOrganization"]
650-
)
651-
data["objectOrganizationIds"] = self.process_multiple_ids(
652-
data["objectOrganization"]
653-
)
654-
if "roles" in data:
655-
data["roles"] = self.process_multiple(data["roles"])
656-
data["rolesIds"] = self.process_multiple_ids(data["roles"])
657-
if "capabilities" in data:
658-
data["capabilities"] = self.process_multiple(data["capabilities"])
659-
data["capabilitiesIds"] = self.process_multiple_ids(data["capabilities"])
660-
if "members" in data:
661-
data["members"] = self.process_multiple(data["members"])
662-
data["membersIds"] = self.process_multiple_ids(data["members"])
663-
if "platform_messages" in data:
664-
data["platform_messages"] = self.process_multiple(data["platform_messages"])
665-
data["platform_messages_ids"] = self.process_multiple_ids(
666-
data["platform_messages"]
667-
)
668-
if "messages_administration" in data:
669-
data["messages_administration"] = self.process_multiple(
670-
data["messages_administration"]
671-
)
672-
data["messages_administration_ids"] = self.process_multiple_ids(
673-
data["messages_administration"]
674-
)
675-
if "recipients" in data:
676-
data["recipients"] = self.process_multiple(data["recipients"])
677-
data["recipientsIds"] = self.process_multiple_ids(data["recipients"])
678-
679642
# See aliases of GraphQL query in stix_core_object method
680643
if "name_alt" in data:
681644
data["name"] = data["name_alt"]

pycti/entities/opencti_group.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,3 +705,12 @@ def delete_allowed_marking(self, **kwargs) -> Optional[Dict]:
705705
return self.opencti.process_multiple_fields(
706706
result["data"]["groupEdit"]["relationDelete"]
707707
)
708+
709+
def process_multiple_fields(self, data):
710+
if "roles" in data:
711+
data["roles"] = self.opencti.process_multiple(data["roles"])
712+
data["rolesIds"] = self.opencti.process_multiple_ids(data["roles"])
713+
if "members" in data:
714+
data["members"] = self.opencti.process_multiple(data["members"])
715+
data["membersIds"] = self.opencti.process_multiple_ids(data["members"])
716+
return data

pycti/entities/opencti_role.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,3 +398,11 @@ def delete_capability(self, **kwargs) -> Optional[Dict]:
398398
return self.opencti.process_multiple_fields(
399399
result["data"]["roleEdit"]["relationDelete"]
400400
)
401+
402+
def process_multiple_fields(self, data):
403+
if "capabilities" in data:
404+
data["capabilities"] = self.opencti.process_multiple(data["capabilities"])
405+
data["capabilitiesIds"] = self.opencti.process_multiple_ids(
406+
data["capabilities"]
407+
)
408+
return data

pycti/entities/opencti_settings.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ def __init__(self, opencti):
138138
}
139139
"""
140140
self.messages_properties = """
141+
entity_type
141142
platform_messages {
142143
id, message, activated, dismissible, updated_at, color
143144
recipients {
@@ -365,3 +366,20 @@ def delete_message(self, **kwargs) -> Optional[Dict]:
365366
return self.opencti.process_multiple_fields(
366367
result["data"]["settingsEdit"]["deleteMessage"]
367368
)
369+
370+
def process_multiple_fields(self, data):
371+
if "platform_messages" in data:
372+
data["platform_messages"] = self.opencti.process_multiple(
373+
data["platform_messages"]
374+
)
375+
data["platform_messages_ids"] = self.opencti.process_multiple_ids(
376+
data["platform_messages"]
377+
)
378+
if "messages_administration" in data:
379+
data["messages_administration"] = self.opencti.process_multiple(
380+
data["messages_administration"]
381+
)
382+
data["messages_administration_ids"] = self.opencti.process_multiple_ids(
383+
data["messages_administration"]
384+
)
385+
return data

pycti/entities/opencti_user.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -784,3 +784,20 @@ def token_renew(self, **kwargs) -> Optional[Dict]:
784784
return self.opencti.process_multiple_fields(
785785
result["data"]["userEdit"]["tokenRenew"]
786786
)
787+
788+
def process_multiple_fields(self, data):
789+
if "roles" in data:
790+
data["roles"] = self.opencti.process_multiple(data["roles"])
791+
data["rolesIds"] = self.opencti.process_multiple_ids(data["roles"])
792+
if "groups" in data:
793+
data["groups"] = self.opencti.process_multiple(data["groups"])
794+
data["groupsIds"] = self.opencti.process_multiple_ids(data["groups"])
795+
if "objectOrganization" in data:
796+
data["objectOrganization"] = self.opencti.process_multiple(
797+
data["objectOrganization"]
798+
)
799+
data["objectOrganizationIds"] = self.opencti.process_multiple_ids(
800+
data["objectOrganization"]
801+
)
802+
803+
return data

0 commit comments

Comments
 (0)