diff --git a/package-lock.json b/package-lock.json index 8eab7b3..ad17283 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,6 +39,7 @@ "lint-staged": "^15.5.2", "next": "^15.5.6", "payload": "^3.65.0", + "payload-auditor": "^1.10.0", "react": "19.1.0", "react-dom": "19.1.0", "release-it": "^19.0.6", @@ -14853,6 +14854,19 @@ "graphql": "^16.8.1" } }, + "node_modules/payload-auditor": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/payload-auditor/-/payload-auditor-1.10.0.tgz", + "integrity": "sha512-LdW8HUZB/l7m2i6lerkUVOt71hTKX31UH/kRsktp9LUJyi/cCmOg+Jx+Jxa3pRS4HDPuTJcZB4HscmhuRn6CAQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.20.2 || >=20.19.1" + }, + "peerDependencies": { + "payload": "^3.29.0" + } + }, "node_modules/payload/node_modules/get-tsconfig": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", diff --git a/package.json b/package.json index 7240c34..8449d5c 100644 --- a/package.json +++ b/package.json @@ -115,6 +115,7 @@ "lint-staged": "^15.5.2", "next": "^15.5.6", "payload": "^3.65.0", + "payload-auditor": "^1.10.0", "react": "19.1.0", "react-dom": "19.1.0", "release-it": "^19.0.6", diff --git a/src/core/automation/tasks/cleanup.ts b/src/core/automation/tasks/cleanup.ts index 7d29ad0..927c438 100644 --- a/src/core/automation/tasks/cleanup.ts +++ b/src/core/automation/tasks/cleanup.ts @@ -1,5 +1,6 @@ import type { TaskConfig } from 'payload'; +import auditor from './../../../collections/auditor.js'; import type { PluginOptions } from './../../../types/pluginOptions.js'; const DEFAULT_OLDER_THAN = 604800000; // 1 week @@ -10,6 +11,8 @@ export const cleanupLogsTask = (pluginOptions: PluginOptions): TaskConfig<'clean const cronTime = pluginOptions.automation?.logCleanup?.cronTime ?? DEFAULT_CRON; const queueName = pluginOptions.automation?.logCleanup?.queueName ?? DEFAULT_QUEUE_NAME; const olderThan = pluginOptions.automation?.logCleanup?.olderThan ?? DEFAULT_OLDER_THAN; + const collectionSlug + = pluginOptions.collection?.slug ?? pluginOptions.collection?.configureRootCollection?.(auditor).slug ?? 'Audit-log'; return { slug: 'cleanup-payload-auditor-log', label: 'payload auditor - cleanup logs', @@ -18,7 +21,7 @@ export const cleanupLogsTask = (pluginOptions: PluginOptions): TaskConfig<'clean const millisecondsAgo = new Date(Date.now() - olderThan); try { await req.payload.delete({ - collection: 'Audit-log', + collection: collectionSlug, where: { createdAt: { less_than: millisecondsAgo.toISOString() } }, }); }