feat: add queue for creating audit logs

This commit is contained in:
Ephraim Atta-Duncan
2024-04-07 19:36:38 +00:00
parent 2819251ec4
commit 574098f103
22 changed files with 441 additions and 418 deletions

View File

@ -1,6 +1,10 @@
import type { WorkHandler } from 'pg-boss';
import { prisma } from '@documenso/prisma';
import { initQueue } from '.';
import type { CreateDocumentAuditLogDataOptions } from '../../utils/document-audit-logs';
import { createDocumentAuditLogData } from '../../utils/document-audit-logs';
import {
type SendDocumentOptions as SendCompletedDocumentOptions,
sendCompletedEmail,
@ -10,6 +14,7 @@ import { type SendPendingEmailOptions, sendPendingEmail } from '../document/send
type JobOptions = {
'send-completed-email': SendCompletedDocumentOptions;
'send-pending-email': SendPendingEmailOptions;
'create-document-audit-log': CreateDocumentAuditLogDataOptions;
};
export const jobHandlers: {
@ -27,6 +32,24 @@ export const jobHandlers: {
recipientId,
});
},
// Audit Logs Queue
'create-document-audit-log': async ({
data: { documentId, type, requestMetadata, user, data },
id,
}) => {
console.log('Running Queue ID', id);
await prisma.documentAuditLog.create({
data: createDocumentAuditLogData({
type,
documentId,
requestMetadata,
user,
data,
}),
});
},
};
export const queueJob = async ({