@permify-toolkit/nestjs
v1.1.1
Published
NestJS integration for Permify: Decorators, guards, and zero-config module setup.
Maintainers
Readme
@permify-toolkit/nestjs
NestJS module, guard, and decorators for Permify authorization.
Installation
pnpm add @permify-toolkit/nestjs @permify-toolkit/coreQuick Example
// app.module.ts
import { Module } from "@nestjs/common";
import { PermifyModule } from "@permify-toolkit/nestjs";
@Module({
imports: [
PermifyModule.forRoot({
configFile: true,
resolvers: {
subject: (ctx) => ctx.switchToHttp().getRequest().user?.id
}
})
]
})
export class AppModule {}// documents.controller.ts
import { Controller, Get, Param, UseGuards } from "@nestjs/common";
import { PermifyGuard, CheckPermission } from "@permify-toolkit/nestjs";
@Controller("documents")
export class DocumentsController {
@Get(":id")
@UseGuards(PermifyGuard)
@CheckPermission("document.view")
findOne(@Param("id") id: string) {
return { id };
}
}Features
- Flexible Configuration —
permify.config.ts, config objects, or direct client options - Hierarchical Resolvers — global, controller, and route-level resolver overrides
- Authorization Guard —
PermifyGuardwith@CheckPermission()decorator - Multi-Permission Checks — AND/OR evaluation for complex authorization
- Async Config —
forRootAsyncwith dependency injection support
Documentation
For full documentation, guides, and API reference, visit the Permify Toolkit Docs.
