fix: User updates are not synced between clients (#6490)
* Add Model.changeset method to get minified changes since last update * fix: Handle arrays * Add changes column, types * test
This commit is contained in:
@@ -15,6 +15,7 @@ import {
|
||||
Subscription,
|
||||
Notification,
|
||||
UserMembership,
|
||||
User,
|
||||
} from "@server/models";
|
||||
import {
|
||||
presentComment,
|
||||
@@ -27,6 +28,7 @@ import {
|
||||
presentSubscription,
|
||||
presentTeam,
|
||||
presentMembership,
|
||||
presentUser,
|
||||
} from "@server/presenters";
|
||||
import presentNotification from "@server/presenters/notification";
|
||||
import { Event } from "../../types";
|
||||
@@ -667,6 +669,19 @@ export default class WebsocketsProcessor {
|
||||
.emit(event.name, presentTeam(team));
|
||||
}
|
||||
|
||||
case "users.update": {
|
||||
const user = await User.findByPk(event.userId);
|
||||
if (!user) {
|
||||
return;
|
||||
}
|
||||
socketio
|
||||
.to(`user-${event.userId}`)
|
||||
.emit(event.name, presentUser(user, { includeDetails: true }));
|
||||
|
||||
socketio.to(`team-${user.teamId}`).emit(event.name, presentUser(user));
|
||||
return;
|
||||
}
|
||||
|
||||
case "users.demote": {
|
||||
return socketio
|
||||
.to(`user-${event.userId}`)
|
||||
|
||||
Reference in New Issue
Block a user