16 lines
1.1 KiB
TypeScript
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;
|