import { hasMinimumRole, isAdmin } from './predicates.js'; /** * Collection-level access (returns boolean | Where). * Use in collection `access.read/create/update/delete`. */ export const adminOnly = ({ req: { user } })=>isAdmin(user); export const adminOrEditor = ({ req: { user } })=>hasMinimumRole(user, 'editor'); export const authenticated = ({ req: { user } })=>Boolean(user); /** Requires at least the given role. */ export const requireRole = (minimum)=>({ req: { user } })=>hasMinimumRole(user, minimum); /** Admins see all; others are constrained to their own document. */ export const adminOrSelf = ({ req: { user } })=>{ if (isAdmin(user)) { return true; } if (!user) { return false; } return { id: { equals: user.id } }; }; /** * Field-level access (returns boolean only — no Where support). * Use in field `access.read/update`. */ export const adminOnlyField = ({ req: { user } })=>isAdmin(user); export const adminOrEditorField = ({ req: { user } })=>hasMinimumRole(user, 'editor'); /** Requires at least the given role, for field-level access. */ export const requireRoleField = (minimum)=>({ req: { user } })=>hasMinimumRole(user, minimum); //# sourceMappingURL=access.js.map