diff --git a/src/collections/auditor.ts b/src/collections/auditor.ts index 06ce199..2d94047 100644 --- a/src/collections/auditor.ts +++ b/src/collections/auditor.ts @@ -6,7 +6,7 @@ import type { hookTypes } from './../pluginUtils/configHelpers.js' import { defaultCollectionValues } from '../Constant/Constant.js' export type AuditorLog = { - collection: string + onCollection: string documentId?: string hook: (typeof hookTypes)[number] operation: AuditHookOperationType @@ -30,7 +30,7 @@ export const auditor: CollectionConfig = { update: () => false, }, admin: { - defaultColumns: ['operation', 'type', 'collection', 'user', 'timestamp'], + defaultColumns: ['operation', 'type', 'onCollection', 'user', 'timestamp'], useAsTitle: 'type', }, fields: [ @@ -40,7 +40,7 @@ export const auditor: CollectionConfig = { required: true, }, { - name: 'collection', + name: 'onCollection', type: 'text', required: true, }, diff --git a/src/collections/hooks/beforeChange.ts b/src/collections/hooks/beforeChange.ts index 29b3a99..f4e7c7a 100644 --- a/src/collections/hooks/beforeChange.ts +++ b/src/collections/hooks/beforeChange.ts @@ -21,7 +21,7 @@ export const autoLogCleaner: BeforeChangeHook = async ({ const millisecondsAgo = new Date( Date.now() - ms(data.olderThan || cleanupStrategiesDefaultValues.manual.olderThan), ) - const collectionSlug = context.pluginOptions.collection?.slug ?? defaultCollectionValues.slug + const collectionSlug = context.pluginOptions.collections?.slug ?? defaultCollectionValues.slug const limit = context.pluginOptions.automation?.logCleanup?.strategy?.amount ?? 100 const oldLogsToDelete = await req.payload.find({ diff --git a/src/core/buffer/bufferManager.test.ts b/src/core/buffer/bufferManager.test.ts index d2701b2..845fd9a 100644 --- a/src/core/buffer/bufferManager.test.ts +++ b/src/core/buffer/bufferManager.test.ts @@ -28,7 +28,7 @@ afterEach(() => { describe('bufferManager', () => { it('should flush when buffer reaches size limit', async () => { const pluginOptions = { - collection: { + collections: { buffer: { flushStrategy: 'size', size: 2, @@ -50,7 +50,7 @@ describe('bufferManager', () => { it('should flush immediately in realtime mode', async () => { const pluginOptions = { - collection: { + collections: { buffer: { flushStrategy: 'realtime', }, @@ -69,7 +69,7 @@ describe('bufferManager', () => { it('should flush periodically in time mode', async () => { const pluginOptions = { - collection: { + collections: { buffer: { flushStrategy: 'time', time: '2s', @@ -93,7 +93,7 @@ describe('bufferManager', () => { it('should clear buffer after flushing', async () => { const pluginOptions = { - collection: { + collections: { buffer: { flushStrategy: 'size', size: 1, diff --git a/src/core/buffer/bufferManager.ts b/src/core/buffer/bufferManager.ts index 0a69330..97318b8 100644 --- a/src/core/buffer/bufferManager.ts +++ b/src/core/buffer/bufferManager.ts @@ -13,7 +13,7 @@ const store: AuditorLog[] = [] let payloadInstance: Payload export const bufferManager = (payload: Payload, pluginOptions: PluginOptions) => { - const bufferConfig = pluginOptions.collection?.buffer + const bufferConfig = pluginOptions.collections?.buffer const size = bufferConfig?.size ?? 10 const interval = ms(bufferConfig?.time ?? '5s') const flushStrategy = bufferConfig?.flushStrategy ?? 'time' @@ -49,8 +49,8 @@ const flushBuffer = async (pluginOptions: PluginOptions) => { await Promise.all( logsToInsert.map((log) => payloadInstance.create({ - collection: pluginOptions.collection?.slug - ? pluginOptions.collection?.slug + collection: pluginOptions.collections?.slug + ? pluginOptions.collections?.slug : defaultCollectionValues.slug, data: log, }), diff --git a/src/core/log-builders/collections/helpers/emitWrapper.ts b/src/core/log-builders/collections/helpers/emitWrapper.ts index 2ca9c2d..13f6d75 100644 --- a/src/core/log-builders/collections/helpers/emitWrapper.ts +++ b/src/core/log-builders/collections/helpers/emitWrapper.ts @@ -48,7 +48,7 @@ export const emitWrapper = async ( return { ...result, type: result.type, - collection: result.collection, + onCollection: result.onCollection, documentId: result.documentId, hook, operation: result.operation, diff --git a/src/core/log-builders/collections/shared.ts b/src/core/log-builders/collections/shared.ts index c2c85f6..1989659 100644 --- a/src/core/log-builders/collections/shared.ts +++ b/src/core/log-builders/collections/shared.ts @@ -39,7 +39,7 @@ export const sharedLogic = async ( const baseLog: AuditorLog = { type: 'unknown', - collection: sharedArgs.collection.slug, + onCollection: sharedArgs.collection.slug, documentId: 'unknown', hook: sharedArgs.hook, operation: sharedArgs.operation, diff --git a/src/pluginUtils/configHelpers.ts b/src/pluginUtils/configHelpers.ts index 59273b6..e4d4aa5 100644 --- a/src/pluginUtils/configHelpers.ts +++ b/src/pluginUtils/configHelpers.ts @@ -36,8 +36,8 @@ export const hookTypes = [ ] as const export const buildAccessControl = (pluginOpts: PluginOptions) => { - const roles: RoleAccessMap = pluginOpts?.collection?.Accessibility?.roles ?? {} - const customAccess: CustomAccessMap = pluginOpts?.collection?.Accessibility?.customAccess ?? {} + const roles: RoleAccessMap = pluginOpts?.collections?.Accessibility?.roles ?? {} + const customAccess: CustomAccessMap = pluginOpts?.collections?.Accessibility?.customAccess ?? {} const defaultAccess: Access = ({ req }) => req.user?.role === 'admin' @@ -62,7 +62,7 @@ export const attachCollectionConfig = ( userCollectionsConfig: Config['collections'], pluginOpts: PluginOptions, ) => { - const pluginCollectionsConfig = pluginOpts.collection + const pluginCollectionsConfig = pluginOpts.collections if (!pluginCollectionsConfig) { return userCollectionsConfig } diff --git a/src/types/pluginOptions.ts b/src/types/pluginOptions.ts index 18ada40..5956d58 100644 --- a/src/types/pluginOptions.ts +++ b/src/types/pluginOptions.ts @@ -2037,7 +2037,7 @@ export type PluginOptions = { * - If defined, you must also enter the value of trackCollections. * */ - collection?: PluginCollectionConfig + collections?: PluginCollectionConfig /** * 📝 Custom log creation at a global level *