UNPKG

casbin

Version:

An authorization library that supports access control models like ACL, RBAC, ABAC in Node.JS

27 lines (26 loc) 1.16 kB
import * as rbac from '../rbac'; import { Assertion } from './assertion'; export declare class Model { model: Map<string, Map<string, Assertion>>; /** * constructor is the constructor for Model. */ constructor(); private loadAssertion; private getKeySuffix; private loadSection; addDef(sec: string, key: string, value: string): boolean; loadModel(path: string): void; loadModelFromText(text: string): void; printModel(): void; buildRoleLinks(rm: rbac.RoleManager): void; clearPolicy(): void; getPolicy(sec: string, key: string): string[][]; hasPolicy(sec: string, key: string, rule: string[]): boolean; addPolicy(sec: string, key: string, rule: string[]): boolean; removePolicy(sec: string, key: string, rule: string[]): boolean; getFilteredPolicy(sec: string, key: string, fieldIndex: number, ...fieldValues: string[]): string[][]; removeFilteredPolicy(sec: string, key: string, fieldIndex: number, ...fieldValues: string[]): boolean; getValuesForFieldInPolicy(sec: string, key: string, fieldIndex: number): string[]; printPolicy(): void; }