oak-general-business/lib/utils/message/index.d.ts

16 lines
1.1 KiB
TypeScript

import { EntityDict } from "../../oak-app-domain";
import { BRC } from "../../types/RuntimeCxt";
import { CreateOperationData as CreateMessageData } from '../../oak-app-domain/Message/Schema';
import { Channel, MessageNotificationConverter } from "../../types/Message";
import BackendRuntimeContext from "../../context/BackendRuntimeContext";
export type MessageHandler = (options: {
message: CreateMessageData;
applications: Partial<EntityDict['application']['Schema']>[];
system: EntityDict['system']['Schema'];
context: BRC<EntityDict>;
}) => Promise<Omit<EntityDict['notification']['CreateOperationData'], 'messageSystemId'>[]>;
export declare const ConverterDict: Record<string, MessageNotificationConverter<EntityDict, BackendRuntimeContext<any>>[string]>;
export declare function registerMessageNotificationConverters<ED extends EntityDict, Cxt extends BackendRuntimeContext<ED>>(converter: MessageNotificationConverter<ED, Cxt>): void;
export declare function registerMessageHandler(channel: Channel, handler: MessageHandler): void;
export declare function getMessageHandler(channel: Channel): MessageHandler;