UNPKG

@blaasvaer/frmwrk

Version:

My personal Node framework

47 lines (35 loc) 1.18 kB
const utils = require('@blaasvaer/frmwrk/utils'); /** * Install Controllers */ function installControllers ( config ) { let controllers_dir = config.root + '/controllers/'; return utils.readdirAsync( controllers_dir ) // .then( utils.sleep( Math.floor( ( Math.random() * 1000 ) + 1000 ) ) ) // DEBUGGING .then(function( files ) { const controller_files = []; files.forEach( file => { // Skip file if name start with an underscore if ( file.charAt(0) === '_' || file === '.DS_Store' ) return; let promise = new Promise( function( resolve, reject ) { let controller = require( controllers_dir + file ); if ( controller ) { if ( typeof controller.install === 'function' ) { // Add controller if it exports install this.controllers = {}; this.controllers[ file.split('.')[0] ] = controller; // Trigger install script for controller controller.install.call(); } resolve( file ); } else { reject( "Loading of controller: " + file + " failed!" ); } }); controller_files.push( promise ); }); return Promise.all( controller_files ); }); } module.exports = installControllers;