UNPKG

@fabric-es/fabric-cqrs

Version:

Hyperledger Fabric middleware for event sourcing and cqrs pattern

28 lines (27 loc) 1.3 kB
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 {};