@fabric-es/fabric-cqrs
Version:
Hyperledger Fabric middleware for event sourcing and cqrs pattern
28 lines (27 loc) • 1.3 kB
TypeScript
import type { FTSearchParameters } from 'redis-modules-sdk';
import type { Selector } from 'reselect';
import type { Commit } from '../../types';
import type { OutputCommit } from './outputCommit';
declare type Pattern = 'COMMITS_BY_ENTITYNAME' | 'COMMITS_BY_ENTITYNAME_ENTITYID' | 'ENTITIES_BY_ENTITYNAME' | 'ENTITIES_BY_ENTITYNAME_ENTITYID';
export declare type RedisRepository<TItem = any, TItemInRedis = any, TResult = any> = {
createIndex: () => Promise<'OK'>;
deleteItemsByPattern: (pattern: string) => Promise<[any, number]>;
dropIndex: (deleteHash?: boolean) => Promise<'OK'>;
hmset: (item: any, history?: Commit[]) => Promise<'OK'>;
hgetall: (key: string) => Promise<TResult>;
getKey: (item: any) => string;
getIndexName: () => string;
getPattern: (pattern: Pattern, args: string[]) => string;
getPreSelector: () => Selector<TItem, TItemInRedis>;
getPostSelector: () => Selector<TItemInRedis, TResult>;
queryCommitsByPattern: (pattern: string) => Promise<[any, OutputCommit[]] | null>;
search: (option: {
countTotalOnly?: boolean;
kind: 'commit' | 'entity';
index: string;
query: string;
param?: FTSearchParameters;
restoreFn?: any;
}) => Promise<[Error[], number, TResult[]]>;
};
export {};