@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.
31 lines (23 loc) • 602 B
JavaScript
/*
* Generate feature policies.
*/
;
var _ = require('lodash');
var helpers = require('./helpers');
var featurePolicy = {
/**
* Format and return user feature policy.
*
* @param {Object} user User object
* @returns {Promise}
*/
user: function getUserPolicy(user) {
var features = helpers.findUserFeatures(user);
return features.then(function (features) {
return _.transform(features, function (acc, feature) {
acc[feature.identity] = _.pick(feature, ['id', 'name', 'identity']);
}, {});
});
}
};
module.exports = featurePolicy;