diff --git a/index.js b/index.js index 74263d44a89c438a1eb63841783ba3d1d29ff3fe..535748f127ae311d21b56cfe690bf8333ce8dd9a 100644 --- a/index.js +++ b/index.js @@ -188,24 +188,26 @@ function Stack(dependencies) { // Initialize server (db connection, ...) try { - yield server.plugFileSystem(); + server.onPluggedFSHook = () => co(function*() { - // Register the configuration hook for loading phase (overrides the loaded data) - server.dal.loadConfHook = (conf) => co(function*() { - // Loading injection - for (const callback of configLoadingCallbacks) { - yield callback(conf, program, logger, server.dal.confDAL); - } - }); + // Register the configuration hook for loading phase (overrides the loaded data) + server.dal.loadConfHook = (conf) => co(function*() { + // Loading injection + for (const callback of configLoadingCallbacks) { + yield callback(conf, program, logger, server.dal.confDAL); + } + }); - // Register the configuration hook for saving phase (overrides the saved data) - server.dal.saveConfHook = (conf) => co(function*() { - const clonedConf = _.clone(conf); - for (const callback of configBeforeSaveCallbacks) { - yield callback(clonedConf, program, logger, server.dal.confDAL); - } - return clonedConf; - }); + // Register the configuration hook for saving phase (overrides the saved data) + server.dal.saveConfHook = (conf) => co(function*() { + const clonedConf = _.clone(conf); + for (const callback of configBeforeSaveCallbacks) { + yield callback(clonedConf, program, logger, server.dal.confDAL); + } + return clonedConf; + }); + }) + yield server.plugFileSystem(); const conf = yield server.loadConf(); diff --git a/server.js b/server.js index dd69d2b19ce99ce96305597f4ba30595bf03564d..e8cb1a2dc305528b209ee64b42e59630c63e9253 100644 --- a/server.js +++ b/server.js @@ -90,6 +90,7 @@ function Server (home, memoryOnly, overrideConf) { logger.debug('Plugging file system...'); const params = yield paramsP; that.dal = fileDAL(params); + yield that.onPluggedFSHook() }); this.unplugFileSystem = () => co(function *() { @@ -453,6 +454,11 @@ function Server (home, memoryOnly, overrideConf) { * Default WoT transforming method for certs => links. To be overriden by a module. */ this.generatorNewCertsToLinks = () => Promise.resolve({}) + + /* + * Default hook on file system plugging. To be overriden by module system. + */ + this.onPluggedFSHook = () => Promise.resolve({}) } util.inherits(Server, stream.Duplex);