From 49f290ff979a23b88875df84aa5db04a0e6a6943 Mon Sep 17 00:00:00 2001 From: Marc-Roig Date: Tue, 28 Mar 2023 14:37:02 +0200 Subject: [PATCH] feat: add omitIds --- .../relations/cloning/regular-relations.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/core/database/lib/entity-manager/relations/cloning/regular-relations.js b/packages/core/database/lib/entity-manager/relations/cloning/regular-relations.js index acafdefda1..322e81195e 100644 --- a/packages/core/database/lib/entity-manager/relations/cloning/regular-relations.js +++ b/packages/core/database/lib/entity-manager/relations/cloning/regular-relations.js @@ -2,7 +2,13 @@ const { cleanInverseOrderColumn } = require('../../regular-relations'); -const replaceRegularRelations = async ({ targetId, sourceId, attribute, transaction: trx }) => { +const replaceRegularRelations = async ({ + targetId, + sourceId, + attribute, + omitIds, + transaction: trx, +}) => { const { joinTable } = attribute; const { joinColumn, inverseJoinColumn } = joinTable; @@ -11,8 +17,7 @@ const replaceRegularRelations = async ({ targetId, sourceId, attribute, transact .createQueryBuilder(joinTable.name) .update({ [joinColumn.name]: targetId }) .where({ [joinColumn.name]: sourceId }) - // TODO: Exclude some relations from being replaced - // .where({ $not: { [inverseJoinColumn.name]: relationsToDeleteIds } }) + .where({ $not: { [inverseJoinColumn.name]: omitIds } }) .onConflict([joinColumn.name, inverseJoinColumn.name]) .ignore() .transacting(trx) @@ -39,7 +44,7 @@ const cloneRegularRelations = async ({ targetId, sourceId, attribute, transactio ) .where(joinColumn.name, sourceId) // TODO: Exclude some relations from being replaced - // .where({ $not: { [inverseJoinColumn.name]: relationsToDeleteIds } }) + // .where({ $not: { [inverseJoinColumn.name]: omitIds } }) .from(joinTable.name) .toSQL();