sails-permissions-sequelize
Version:
Sequelize version of : Comprehensive user permissions and entitlements system for sails.js and Waterline. Supports user authentication with passport.js, role-based permissioning, object ownership, and row-level security.
28 lines (22 loc) • 888 B
JavaScript
/**
* Creates database representations of the Model types.
*
* @public
*/
;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
exports.createModels = function () {
sails.log.verbose('sails-permissions: syncing waterline models');
var models = _lodash2['default'].compact(_lodash2['default'].map(sails.models, function (model, name) {
return model && model.globalId && model.identity && {
name: model.globalId,
identity: model.identity,
attributes: _lodash2['default'].omit(model.attributes, _lodash2['default'].functions(model.attributes))
};
}));
return Promise.all(_lodash2['default'].map(models, function (model) {
return sails.models.model.findOrCreate({ name: model.name }, model);
}));
};