22 lines
1.6 KiB
TypeScript
22 lines
1.6 KiB
TypeScript
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/base-app-domain';
|
|
import { EntityDict, OperationResult, Trigger, Watcher, FreeTimer, BaseTimer } from 'oak-domain/lib/types';
|
|
import { BackendRuntimeContext } from 'oak-frontend-base/lib/context/BackendRuntimeContext';
|
|
import { AppLoader } from './AppLoader';
|
|
import { Namespace } from 'socket.io';
|
|
import { Socket } from 'socket.io-client';
|
|
export declare class ClusterAppLoader<ED extends EntityDict & BaseEntityDict, Cxt extends BackendRuntimeContext<ED>> extends AppLoader<ED, Cxt> {
|
|
private commitTriggers;
|
|
static VolatileTriggerEvent: string;
|
|
protected socket: Socket;
|
|
private connectServerSocket;
|
|
private sub;
|
|
constructor(path: string, nsDs: Namespace, nsSocket: Namespace, nsServer: Namespace, socketPath: string);
|
|
protected registerTrigger(trigger: Trigger<ED, keyof ED, Cxt>): void;
|
|
protected operateInWatcher<T extends keyof ED>(entity: T, operation: ED[T]['Update'], context: Cxt, singleton?: true): Promise<OperationResult<ED>>;
|
|
protected selectInWatcher<T extends keyof ED>(entity: T, selection: ED[T]['Selection'], context: Cxt, forUpdate?: true, singleton?: true): Promise<Partial<ED[T]['Schema']>[]>;
|
|
protected execWatcher(watcher: Watcher<ED, keyof ED, Cxt>): Promise<OperationResult<ED> | undefined>;
|
|
protected execBaseTimer(timer: BaseTimer<ED, Cxt>, context: Cxt): Promise<OperationResult<ED>> | undefined;
|
|
protected execFreeTimer(timer: FreeTimer<ED, Cxt>, contextBuilder: () => Promise<Cxt>): Promise<OperationResult<ED>> | undefined;
|
|
protected checkpoint(): Promise<number>;
|
|
}
|