UNPKG

reldens

Version:
44 lines (38 loc) 1.72 kB
/** * * Reldens - DataServerInitializer * */ const { DataServerConfig } = require('./data-server-config'); const { EntitiesLoader } = require('./entities-loader'); const { DriversMap } = require('./storage/drivers-map'); const { Logger, sc } = require('@reldens/utils'); class DataServerInitializer { static initializeEntitiesAndDriver(props) { let {config, dataServerDriver, serverManager} = props; let dataServerConfig = DataServerConfig.prepareDbConfig(config); let loadEntitiesOptions = { serverManager: serverManager, reldensModuleLibPath: serverManager.themeManager.reldensModuleLibPath, bucketFullPath: serverManager.themeManager.projectThemePath, distPath: serverManager.themeManager.distPath, isHotPlugEnabled: serverManager.isHotPlugEnabled, withConfig: true, withTranslations: true, storageDriver: dataServerConfig.storageDriver }; let loadedEntities = EntitiesLoader.loadEntities(loadEntitiesOptions); dataServerConfig.loadedEntities = loadedEntities.entities; dataServerConfig.translations = sc.get(loadedEntities, 'translations', {}); dataServerConfig.rawEntities = Object.assign( (loadedEntities?.entitiesRaw || {}), sc.get(config, 'rawEntities', {}) ); Logger.info('Storage Driver:', dataServerConfig.storageDriver); let dataServer = dataServerDriver || new DriversMap[dataServerConfig.storageDriver](dataServerConfig); return {dataServerConfig, dataServer}; } } module.exports.DataServerInitializer = DataServerInitializer;