diff --git a/packages/core-realtime/src/realtime-handler.interface.ts b/packages/core-realtime/src/realtime-handler.interface.ts new file mode 100644 index 0000000..d0fb09e --- /dev/null +++ b/packages/core-realtime/src/realtime-handler.interface.ts @@ -0,0 +1,14 @@ +import type { z } from "zod"; +import type { RealtimeChannelDescriptor } from "./realtime-channel"; + +export type RealtimeContext = { + userId: string | null; + roles: string[]; +}; + +export type IRealtimeHandler = (input: T, ctx: RealtimeContext) => Promise; + +export type IInboundDescriptor = { + readonly descriptor: RealtimeChannelDescriptor; + readonly handler: IRealtimeHandler>; +};