import { router, publicProcedure, createCallerFactory, } from "../../trpc/server.js"; import { db } from "../../database/lowdb.js"; export const factTriggers = router({ fetchByFactId: publicProcedure .input((x) => x as { factId: string }) .query(async ({ input: { factId } }) => { return db.data.factTriggers.filter( (factTrigger) => factTrigger.sourceFactId === factId, ); }), deleteOne: publicProcedure .input( (x) => x as { factTriggerId: string; }, ) .mutation(async ({ input: { factTriggerId } }) => { const deletedFactTriggerIndex = db.data.facts.findIndex( (fact) => fact.id === factTriggerId, ); if (deletedFactTriggerIndex === -1) throw new Error("Fact not found"); db.data.factTriggers.splice(deletedFactTriggerIndex, 1); db.write(); return { ok: true }; }), }); export const createCaller = createCallerFactory(factTriggers);