Files
outline/server/presenters/policy.ts
2022-04-27 18:59:17 -07:00

23 lines
549 B
TypeScript

import { APM } from "@server/logging/tracing";
import { User } from "@server/models";
type Policy = {
id: string;
abilities: Record<string, boolean>;
};
function present(user: User, objects: Record<string, any>[]): Policy[] {
// eslint-disable-next-line @typescript-eslint/no-var-requires
const { serialize } = require("../policies");
return objects.map((object) => ({
id: object.id,
abilities: serialize(user, object),
}));
}
export default APM.traceFunction({
serviceName: "presenter",
spanName: "policy",
})(present);