Curated, product-agnostic snapshot of the post-story-04 tree: demo content deleted, auth-only reference feature, web-next shell, all gates green. Product-specific docs, ADRs 027-029, PRDs/epics/archive, editor library traces, and product naming are curated out; generic template repairs (coverage provider devDeps, root test:coverage script, live lint fixes, root-only release-please) are kept. See TEMPLATE.md for provenance, curation list, and usage. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
14 lines
732 B
Handlebars
14 lines
732 B
Handlebars
// 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.
|
|
};
|