fix: scopes preferences queries and mutations by user (#7534)

Fixes https://github.com/payloadcms/payload/issues/7530

Properly scopes preferences queries/mutations by user.
This commit is contained in:
Jarrod Flesch
2024-08-06 10:35:46 -04:00
committed by GitHub
parent edaeb1e29f
commit a422a0d568
3 changed files with 64 additions and 8 deletions

View File

@@ -57,9 +57,23 @@ export const ListView: React.FC<AdminViewProps> = 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

View File

@@ -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 }[] }

View File

@@ -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,
},
},
],
},
})