jinaga
Version:
Data management for web and mobile applications.
28 lines • 955 B
TypeScript
import { FactEnvelope, FactRecord, Storage } from '../storage';
import { AuthorizationRules } from './authorizationRules';
export declare class Forbidden extends Error {
__proto__: Error;
constructor(message?: string);
}
type AuthorizationResultReject = {
verdict: "Reject";
};
type AuthorizationResultAccept = {
verdict: "Accept";
newPublicKeys: string[];
};
type AuthorizationResultExisting = {
verdict: "Existing";
};
export 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