Skip to content

Commit

Permalink
[backend] Merge failure when merging complex multiple object (#6257)
Browse files Browse the repository at this point in the history
  • Loading branch information
richard-julien committed Mar 3, 2024
1 parent c292354 commit 76f7a6d
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions opencti-platform/opencti-graphql/src/database/middleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -1186,9 +1186,14 @@ const mergeEntitiesRaw = async (context, user, targetEntity, sourceEntities, tar
// Check if we need to do something
if (isObjectAttribute(targetFieldKey)) {
// Special case of object that need to be merged
const mergedDict = R.mergeAll([...fieldValues, mergedEntityCurrentFieldValue]);
if (isNotEmptyField(mergedDict)) {
updateAttributes.push({ key: targetFieldKey, value: [mergedDict] });
const isObjectMultiple = isMultipleAttribute(targetType, targetFieldKey);
if (isObjectMultiple) {
updateAttributes.push({ key: targetFieldKey, value: fieldValues, operation: UPDATE_OPERATION_ADD });
} else {
const mergedDict = R.mergeAll([...fieldValues, mergedEntityCurrentFieldValue]);
if (isNotEmptyField(mergedDict)) {
updateAttributes.push({ key: targetFieldKey, value: [mergedDict] });
}
}
} else if (isMultipleAttribute(targetType, targetFieldKey)) {
const sourceValues = fieldValues || [];
Expand Down

0 comments on commit 76f7a6d

Please sign in to comment.