jinaga
Version:
Data management for web and mobile applications.
28 lines • 987 B
TypeScript
import { FactEnvelope, FactRecord, Storage } from '../storage';
import { AuthorizationRules } from './authorizationRules';
export declare class Forbidden extends Error {
__proto__: Error;
constructor(message?: string);
}
declare type AuthorizationResultReject = {
verdict: "Reject";
};
declare type AuthorizationResultAccept = {
verdict: "Accept";
newPublicKeys: string[];
};
declare type AuthorizationResultExisting = {
verdict: "Existing";
};
export declare type AuthorizationResult = {
fact: FactRecord;
} & (AuthorizationResultReject | AuthorizationResultAccept | AuthorizationResultExisting);
export declare class AuthorizationEngine {
private authorizationRules;
private store;
constructor(authorizationRules: AuthorizationRules, store: Storage);
authorizeFacts(factEnvelopes: FactEnvelope[], userFact: FactRecord | null): Promise<AuthorizationResult[]>;
private visit;
}
export {};
//# sourceMappingURL=authorization-engine.d.ts.map