UNPKG

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.

51 lines (48 loc) 1.18 kB
/** * @module Role * * @description * Roles endow Users with Permissions. Exposes Postgres-like API for * resolving granted Permissions for a User. * * @see <http://www.postgresql.org/docs/9.3/static/sql-grant.html> */ module.exports = { autoCreatedBy: false, description: 'Confers `Permission` to `User`', attributes: { name: { type: Sequelize.STRING, index: true, notNull: true, unique: true }, // users: { // collection: 'User', // via: 'roles' // }, active: { type: Sequelize.BOOLEAN, defaultValue: true }, // permissions: { // collection: 'Permission', // via: 'role' // } }, associate: function(){ Role.belongsToMany(User, {through: 'userroles',as: 'users'}); Role.hasMany(Permission, {as: 'permissions'}); }, indexes: [ { fields: ['active'] }, ], options: { tableName: 'role', classMethods: {}, instanceMethods: {}, hooks: {} } };