fix(audit): backfill COMMENT_ADDED and MENTION_CREATED events
Comments created before audit logging was added in 428c63a2 have no
corresponding audit_log rows, so the Chronik activity feed (which
reads exclusively from audit_log) cannot surface them in "Alle" or
"Für dich", even though the fix from #295 is wired up correctly.
V50 inserts the missing events idempotently from document_comments
and comment_mentions.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
-- Backfill COMMENT_ADDED and MENTION_CREATED audit events for comments
|
||||
-- created before audit logging was added in commit 428c63a2.
|
||||
-- Without these rows the Chronik activity feed (which reads exclusively from
|
||||
-- audit_log) cannot surface pre-existing comments in "Für dich" or "Alle".
|
||||
|
||||
INSERT INTO audit_log (id, happened_at, actor_id, kind, document_id, payload)
|
||||
SELECT
|
||||
gen_random_uuid(),
|
||||
c.created_at,
|
||||
c.author_id,
|
||||
'COMMENT_ADDED',
|
||||
c.document_id,
|
||||
jsonb_build_object('commentId', c.id::text)
|
||||
FROM document_comments c
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM audit_log a
|
||||
WHERE a.kind = 'COMMENT_ADDED'
|
||||
AND a.payload->>'commentId' = c.id::text
|
||||
);
|
||||
|
||||
INSERT INTO audit_log (id, happened_at, actor_id, kind, document_id, payload)
|
||||
SELECT
|
||||
gen_random_uuid(),
|
||||
c.created_at,
|
||||
c.author_id,
|
||||
'MENTION_CREATED',
|
||||
c.document_id,
|
||||
jsonb_build_object(
|
||||
'commentId', c.id::text,
|
||||
'mentionedUserId', m.user_id::text
|
||||
)
|
||||
FROM comment_mentions m
|
||||
JOIN document_comments c ON c.id = m.comment_id
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM audit_log a
|
||||
WHERE a.kind = 'MENTION_CREATED'
|
||||
AND a.payload->>'commentId' = c.id::text
|
||||
AND a.payload->>'mentionedUserId' = m.user_id::text
|
||||
);
|
||||
Reference in New Issue
Block a user