Files
klz-cables.com/.pnpm-store/v10/files/92/e1096395f889ab0510d04a24280240172127731886417f012615e0c79cc5faef3becbf43e20724977f96bf6bad83df1c75b3b37738bc4610e5a8629ff0b1b4
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

63 lines
2.3 KiB
Plaintext

import { getEntityPermissions } from '../utilities/getEntityPermissions/getEntityPermissions.js';
import { sanitizePermissions } from '../utilities/sanitizePermissions.js';
export async function getAccessResults({ req }) {
const results = {
collections: {},
globals: {}
};
const { payload, user } = req;
const isLoggedIn = !!user;
const userCollectionConfig = user && user.collection ? payload?.collections?.[user.collection]?.config : null;
if (userCollectionConfig && payload.config.admin.user === user?.collection) {
results.canAccessAdmin = userCollectionConfig.access.admin ? await userCollectionConfig.access.admin({
req
}) : isLoggedIn;
} else {
results.canAccessAdmin = false;
}
const blockReferencesPermissions = {};
await Promise.all(payload.config.collections.map(async (collection)=>{
const collectionOperations = [
'create',
'read',
'update',
'delete'
];
if (collection.auth && typeof collection.auth.maxLoginAttempts !== 'undefined' && collection.auth.maxLoginAttempts !== 0) {
collectionOperations.push('unlock');
}
if (collection.versions) {
collectionOperations.push('readVersions');
}
const collectionPermissions = await getEntityPermissions({
blockReferencesPermissions,
entity: collection,
entityType: 'collection',
fetchData: false,
operations: collectionOperations,
req
});
results.collections[collection.slug] = collectionPermissions;
}));
await Promise.all(payload.config.globals.map(async (global)=>{
const globalOperations = [
'read',
'update'
];
if (global.versions) {
globalOperations.push('readVersions');
}
const globalPermissions = await getEntityPermissions({
blockReferencesPermissions,
entity: global,
entityType: 'global',
fetchData: false,
operations: globalOperations,
req
});
results.globals[global.slug] = globalPermissions;
}));
return sanitizePermissions(results);
}
//# sourceMappingURL=getAccessResults.js.map