Append-only event log plus derived read models.

interface EventStore {
    append(e: SecGenixEvent): Promise<void>;
    getPolicy(policyId: string, version: number): Promise<null | PolicyRecord>;
    list(tenantId: null | string, limit: number): Promise<SecGenixEvent[]>;
    listPolicies(): Promise<PolicyRecord[]>;
    listReceipts(limit: number): Promise<StoredReceipt[]>;
    putPolicy(r: PolicyRecord): Promise<void>;
    putReceipts(rs: readonly StoredReceipt[]): Promise<void>;
}

Methods