Separate documents.delete event

This commit is contained in:
Tom Moor
2022-08-24 00:21:19 +02:00
parent 4f1277f912
commit d17e6f3432
2 changed files with 18 additions and 27 deletions

View File

@@ -134,17 +134,6 @@ class SocketProvider extends React.Component<Props> {
let document = documents.get(documentId);
const previousTitle = document?.title;
if (event.event === "documents.delete") {
const document = documents.get(documentId);
if (document) {
document.deletedAt = documentDescriptor.updatedAt;
}
policies.remove(documentId);
continue;
}
// if we already have the latest version (it was us that performed
// the change) then we don't need to update anything either.
if (document?.updatedAt === documentDescriptor.updatedAt) {
@@ -246,6 +235,16 @@ class SocketProvider extends React.Component<Props> {
}
});
this.socket.on("documents.delete", (event: WebsocketEntityDeletedEvent) => {
const document = documents.get(event.modelId);
if (document) {
document.deletedAt = new Date().toISOString();
}
policies.remove(event.modelId);
});
this.socket.on("groups.delete", (event: WebsocketEntityDeletedEvent) => {
groups.remove(event.modelId);
});

View File

@@ -59,28 +59,20 @@ export default class WebsocketsProcessor {
return;
}
if (!document.publishedAt) {
return socketio.to(`user-${document.createdById}`).emit("entities", {
event: event.name,
documentIds: [
{
id: document.id,
updatedAt: document.updatedAt,
},
],
socketio
.to(
document.publishedAt
? `collection-${document.collectionId}`
: `user-${document.createdById}`
)
.emit(event.name, {
modelId: event.documentId,
});
}
return socketio
.to(`collection-${document.collectionId}`)
.emit("entities", {
event: event.name,
documentIds: [
{
id: document.id,
updatedAt: document.updatedAt,
},
],
collectionIds: [
{
id: document.collectionId,