rbac-engine
Version:
Role-based access control engine with policy-based permissions
25 lines • 953 B
TypeScript
import { Policy, PolicyStatement } from '../models';
import { StatementBuilder } from './statement-builder';
export declare class PolicyBuilder {
private policyId;
private documentVersion;
private policyStatements;
private hasSimpleStatement;
private simpleStatementBuilder?;
constructor(id: string);
version(version: string): this;
allow(actions: string[]): this;
deny(actions: string[]): this;
on(resources: string[]): this;
when(conditions: Record<string, any>): this;
activeFrom(startDate: string): this;
activeUntil(endDate: string): this;
statement(statementBuilder: StatementBuilder | PolicyStatement): this;
addStatements(statements: (StatementBuilder | PolicyStatement)[]): this;
private ensureSimpleStatementMode;
private validate;
private getAllStatements;
build(): Policy;
static create(id: string): PolicyBuilder;
}
//# sourceMappingURL=policy-builder.d.ts.map