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