sails-util-mvcsloader
Version:
Load models, controllers, services, policies and config from specified directories and inject them into the main Sails app.
25 lines (23 loc) • 736 B
JavaScript
/**
* Load app policies
*
* @param {Object} options
* @param {Function} cb
*/
var async = require('async'), _ = require('lodash'), buildDictionary = require('sails-build-dictionary');
module.exports = function (cb) {
async.reduce(sails.config.paths.policies, {}, function (prev, curr, callback) {
buildDictionary.optional({
dirname: curr,
filter: /(.+)\.(js|coffee|litcoffee)$/,
replaceExpr: null,
flattenDirectories: true,
keepDirectoryPath: true
}, function (err, policies) {
if (err) {
callback(err);
}
callback(null, _.merge(prev, policies));
});
}, cb);
};