- Permissions schema

- Permissions call
This commit is contained in:
Diego Mello 2017-11-20 08:39:42 -02:00
parent eab74038cb
commit 8fd561c37a
2 changed files with 43 additions and 1 deletions

View File

@ -22,6 +22,23 @@ const settingsSchema = {
}
};
const permissionsRolesSchema = {
name: 'permissionsRoles',
properties: {
value: 'string'
}
};
const permissionsSchema = {
name: 'permissions',
primaryKey: '_id',
properties: {
_id: 'string',
_server: 'servers',
roles: { type: 'list', objectType: 'permissionsRoles' }
}
};
const roomsSchema = {
name: 'rooms',
primaryKey: '_id',
@ -128,7 +145,9 @@ const realm = new Realm({
usersSchema,
roomsSchema,
attachment,
messagesEditedBySchema
messagesEditedBySchema,
permissionsSchema,
permissionsRolesSchema
]
});
export default realm;

View File

@ -83,6 +83,29 @@ const RocketChat = {
reduxStore.dispatch(actions.setAllSettings(settings));
});
Meteor.call('permissions/get', (err, data) => {
if (err) {
console.error(err);
}
const permissions = {};
realm.write(() => {
data.forEach((item) => {
const permission = {
_id: item._id,
roles: []
};
permission._server = { id: reduxStore.getState().server.server };
item.roles.forEach((role) => {
permission.roles.push({ value: role });
});
realm.create('permissions', permission, true);
permissions[item._id] = permission;
});
});
// reduxStore.dispatch(actions.setAllPermissions(permissions));
});
Meteor.ddp.on('changed', (ddbMessage) => {
if (ddbMessage.collection === 'stream-room-messages') {
realm.write(() => {