From 7804f33e0d888207d2fb76732dd85ddc20384860 Mon Sep 17 00:00:00 2001 From: Tom Moor Date: Wed, 24 Aug 2022 00:35:50 +0200 Subject: [PATCH] Separate teams.update event --- app/components/SocketProvider.tsx | 23 ++++++++++--------- .../queues/processors/WebsocketsProcessor.ts | 17 +++++++------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/app/components/SocketProvider.tsx b/app/components/SocketProvider.tsx index bb983ef38..8db606bfe 100644 --- a/app/components/SocketProvider.tsx +++ b/app/components/SocketProvider.tsx @@ -8,6 +8,7 @@ import RootStore from "~/stores/RootStore"; import FileOperation from "~/models/FileOperation"; import Pin from "~/models/Pin"; import Star from "~/models/Star"; +import Team from "~/models/Team"; import withStores from "~/components/withStores"; import { PartialWithId, @@ -229,10 +230,6 @@ class SocketProvider extends React.Component { } } } - - if (event.teamIds) { - await auth.fetch(); - } }); this.socket.on("documents.delete", (event: WebsocketEntityDeletedEvent) => { @@ -245,6 +242,13 @@ class SocketProvider extends React.Component { policies.remove(event.modelId); }); + this.socket.on( + "documents.permanent_delete", + (event: WebsocketEntityDeletedEvent) => { + documents.remove(event.modelId); + } + ); + this.socket.on("groups.delete", (event: WebsocketEntityDeletedEvent) => { groups.remove(event.modelId); }); @@ -267,6 +271,10 @@ class SocketProvider extends React.Component { } ); + this.socket.on("teams.update", (event: PartialWithId) => { + auth.updateTeam(event); + }); + this.socket.on("pins.create", (event: PartialWithId) => { pins.add(event); }); @@ -291,13 +299,6 @@ class SocketProvider extends React.Component { stars.remove(event.modelId); }); - this.socket.on( - "documents.permanent_delete", - (event: WebsocketEntityDeletedEvent) => { - documents.remove(event.modelId); - } - ); - // received when a user is given access to a collection // if the user is us then we go ahead and load the collection from API. this.socket.on( diff --git a/server/queues/processors/WebsocketsProcessor.ts b/server/queues/processors/WebsocketsProcessor.ts index 726a80037..71fbfb536 100644 --- a/server/queues/processors/WebsocketsProcessor.ts +++ b/server/queues/processors/WebsocketsProcessor.ts @@ -10,11 +10,13 @@ import { GroupUser, Pin, Star, + Team, } from "@server/models"; import { presentFileOperation, presentPin, presentStar, + presentTeam, } from "@server/presenters"; import { Event } from "../../types"; @@ -582,14 +584,13 @@ export default class WebsocketsProcessor { } case "teams.update": { - return socketio.to(`team-${event.teamId}`).emit("entities", { - event: event.name, - teamIds: [ - { - id: event.teamId, - }, - ], - }); + const team = await Team.scope("withDomains").findByPk(event.teamId); + if (!team) { + return; + } + return socketio + .to(`team-${event.teamId}`) + .emit(event.name, presentTeam(team)); } default: