summaryrefslogtreecommitdiffstats
path: root/server/models/role.js
diff options
context:
space:
mode:
authorChristian Hofmaier2018-08-05 01:42:49 +0200
committerChristian Hofmaier2018-08-05 01:42:49 +0200
commitd236e4c57a7f71589764efccd0cb36337d551055 (patch)
tree6d47dc6deface87f1985ce7daf26692e25838b16 /server/models/role.js
parent[store/global] simplified settings loading (diff)
downloadbas-d236e4c57a7f71589764efccd0cb36337d551055.tar.gz
bas-d236e4c57a7f71589764efccd0cb36337d551055.tar.xz
bas-d236e4c57a7f71589764efccd0cb36337d551055.zip
[permissions] add permission management
Add Roles Table with Delete Roles and Create Roles possibilities Add Users Table with Grant Roles and Revoke Roles possibilities
Diffstat (limited to 'server/models/role.js')
-rw-r--r--server/models/role.js7
1 files changed, 6 insertions, 1 deletions
diff --git a/server/models/role.js b/server/models/role.js
index 60fba53..2ce1ad1 100644
--- a/server/models/role.js
+++ b/server/models/role.js
@@ -13,7 +13,12 @@ module.exports = (sequelize, DataTypes) => {
timestamps: false
})
role.associate = function (models) {
- // associations can be defined here
+ var RoleXPermission = sequelize.define('role_x_permission', {}, { timestamps: false, freezeTableName: true })
+ role.belongsToMany(models.permission, { as: 'permissions', through: RoleXPermission, foreignKey: 'roleId', otherKey: 'permissionId'})
+
+ var RoleXGroup = sequelize.define('role_x_group', {}, { timestamps: false, freezeTableName: true })
+ role.belongsToMany(models.group, { as: 'groups', through: RoleXGroup, foreignKey: 'roleId', otherKey: 'groupId'})
}
+
return role
}