task-svr/src/plugins/zrbac.ts
CounterFire2023 ad094f7a47 project init
2023-12-14 17:19:44 +08:00

27 lines
539 B
TypeScript

import { FastifyInstance, FastifyPluginAsync } from 'fastify'
import fastifyPlugin from 'fastify-plugin'
import RBAC from 'fast-rbac'
declare module 'fastify' {
interface FastifyInstance {
/**
* RBAC interface
*/
rbac: RBAC
}
}
const zRBACPlugin: FastifyPluginAsync = async function fastifyMetrics(
fastify: FastifyInstance,
options?: RBAC.Options,
) {
const rbac = new RBAC(options)
fastify.decorate('rbac', rbac)
return
}
export = fastifyPlugin(zRBACPlugin, {
fastify: '>=3.0.0',
name: 'zrbac',
})