parent
eab74038cb
commit
8fd561c37a
|
@ -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;
|
||||
|
|
|
@ -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(() => {
|
||||
|
|
Loading…
Reference in New Issue