Realtime permissions
This commit is contained in:
parent
1a32a43eb5
commit
65a6024278
|
@ -17,4 +17,4 @@
|
|||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||
# org.gradle.parallel=true
|
||||
|
||||
android.useDeprecatedNdk=true
|
||||
android.useDeprecatedNdk=true
|
||||
|
|
|
@ -77,13 +77,8 @@ export default class MessageActions extends React.Component {
|
|||
const { roles } = this.props.room[0];
|
||||
const roomRoles = Array.from(Object.keys(roles), i => roles[i].value);
|
||||
const userRoles = this.props.user.roles || [];
|
||||
const mergedRoles = [...new Set([...roomRoles, ...userRoles])];
|
||||
this.hasEditPermission = this.props.permissions['edit-message']
|
||||
.some(item => mergedRoles.indexOf(item) !== -1);
|
||||
this.hasDeletePermission = this.props.permissions['delete-message']
|
||||
.some(item => mergedRoles.indexOf(item) !== -1);
|
||||
this.hasForceDeletePermission = this.props.permissions['force-delete-message']
|
||||
.some(item => mergedRoles.indexOf(item) !== -1);
|
||||
this.mergedRoles = [...new Set([...roomRoles, ...userRoles])];
|
||||
this.setPermissions(this.props);
|
||||
}
|
||||
|
||||
async componentWillReceiveProps(nextProps) {
|
||||
|
@ -154,6 +149,19 @@ export default class MessageActions extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
componentDidUpdate() {
|
||||
this.setPermissions(this.props);
|
||||
}
|
||||
|
||||
setPermissions(props) {
|
||||
this.hasEditPermission = props.permissions['edit-message']
|
||||
.some(item => this.mergedRoles.indexOf(item) !== -1);
|
||||
this.hasDeletePermission = props.permissions['delete-message']
|
||||
.some(item => this.mergedRoles.indexOf(item) !== -1);
|
||||
this.hasForceDeletePermission = props.permissions['force-delete-message']
|
||||
.some(item => this.mergedRoles.indexOf(item) !== -1);
|
||||
}
|
||||
|
||||
isOwn = props => props.actionMessage.u && props.actionMessage.u._id === props.user.id;
|
||||
|
||||
allowEdit = (props) => {
|
||||
|
|
Loading…
Reference in New Issue