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', })