mirror of
https://github.com/documenso/documenso.git
synced 2025-11-16 09:41:35 +10:00
feat: add queue for creating audit logs
This commit is contained in:
@ -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 ({
|
||||
|
||||
Reference in New Issue
Block a user