fix: More specific selection of relation entities
parent
8abf651a46
commit
dbe3ea8c88
|
@ -104,8 +104,8 @@ const ConfigType = class ConfigType {
|
||||||
existingConfig = sanitizeConfig(existingConfig, relationName, relationSortFields);
|
existingConfig = sanitizeConfig(existingConfig, relationName, relationSortFields);
|
||||||
configContent = sanitizeConfig(configContent, relationName, relationSortFields);
|
configContent = sanitizeConfig(configContent, relationName, relationSortFields);
|
||||||
|
|
||||||
const configToAdd = difference(configContent[relationName], existingConfig[relationName], relationSortFields[0]);
|
const configToAdd = difference(configContent[relationName], existingConfig[relationName], relationSortFields);
|
||||||
const configToDelete = difference(existingConfig[relationName], configContent[relationName], relationSortFields[0]);
|
const configToDelete = difference(existingConfig[relationName], configContent[relationName], relationSortFields);
|
||||||
|
|
||||||
await Promise.all(configToDelete.map(async (config) => {
|
await Promise.all(configToDelete.map(async (config) => {
|
||||||
const whereClause = {};
|
const whereClause = {};
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
const difference = (arrayOne, arrayTwo, compareKey) => {
|
const difference = (arrayOne, arrayTwo, compareKeys) => {
|
||||||
return arrayOne.filter(({ [compareKey]: id1 }) => {
|
return arrayOne.filter(({
|
||||||
return !arrayTwo.some(({ [compareKey]: id2 }) => id2 === id1);
|
[compareKeys[0]]: id1,
|
||||||
|
[compareKeys[1]]: id2,
|
||||||
|
}) => {
|
||||||
|
return !arrayTwo.some(({
|
||||||
|
[compareKeys[0]]: id3,
|
||||||
|
[compareKeys[1]]: id4,
|
||||||
|
}) => id1 === id3 && id2 === id4);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue