UNPKG

@rytass/member-base-nestjs-module

Version:

Rytass Member System NestJS Base Module

23 lines (22 loc) 1.08 kB
import { CanActivate, ExecutionContext } from '@nestjs/common'; import { Enforcer } from 'casbin'; import { type ReflectableDecorator } from '@nestjs/core'; import { type Subject, type Action } from '../decorators/action.decorator'; import type { CasbinPermissionChecker } from '../typings/casbin-permission'; export declare class CasbinGuard implements CanActivate { private readonly cookieMode; private readonly enforcer; private readonly accessTokenSecret; private readonly enableGlobalGuard; private readonly permissionDecorator; private readonly permissionChecker; private readonly accessTokenCookieName; constructor(cookieMode: boolean, enforcer: Enforcer | null, accessTokenSecret: string, enableGlobalGuard: boolean, permissionDecorator: ReflectableDecorator<[Subject, Action][]>, permissionChecker: CasbinPermissionChecker, accessTokenCookieName: string); canActivate(context: ExecutionContext & { enforcer: Enforcer; payload: { id: string; domain?: string; }; }): Promise<boolean>; }