@inspire-platform/sails-hook-permissions
Version:
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.
22 lines (19 loc) • 626 B
JavaScript
/**
* Creates database representations of the Model types.
*
* @public
*/
import _ from 'lodash'
exports.createModels = function () {
sails.log.verbose('sails-hook-permissions: syncing waterline models');
var models = _.compact(_.map(sails.models, function (model, name) {
return model && model.globalId && model.identity && {
name: model.globalId,
identity: model.identity,
attributes: _.omit(model.attributes, _.functions(model.attributes))
};
}));
return Promise.all(_.map(models, function (model) {
return sails.models.model.findOrCreate({ name: model.name }, model);
}));
};