@fabrix/spool-broadcast
Version:
Spool: broadcast for Fabrix to implement CQRS and Event Sourcing
74 lines (73 loc) • 2.35 kB
TypeScript
import { FabrixApp } from '@fabrix/fabrix';
import { FabrixGeneric } from '@fabrix/fabrix/dist/common';
import { Promise } from 'bluebird';
import { Broadcast } from './Broadcast';
import { BroadcastEvent } from './api/models';
import { Entry } from './Entry';
import { BroadcastAction, BroadcastOptions } from './Interface';
import { BroadcastEntity } from './BroadcastEntity';
export declare class BroadcastProject extends FabrixGeneric {
event: BroadcastEvent;
options: {
[key: string]: any;
};
consistency: string;
manager: {
[key: string]: any;
};
broadcaster: Broadcast;
message: any;
isAcknowledged: boolean;
isRedelivered: boolean;
retries: number;
private _projectorModel;
private _id;
constructor(app: FabrixApp, { event, options, consistency, message, manager, broadcaster }: {
event: BroadcastEvent;
options: {
[key: string]: any;
};
consistency?: string;
message?: string;
manager?: any;
broadcaster?: Broadcast;
});
readonly saveOptions: {
transaction: any;
useMaster: any;
fields: boolean | string[];
};
id: string;
readonly name: string;
projectorModel: any;
readonly fields: string[];
run(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>;
ack(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>;
nack(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>;
reject(): Promise<(BroadcastEvent | BroadcastAction | BroadcastOptions)[]>;
interrupt(msg: any): Promise<any>;
reply(msg: any): Promise<any>;
finalize(): Promise<any>;
entries(name: string): Entry;
Sequelize(): any;
mapSeries(...args: any[]): Promise<any>;
readonly metadata: {
channel: any;
channel_session: any;
user: any;
device: any;
application: any;
causation_uuid: any;
correlation_uuid: any;
correlation_type: any;
explain: any;
ip: any;
};
}
export declare class BroadcastProjector extends BroadcastEntity {
private _managers;
constructor(app: FabrixApp);
newProjector(func: any, vals: any): BroadcastProject;
readonly managers: Map<string, string>;
hasManager(name: any): boolean;
}