Spark feed generator template
1import { Event } from "@atp/sync";
2import { Logger } from "@logtape/logtape";
3import { Database } from "../db/connection.ts";
4
5/** Context passed to collection handlers */
6export interface HandlerContext {
7 db: Database;
8 logger: Logger;
9}
10
11/** Handler for a specific collection's events */
12export interface CollectionHandler {
13 collection: string;
14 handleInsert?: (
15 ctx: HandlerContext,
16 evt: Event & { event: "create" | "update" },
17 ) => Promise<void>;
18 handleDelete?: (
19 ctx: HandlerContext,
20 evt: Event & { event: "delete" },
21 ) => Promise<void>;
22}