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

Commit 2224a05

Browse files
author
Samuel Hassine
committed
[client] Add the forceNatural option to relation methods
1 parent 499b894 commit 2224a05

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

pycti/entities/opencti_stix_observable_relation.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ def list(self, **kwargs):
122122
order_by = kwargs.get("orderBy", None)
123123
order_mode = kwargs.get("orderMode", None)
124124
get_all = kwargs.get("getAll", False)
125+
force_natural = kwargs.get("forceNatural", False)
126+
125127
if get_all:
126128
first = 500
127129

@@ -137,8 +139,8 @@ def list(self, **kwargs):
137139
)
138140
query = (
139141
"""
140-
query StixObservableRelations($fromId: String, $fromTypes: [String], $toId: String, $toTypes: [String], $relationType: String, $firstSeenStart: DateTime, $firstSeenStop: DateTime, $lastSeenStart: DateTime, $lastSeenStop: DateTime, $inferred: Boolean, $first: Int, $after: ID, $orderBy: StixObservableRelationsOrdering, $orderMode: OrderingMode) {
141-
stixObservableRelations(fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationType: $relationType, firstSeenStart: $firstSeenStart, firstSeenStop: $firstSeenStop, lastSeenStart: $lastSeenStart, lastSeenStop: $lastSeenStop, inferred: $inferred, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
142+
query StixObservableRelations($fromId: String, $fromTypes: [String], $toId: String, $toTypes: [String], $relationType: String, $firstSeenStart: DateTime, $firstSeenStop: DateTime, $lastSeenStart: DateTime, $lastSeenStop: DateTime, $inferred: Boolean, $first: Int, $after: ID, $orderBy: StixObservableRelationsOrdering, $orderMode: OrderingMode, $forceNatural: Boolean) {
143+
stixObservableRelations(fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationType: $relationType, firstSeenStart: $firstSeenStart, firstSeenStop: $firstSeenStop, lastSeenStart: $lastSeenStart, lastSeenStop: $lastSeenStop, inferred: $inferred, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode, forceNatural: $forceNatural) {
142144
edges {
143145
node {
144146
"""
@@ -157,6 +159,7 @@ def list(self, **kwargs):
157159
}
158160
"""
159161
)
162+
160163
result = self.opencti.query(
161164
query,
162165
{
@@ -174,6 +177,7 @@ def list(self, **kwargs):
174177
"after": after,
175178
"orderBy": order_by,
176179
"orderMode": order_mode,
180+
"forceNatural": force_natural,
177181
},
178182
)
179183
return self.opencti.process_multiple(result["data"]["stixObservableRelations"])

pycti/entities/opencti_stix_relation.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ def list(self, **kwargs):
150150
order_by = kwargs.get("orderBy", None)
151151
order_mode = kwargs.get("orderMode", None)
152152
get_all = kwargs.get("getAll", False)
153+
force_natural = kwargs.get("forceNatural", False)
153154
if get_all:
154155
first = 500
155156

@@ -165,8 +166,8 @@ def list(self, **kwargs):
165166
)
166167
query = (
167168
"""
168-
query StixRelations($fromId: String, $fromTypes: [String], $toId: String, $toTypes: [String], $relationType: String, $firstSeenStart: DateTime, $firstSeenStop: DateTime, $lastSeenStart: DateTime, $lastSeenStop: DateTime, $inferred: Boolean, $first: Int, $after: ID, $orderBy: StixRelationsOrdering, $orderMode: OrderingMode) {
169-
stixRelations(fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationType: $relationType, firstSeenStart: $firstSeenStart, firstSeenStop: $firstSeenStop, lastSeenStart: $lastSeenStart, lastSeenStop: $lastSeenStop, inferred: $inferred, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode) {
169+
query StixRelations($fromId: String, $fromTypes: [String], $toId: String, $toTypes: [String], $relationType: String, $firstSeenStart: DateTime, $firstSeenStop: DateTime, $lastSeenStart: DateTime, $lastSeenStop: DateTime, $inferred: Boolean, $first: Int, $after: ID, $orderBy: StixRelationsOrdering, $orderMode: OrderingMode, $forceNatural: Boolean) {
170+
stixRelations(fromId: $fromId, fromTypes: $fromTypes, toId: $toId, toTypes: $toTypes, relationType: $relationType, firstSeenStart: $firstSeenStart, firstSeenStop: $firstSeenStop, lastSeenStart: $lastSeenStart, lastSeenStop: $lastSeenStop, inferred: $inferred, first: $first, after: $after, orderBy: $orderBy, orderMode: $orderMode, forceNatural: $forceNatural) {
170171
edges {
171172
node {
172173
"""
@@ -202,6 +203,7 @@ def list(self, **kwargs):
202203
"after": after,
203204
"orderBy": order_by,
204205
"orderMode": order_mode,
206+
"forceNatural": force_natural,
205207
},
206208
)
207209
return self.opencti.process_multiple(result["data"]["stixRelations"])

0 commit comments

Comments
 (0)