UNPKG

@eang/core

Version:

eang - model driven enterprise event processing

49 lines (48 loc) 1.42 kB
import { JetStreamPublishOptions, JsMsg } from '@nats-io/jetstream'; import { EntityUpdateContext, IFunctionStartContext } from '../eang-core.js'; import { Payload } from '@nats-io/nats-core'; import { Cnx, EangEventTypes, Obj } from './entity.js'; export interface IEangEvent { msg: JsMsg; subjectData: IObjSubjectData | ICnxSubjectData; entity: Obj | Cnx; eventType: EangEventTypes; context?: IFunctionStartContext | EntityUpdateContext; tenant: string; organizationalUnit: string; user: string; } export interface IEangOutMessage { subject: string; payload: Payload; opts: Partial<JetStreamPublishOptions>; } export declare function parseMsg(msg: JsMsg): IEangEvent; export interface IObjSubjectData { entityType: 'obj'; tenant: string; organizationalUnit: string; user: string; typeOf: string; instanceOf: string; childOf: string; key: string; eventType: string; } export interface ICnxSubjectData { entityType: 'cnx'; tenant: string; organizationalUnit: string; user: string; typeOf: string; instanceOf: string; key: string; eventType: string; fromObjTypeOf: string; fromObjInstanceOf: string; fromObjKey: string; toObjTypeOf: string; toObjInstanceOf: string; toObjKey: string; } export declare function parseSubjectData(subject: string): IObjSubjectData | ICnxSubjectData;