Added websocket event and webapp handler for updating user roles (#6953)
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
ac5dd4aa70
Коммит
cc3a95fdd9
@@ -170,6 +170,10 @@ function handleEvent(msg) {
|
||||
handleUserUpdatedEvent(msg);
|
||||
break;
|
||||
|
||||
case SocketEvents.MEMBERROLE_UPDATED:
|
||||
handleUpdateMemberRoleEvent(msg);
|
||||
break;
|
||||
|
||||
case SocketEvents.CHANNEL_CREATED:
|
||||
handleChannelCreatedEvent(msg);
|
||||
break;
|
||||
@@ -321,6 +325,11 @@ function handleUpdateTeamEvent(msg) {
|
||||
TeamStore.updateTeam(msg.data.team);
|
||||
}
|
||||
|
||||
function handleUpdateMemberRoleEvent(msg) {
|
||||
const member = JSON.parse(msg.data.member);
|
||||
TeamStore.updateMyRoles(member);
|
||||
}
|
||||
|
||||
function handleDirectAddedEvent(msg) {
|
||||
getChannelAndMyMember(msg.broadcast.channel_id)(dispatch, getState);
|
||||
PreferenceStore.setPreference(Preferences.CATEGORY_DIRECT_CHANNEL_SHOW, msg.data.teammate_id, 'true');
|
||||
|
||||
@@ -341,6 +341,22 @@ class TeamStoreClass extends EventEmitter {
|
||||
return false;
|
||||
}
|
||||
|
||||
updateMyRoles(member) {
|
||||
const teamMembers = this.getMyTeamMembers();
|
||||
const teamMember = teamMembers.find((m) => m.user_id === member.user_id && m.team_id === member.team_id);
|
||||
|
||||
if (teamMember) {
|
||||
const newMember = Object.assign({}, teamMember, {
|
||||
roles: member.roles
|
||||
});
|
||||
|
||||
store.dispatch({
|
||||
type: TeamTypes.RECEIVED_MY_TEAM_MEMBER,
|
||||
data: newMember
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
subtractUnread(teamId, msgs, mentions) {
|
||||
let member = this.getMyTeamMembers().filter((m) => m.team_id === teamId)[0];
|
||||
if (member) {
|
||||
|
||||
@@ -233,6 +233,7 @@ export const SocketEvents = {
|
||||
USER_ADDED: 'user_added',
|
||||
USER_REMOVED: 'user_removed',
|
||||
USER_UPDATED: 'user_updated',
|
||||
MEMBERROLE_UPDATED: 'memberrole_updated',
|
||||
TYPING: 'typing',
|
||||
PREFERENCE_CHANGED: 'preference_changed',
|
||||
PREFERENCES_CHANGED: 'preferences_changed',
|
||||
|
||||
Ссылка в новой задаче
Block a user