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:
@@ -57,10 +57,24 @@ export const ListView: React.FC<AdminViewProps> = async ({
|
||||
req,
|
||||
user,
|
||||
where: {
|
||||
and: [
|
||||
{
|
||||
key: {
|
||||
equals: preferenceKey,
|
||||
},
|
||||
},
|
||||
{
|
||||
'user.relationTo': {
|
||||
equals: user.collection,
|
||||
},
|
||||
},
|
||||
{
|
||||
'user.value': {
|
||||
equals: user?.id,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
})
|
||||
?.then((res) => res?.docs?.[0]?.value)) as ListPreferences
|
||||
} catch (error) {} // eslint-disable-line no-empty
|
||||
|
||||
@@ -115,10 +115,24 @@ export const buildFormState = async ({ req }: { req: PayloadRequest }): Promise<
|
||||
depth: 0,
|
||||
limit: 1,
|
||||
where: {
|
||||
and: [
|
||||
{
|
||||
key: {
|
||||
equals: preferencesKey,
|
||||
},
|
||||
},
|
||||
{
|
||||
'user.relationTo': {
|
||||
equals: req.user.collection,
|
||||
},
|
||||
},
|
||||
{
|
||||
'user.value': {
|
||||
equals: req.user.id,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
})) as unknown as { docs: { value: DocumentPreferences }[] }
|
||||
|
||||
if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value
|
||||
|
||||
@@ -367,8 +367,22 @@ describe('Auth', () => {
|
||||
collection: 'payload-preferences',
|
||||
depth: 0,
|
||||
where: {
|
||||
and: [
|
||||
{
|
||||
key: { equals: key },
|
||||
},
|
||||
{
|
||||
'user.relationTo': {
|
||||
equals: 'users',
|
||||
},
|
||||
},
|
||||
{
|
||||
'user.value': {
|
||||
equals: loggedInUser.id,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
})
|
||||
|
||||
expect(data.doc.key).toStrictEqual(key)
|
||||
@@ -390,8 +404,22 @@ describe('Auth', () => {
|
||||
collection: 'payload-preferences',
|
||||
depth: 0,
|
||||
where: {
|
||||
and: [
|
||||
{
|
||||
key: { equals: key },
|
||||
},
|
||||
{
|
||||
'user.relationTo': {
|
||||
equals: 'users',
|
||||
},
|
||||
},
|
||||
{
|
||||
'user.value': {
|
||||
equals: loggedInUser.id,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
})
|
||||
|
||||
expect(result.docs).toHaveLength(0)
|
||||
|
||||
Reference in New Issue
Block a user