diff --git a/packages/next/src/views/List/index.tsx b/packages/next/src/views/List/index.tsx index 7a4b6e464e..0990d7937b 100644 --- a/packages/next/src/views/List/index.tsx +++ b/packages/next/src/views/List/index.tsx @@ -57,9 +57,23 @@ export const ListView: React.FC = async ({ req, user, where: { - key: { - equals: preferenceKey, - }, + and: [ + { + key: { + equals: preferenceKey, + }, + }, + { + 'user.relationTo': { + equals: user.collection, + }, + }, + { + 'user.value': { + equals: user?.id, + }, + }, + ], }, }) ?.then((res) => res?.docs?.[0]?.value)) as ListPreferences diff --git a/packages/ui/src/utilities/buildFormState.ts b/packages/ui/src/utilities/buildFormState.ts index 76a1eb6d52..5db879e61a 100644 --- a/packages/ui/src/utilities/buildFormState.ts +++ b/packages/ui/src/utilities/buildFormState.ts @@ -115,9 +115,23 @@ export const buildFormState = async ({ req }: { req: PayloadRequest }): Promise< depth: 0, limit: 1, where: { - key: { - equals: preferencesKey, - }, + and: [ + { + key: { + equals: preferencesKey, + }, + }, + { + 'user.relationTo': { + equals: req.user.collection, + }, + }, + { + 'user.value': { + equals: req.user.id, + }, + }, + ], }, })) as unknown as { docs: { value: DocumentPreferences }[] } diff --git a/test/auth/int.spec.ts b/test/auth/int.spec.ts index 01b2a6640e..048e526022 100644 --- a/test/auth/int.spec.ts +++ b/test/auth/int.spec.ts @@ -367,7 +367,21 @@ describe('Auth', () => { collection: 'payload-preferences', depth: 0, where: { - key: { equals: key }, + and: [ + { + key: { equals: key }, + }, + { + 'user.relationTo': { + equals: 'users', + }, + }, + { + 'user.value': { + equals: loggedInUser.id, + }, + }, + ], }, }) @@ -390,7 +404,21 @@ describe('Auth', () => { collection: 'payload-preferences', depth: 0, where: { - key: { equals: key }, + and: [ + { + key: { equals: key }, + }, + { + 'user.relationTo': { + equals: 'users', + }, + }, + { + 'user.value': { + equals: loggedInUser.id, + }, + }, + ], }, })