Webhook support for comments (#4932)

* fix: Restore newlines in code line numbers as safety measure

* Add comments to webhook payloads
This commit is contained in:
Tom Moor
2023-02-26 14:20:00 -05:00
committed by GitHub
parent 08df14618c
commit 51909772a4
2 changed files with 50 additions and 20 deletions

View File

@@ -22,6 +22,7 @@ import {
CollectionUser,
CollectionGroup,
GroupUser,
Comment,
} from "@server/models";
import {
presentCollection,
@@ -39,12 +40,14 @@ import {
presentMembership,
presentGroupMembership,
presentCollectionGroupMembership,
presentComment,
} from "@server/presenters";
import BaseTask from "@server/queues/tasks/BaseTask";
import {
CollectionEvent,
CollectionGroupEvent,
CollectionUserEvent,
CommentEvent,
DocumentEvent,
Event,
FileOperationEvent,
@@ -156,7 +159,7 @@ export default class DeliverWebhookTask extends BaseTask<Props> {
case "comments.create":
case "comments.update":
case "comments.delete":
// TODO
await this.handleCommentEvent(subscription, event);
return;
case "groups.create":
case "groups.update":
@@ -285,6 +288,23 @@ export default class DeliverWebhookTask extends BaseTask<Props> {
});
}
private async handleCommentEvent(
subscription: WebhookSubscription,
event: CommentEvent
): Promise<void> {
const model = await Comment.findByPk(event.modelId, {
paranoid: false,
});
await this.sendWebhook({
event,
subscription,
payload: {
id: event.modelId,
model: model && presentComment(model),
},
});
}
private async handlePinEvent(
subscription: WebhookSubscription,
event: PinEvent