Add document webhook events

Add a resource-oriented set of webhook events for the document
lifecycle. Each event carries the document plus only the sub-resource
it concerns (version, signature or approval).

Events:
- document.created / updated / archived / unarchived / deleted
- document.version.created / updated / published / rejected / deleted
- document.version.signature.requested / signed / cancelled
- document.version.approval.requested / approved / rejected / voided

Wires the new types through the migration, Go enum, GraphQL schema,
CLI, n8n nodes and the console webhooks settings UI.

Signed-off-by: Sacha Al Himdani <sacha@probo.com>
This commit is contained in:
Sacha Al Himdani
2026-06-29 20:42:50 +02:00
parent 4cdf8b7913
commit 1df4af4556
11 changed files with 944 additions and 91 deletions

View File

@@ -164,6 +164,24 @@ const EVENT_TYPES = [
{ value: "OBLIGATION_CREATED", label: "obligation:created" },
{ value: "OBLIGATION_UPDATED", label: "obligation:updated" },
{ value: "OBLIGATION_DELETED", label: "obligation:deleted" },
{ value: "DOCUMENT_CREATED", label: "document:created" },
{ value: "DOCUMENT_UPDATED", label: "document:updated" },
{ value: "DOCUMENT_ARCHIVED", label: "document:archived" },
{ value: "DOCUMENT_UNARCHIVED", label: "document:unarchived" },
{ value: "DOCUMENT_DELETED", label: "document:deleted" },
{ value: "DOCUMENT_VERSION_CREATED", label: "document-version:created" },
{ value: "DOCUMENT_VERSION_UPDATED", label: "document-version:updated" },
{ value: "DOCUMENT_VERSION_PUBLISHED", label: "document-version:published" },
{ value: "DOCUMENT_VERSION_REJECTED", label: "document-version:rejected" },
{ value: "DOCUMENT_VERSION_DELETED", label: "document-version:deleted" },
{ value: "DOCUMENT_VERSION_SIGNATURE_REQUESTED", label: "document-version-signature:requested" },
{ value: "DOCUMENT_VERSION_SIGNATURE_SIGNED", label: "document-version-signature:signed" },
{ value: "DOCUMENT_VERSION_SIGNATURE_CANCELLED", label: "document-version-signature:cancelled" },
{ value: "DOCUMENT_VERSION_APPROVAL_QUORUM_REQUESTED", label: "document-version-approval-quorum:requested" },
{ value: "DOCUMENT_VERSION_APPROVAL_QUORUM_UPDATED", label: "document-version-approval-quorum:updated" },
{ value: "DOCUMENT_VERSION_APPROVAL_QUORUM_APPROVED", label: "document-version-approval-quorum:approved" },
{ value: "DOCUMENT_VERSION_APPROVAL_QUORUM_REJECTED", label: "document-version-approval-quorum:rejected" },
{ value: "DOCUMENT_VERSION_APPROVAL_QUORUM_VOIDED", label: "document-version-approval-quorum:voided" },
] as const;
type WebhookEventType = (typeof EVENT_TYPES)[number]["value"];