feat: enhance document attachment updates and audit logging

- Implemented detailed handling for document attachment updates in DocumentHistorySheet.
- Updated updateDocument function to log changes only when attachments differ.
- Enhanced ZDocumentSchema to include attachment type validation.
- Refined audit log formatting for document attachment updates to improve clarity.
This commit is contained in:
Catalin Documenso
2025-05-01 11:39:07 +03:00
parent 6980db57d3
commit dbacfaa841
6 changed files with 24 additions and 6 deletions
@@ -242,7 +242,7 @@ export const updateDocument = async ({
);
}
if (data.attachments) {
if (!isAttachmentsSame) {
auditLogs.push(
createDocumentAuditLogData({
type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_ATTACHMENTS_UPDATED,
@@ -250,7 +250,7 @@ export const updateDocument = async ({
metadata: requestMetadata,
data: {
from: document.attachments,
to: data.attachments,
to: data.attachments ?? [],
},
}),
);
+1
View File
@@ -64,6 +64,7 @@ export const ZDocumentSchema = DocumentSchema.pick({
id: true,
label: true,
url: true,
type: true,
})
.array()
.optional(),
+2 -2
View File
@@ -388,9 +388,9 @@ export const formatDocumentAuditLogAction = (
anonymous: msg`Document completed`,
identified: msg`Document completed`,
}))
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_ATTACHMENTS_UPDATED }, ({ data }) => ({
.with({ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_ATTACHMENTS_UPDATED }, () => ({
anonymous: msg`Document attachments updated`,
identified: msg`${prefix} updated the document attachments ${data.to.map((a) => a.label).join(', ')}`,
identified: msg`${prefix} updated the document attachments`,
}))
.exhaustive();
@@ -171,7 +171,6 @@ export const AddSettingsFormPartial = ({
formId: nanoid(12),
label: '',
url: '',
type: 'LINK',
});
};
@@ -63,7 +63,6 @@ export const ZAddSettingsFormSchema = z.object({
id: true,
label: true,
url: true,
type: true,
})
.extend({
formId: z.string().min(1),