From 2db6203c649247281b982af8377c3593b7fed329 Mon Sep 17 00:00:00 2001 From: Boaz Poolman Date: Sat, 27 Mar 2021 17:14:56 +0100 Subject: [PATCH] Import config diff, not all config --- services/main.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/services/main.js b/services/main.js index 2a95e3d..0058d01 100644 --- a/services/main.js +++ b/services/main.js @@ -2,6 +2,7 @@ const fs = require('fs'); const util = require('util'); +const difference = require('../utils/getObjectDiff'); /** * Main services for config import/export. @@ -116,11 +117,14 @@ module.exports = { * @returns {void} */ importAllConfig: async (configType = null) => { - const configFiles = fs.readdirSync(strapi.plugins['config-sync'].config.destination); + const fileConfig = await strapi.plugins['config-sync'].services.main.getAllConfigFromFiles(); + const databaseConfig = await strapi.plugins['config-sync'].services.main.getAllConfigFromDatabase(); - configFiles.map((file) => { + const diff = difference(databaseConfig, fileConfig); + + Object.keys(diff).map((file) => { const type = file.split('.')[0]; // Grab the first part of the filename. - const name = file.split(/\.(.+)/)[1].split('.').slice(0, -1).join('.'); // Grab the rest of the filename minus the file extension. + const name = file.split(/\.(.+)/)[1]; // Grab the rest of the filename minus the file extension. if (configType && configType !== type) { return;