fix: Comment deletion is not propagated correctly

This commit is contained in:
Tom Moor
2023-03-11 19:01:19 -05:00
parent 2c84036a3a
commit e9ece9125a
3 changed files with 18 additions and 14 deletions

View File

@@ -24,6 +24,8 @@ export default async function commentDestroyer({
ip,
transaction,
}: Props): Promise<Comment> {
const document = await comment.$get("document", { transaction });
await comment.destroy({ transaction });
// Also destroy any child comments
@@ -42,6 +44,7 @@ export default async function commentDestroyer({
teamId: user.teamId,
actorId: user.id,
documentId: comment.documentId,
collectionId: document?.collectionId,
ip,
},
{ transaction }

View File

@@ -372,15 +372,8 @@ export default class WebsocketsProcessor {
}
case "comments.delete": {
const comment = await Comment.scope([
"defaultScope",
"withDocument",
]).findByPk(event.modelId);
if (!comment) {
return;
}
return socketio
.to(`collection-${comment.document.collectionId}`)
.to(`collection-${event.collectionId}`)
.emit(event.name, {
modelId: event.modelId,
});

View File

@@ -279,12 +279,20 @@ export type PinEvent = BaseEvent & {
collectionId?: string;
};
export type CommentEvent = BaseEvent & {
name: "comments.create" | "comments.update" | "comments.delete";
modelId: string;
documentId: string;
actorId: string;
};
export type CommentEvent =
| (BaseEvent & {
name: "comments.create" | "comments.update";
modelId: string;
documentId: string;
actorId: string;
})
| (BaseEvent & {
name: "comments.delete";
modelId: string;
documentId: string;
actorId: string;
collectionId: string;
});
export type StarEvent = BaseEvent & {
name: "stars.create" | "stars.update" | "stars.delete";