mirror of
https://github.com/documenso/documenso.git
synced 2026-07-23 16:33:57 +10:00
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:
@@ -361,6 +361,25 @@ export const DocumentHistorySheet = ({
|
|||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
))
|
))
|
||||||
|
.with(
|
||||||
|
{ type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_ATTACHMENTS_UPDATED },
|
||||||
|
({ data }) => (
|
||||||
|
<DocumentHistorySheetChanges
|
||||||
|
values={[
|
||||||
|
{
|
||||||
|
key: 'Old',
|
||||||
|
value:
|
||||||
|
data.from.map((attachment) => attachment.label).join(', ') || 'None',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'New',
|
||||||
|
value:
|
||||||
|
data.to.map((attachment) => attachment.label).join(', ') || 'None',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
)
|
||||||
.exhaustive()}
|
.exhaustive()}
|
||||||
|
|
||||||
{isUserDetailsVisible && (
|
{isUserDetailsVisible && (
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ export const updateDocument = async ({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.attachments) {
|
if (!isAttachmentsSame) {
|
||||||
auditLogs.push(
|
auditLogs.push(
|
||||||
createDocumentAuditLogData({
|
createDocumentAuditLogData({
|
||||||
type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_ATTACHMENTS_UPDATED,
|
type: DOCUMENT_AUDIT_LOG_TYPE.DOCUMENT_ATTACHMENTS_UPDATED,
|
||||||
@@ -250,7 +250,7 @@ export const updateDocument = async ({
|
|||||||
metadata: requestMetadata,
|
metadata: requestMetadata,
|
||||||
data: {
|
data: {
|
||||||
from: document.attachments,
|
from: document.attachments,
|
||||||
to: data.attachments,
|
to: data.attachments ?? [],
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ export const ZDocumentSchema = DocumentSchema.pick({
|
|||||||
id: true,
|
id: true,
|
||||||
label: true,
|
label: true,
|
||||||
url: true,
|
url: true,
|
||||||
|
type: true,
|
||||||
})
|
})
|
||||||
.array()
|
.array()
|
||||||
.optional(),
|
.optional(),
|
||||||
|
|||||||
@@ -388,9 +388,9 @@ export const formatDocumentAuditLogAction = (
|
|||||||
anonymous: msg`Document completed`,
|
anonymous: msg`Document completed`,
|
||||||
identified: 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`,
|
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();
|
.exhaustive();
|
||||||
|
|
||||||
|
|||||||
@@ -171,7 +171,6 @@ export const AddSettingsFormPartial = ({
|
|||||||
formId: nanoid(12),
|
formId: nanoid(12),
|
||||||
label: '',
|
label: '',
|
||||||
url: '',
|
url: '',
|
||||||
type: 'LINK',
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,6 @@ export const ZAddSettingsFormSchema = z.object({
|
|||||||
id: true,
|
id: true,
|
||||||
label: true,
|
label: true,
|
||||||
url: true,
|
url: true,
|
||||||
type: true,
|
|
||||||
})
|
})
|
||||||
.extend({
|
.extend({
|
||||||
formId: z.string().min(1),
|
formId: z.string().min(1),
|
||||||
|
|||||||
Reference in New Issue
Block a user