UNPKG

ihub-framework-js

Version:

Legacy version of iHub Framework written in Javascript

40 lines (32 loc) 1.01 kB
/** * Load all files (mongoose models) inside a folder */ /* eslint-disable global-require */ /* eslint-disable import/no-dynamic-require */ const path = require('path'); const fs = require('fs'); const log = require('../logger'); module.exports = (folder) => { if (!fs.existsSync(folder)) { log.debug(`${folder} not found`); return; } const componentModels = fs.readdirSync(folder); componentModels.forEach((model) => { /* Debug */ log.debug(`Loading model '${folder}/${model}'`); const modelPath = path.join(folder, model); const rResolve = require.resolve(modelPath); const modelRequired = require(modelPath); if (typeof modelRequired.base === 'undefined' || typeof modelRequired.base.Mongoose !== 'function') { log.error(`${folder}/${model} not a mongoose scheme`); try { if (require.cache[rResolve]) { delete require.cache[rResolve]; } } catch (err) { log.error(err.message || err); } } }); };