casbin
Version:
An authorization library that supports access control models like ACL, RBAC, ABAC in Node.JS
27 lines (26 loc) • 1.16 kB
TypeScript
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;
}