// packages/{{kebabCase feature}}/src/realtime/handlers/on-{{kebabCase channelSlug}}.handler.ts
import type { {{pascalCase channelSlug}}Payload } from "../{{kebabCase channelSlug}}.channel";
import type { RealtimeContext } from "@repo/core-realtime";

export type IOn{{pascalCase channelSlug}}Handler = ReturnType<typeof on{{pascalCase channelSlug}}Handler>;

export const on{{pascalCase channelSlug}}Handler =
  () =>
  async (_input: {{pascalCase channelSlug}}Payload, _ctx: RealtimeContext): Promise<void> => {
    // TODO: implement the reaction. Inject deps via the factory's constructor
    // and use them here. The handler is wrapped in span+capture at bind time,
    // so just throwing on failure is the right shape.
  };
