@meshqljs/access (@meshql/access)
Entity, row, and field-level access control for MeshQL.
Install
Section titled “Install”npm install @meshqljs/access @meshqljs/corenpx jsr add @meshql/access @meshql/corePublished on npm as @meshqljs/access and JSR as @meshql/access.
Example
Section titled “Example”import { createMesh } from "@meshqljs/core";import { accessPlugin } from "@meshqljs/access";
const mesh = createMesh({ entities: { /* … */ } });mesh.use(accessPlugin({ canReadEntity: (ctx, entity) => ctx.role === "admin" || entity === "post", canReadField: (ctx, entity, field) => field !== "email" || ctx.userId === ctx.targetUserId,}));import { createMesh } from "@meshql/core";import { accessPlugin } from "@meshql/access";
const mesh = createMesh({ entities: { /* … */ } });mesh.use(accessPlugin({ canReadEntity: (ctx, entity) => ctx.role === "admin" || entity === "post", canReadField: (ctx, entity, field) => field !== "email" || ctx.userId === ctx.targetUserId,}));JSR imports: @meshql/core, @meshql/access.
Pair with @meshqljs/integrity for signed requests and session context.