Page MenuHomeSealhub

access-control.ts
No OneTemporary

access-control.ts

import { Context } from "koa";
import { ActionName, Collection } from "sealious";
export function peopleWhoCan(action: ActionName, collection: Collection) {
return async function (ctx: Context) {
const policy = collection.getPolicy(action);
const result = await policy.check(ctx.$context);
if (!result) {
ctx.status = 403;
return { canAccess: false, message: "Not allowed" };
}
if (!result.allowed) {
ctx.status = 403;
return { canAccess: false, message: result.reason };
}
return { canAccess: true, message: "" };
};
}

File Metadata

Mime Type
text/x-java
Expires
Wed, May 7, 19:37 (1 d, 21 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
624873
Default Alt Text
access-control.ts (549 B)

Event Timeline