@rumess/payload-audit-log
v1.0.1
Published
Audit log plugin for PayloadCMS with changes tracking
Downloads
12
Maintainers
Readme
PayloadCMS Audit Log Plugin
This plugin adds comprehensive audit logging functionality to your PayloadCMS application. It logs create, update, and delete operations for specified collections, including detailed changes for update operations.
Features
- Log create, update, and delete operations for specified collections
- Detailed change tracking for update operations
- Option to include the auth collection (users) in the audit
- Stores full document data for create and delete operations
Installation
npm install @rumess/payload-audit-log
Usage
In your Payload configuration file:
import { buildConfig } from "payload/config";
import auditLogPlugin from "@rumess/payload-audit-log";
export default buildConfig({
plugins: [
auditLogPlugin({
collections: ["posts", "products"],
includeAuth: true,
}),
],
// ... rest of your config
});
Options
collections
: An array of collection slugs to be audited. Default:[]
includeAuth
: Whether to include the auth collection (users) in the audit. Default:false
Audit Log Structure
The plugin creates an audit-logs
collection with the following fields:
collection
: The name of the collection being auditedaction
: The type of operation (create, update, delete)documentId
: The ID of the document being operated ontimestamp
: The time of the operationuser
: The user who performed the operation (if available)changes
:- For create: The entire new document
- For update: An object showing old and new values of changed fields
- For delete: The entire deleted document
Example
After an update operation on a posts
collection, an audit log entry might look like this:
{
"collection": "posts",
"action": "update",
"documentId": "123456789",
"timestamp": "2023-05-20T14:30:00Z",
"user": "user123",
"changes": {
"title": {
"old": "Old Title",
"new": "New Title"
},
"content": {
"old": "Old content here",
"new": "Updated content here"
}
}
}
License
MIT