@rytass/member-base-nestjs-module
Version:
Rytass Member System NestJS Base Module
23 lines (22 loc) • 1.08 kB
TypeScript
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>;
}