Skip to content

Commit

Permalink
Merge pull request #4285 from payloadcms/fix/doc-access-transactions
Browse files Browse the repository at this point in the history
fix: transactions broken within doc access
  • Loading branch information
jmikrut authored Nov 27, 2023
2 parents 26f6b37 + 443847e commit b56f1f4
Showing 1 changed file with 22 additions and 22 deletions.
44 changes: 22 additions & 22 deletions packages/payload/src/utilities/getEntityPolicies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -216,33 +216,33 @@ export async function getEntityPolicies<T extends Args>(args: T): Promise<Return
)
}

await Promise.all(
operations.map(async (operation) => {
let entityAccessPromise: Promise<void>

if (typeof entity.access[operation] === 'function') {
entityAccessPromise = createAccessPromise({
access: entity.access[operation],
accessLevel: 'entity',
operation,
policiesObj: policies,
})
} else {
policies[operation] = {
permission: isLoggedIn,
}
}
await operations.reduce(async (priorOperation, operation) => {
await priorOperation

await entityAccessPromise
let entityAccessPromise: Promise<void>

await executeFieldPolicies({
entityPermission: policies[operation].permission,
fields: entity.fields,
if (typeof entity.access[operation] === 'function') {
entityAccessPromise = createAccessPromise({
access: entity.access[operation],
accessLevel: 'entity',
operation,
policiesObj: policies,
})
}),
)
} else {
policies[operation] = {
permission: isLoggedIn,
}
}

await entityAccessPromise

await executeFieldPolicies({
entityPermission: policies[operation].permission,
fields: entity.fields,
operation,
policiesObj: policies,
})
}, Promise.resolve())

return policies
}

0 comments on commit b56f1f4

Please sign in to comment.