{"version":3,"file":"convex.cjs","names":[],"sources":["../../src/utils/convex.ts"],"sourcesContent":["import {\n  internalQueryGeneric as internalQuery,\n  internalMutationGeneric as internalMutation,\n} from \"convex/server\";\nimport { GenericId, v } from \"convex/values\";\n\nexport const get = /*#__PURE__*/ internalQuery({\n  args: {\n    id: /*#__PURE__*/ v.string(),\n  },\n  handler: async (ctx, args) => {\n    const result = await ctx.db.get(args.id as GenericId<string>);\n    return result;\n  },\n});\n\nexport const insert = /*#__PURE__*/ internalMutation({\n  args: {\n    table: /*#__PURE__*/ v.string(),\n    document: /*#__PURE__*/ v.any(),\n  },\n  handler: async (ctx, args) => {\n    await ctx.db.insert(args.table, args.document);\n  },\n});\n\nexport const lookup = /*#__PURE__*/ internalQuery({\n  args: {\n    table: /*#__PURE__*/ v.string(),\n    index: /*#__PURE__*/ v.string(),\n    keyField: /*#__PURE__*/ v.string(),\n    key: /*#__PURE__*/ v.string(),\n  },\n  handler: async (ctx, args) => {\n    const result = await ctx.db\n      .query(args.table)\n      .withIndex(args.index, (q) => q.eq(args.keyField, args.key))\n      .collect();\n    return result;\n  },\n});\n\nexport const upsert = /*#__PURE__*/ internalMutation({\n  args: {\n    table: /*#__PURE__*/ v.string(),\n    index: /*#__PURE__*/ v.string(),\n    keyField: /*#__PURE__*/ v.string(),\n    key: /*#__PURE__*/ v.string(),\n    document: /*#__PURE__*/ v.any(),\n  },\n  handler: async (ctx, args) => {\n    const existing = await ctx.db\n      .query(args.table)\n      .withIndex(args.index, (q) => q.eq(args.keyField, args.key))\n      .unique();\n    if (existing !== null) {\n      await ctx.db.replace(existing._id, args.document);\n    } else {\n      await ctx.db.insert(args.table, args.document);\n    }\n  },\n});\n\nexport const deleteMany = /*#__PURE__*/ internalMutation({\n  args: {\n    table: /*#__PURE__*/ v.string(),\n    index: /*#__PURE__*/ v.string(),\n    keyField: /*#__PURE__*/ v.string(),\n    key: /*#__PURE__*/ v.string(),\n  },\n  handler: async (ctx, args) => {\n    const existing = await ctx.db\n      .query(args.table)\n      .withIndex(args.index, (q) => q.eq(args.keyField, args.key))\n      .collect();\n    await Promise.all(existing.map((doc) => ctx.db.delete(doc._id)));\n  },\n});\n"],"mappings":";;;;;;;;;;;;AAMA,MAAa,MAAoB,iBAAA,GAAA,cAAA,sBAAc;CAC7C,MAAM,EACJ,IAAkB,8BAAA,EAAE,QAAQ,EAC7B;CACD,SAAS,OAAO,KAAK,SAAS;AAE5B,SADe,MAAM,IAAI,GAAG,IAAI,KAAK,GAAwB;;CAGhE,CAAC;AAEF,MAAa,SAAuB,iBAAA,GAAA,cAAA,yBAAiB;CACnD,MAAM;EACJ,OAAqB,8BAAA,EAAE,QAAQ;EAC/B,UAAwB,8BAAA,EAAE,KAAK;EAChC;CACD,SAAS,OAAO,KAAK,SAAS;AAC5B,QAAM,IAAI,GAAG,OAAO,KAAK,OAAO,KAAK,SAAS;;CAEjD,CAAC;AAEF,MAAa,SAAuB,iBAAA,GAAA,cAAA,sBAAc;CAChD,MAAM;EACJ,OAAqB,8BAAA,EAAE,QAAQ;EAC/B,OAAqB,8BAAA,EAAE,QAAQ;EAC/B,UAAwB,8BAAA,EAAE,QAAQ;EAClC,KAAmB,8BAAA,EAAE,QAAQ;EAC9B;CACD,SAAS,OAAO,KAAK,SAAS;AAK5B,SAJe,MAAM,IAAI,GACtB,MAAM,KAAK,MAAM,CACjB,UAAU,KAAK,QAAQ,MAAM,EAAE,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,CAC3D,SAAS;;CAGf,CAAC;AAEF,MAAa,SAAuB,iBAAA,GAAA,cAAA,yBAAiB;CACnD,MAAM;EACJ,OAAqB,8BAAA,EAAE,QAAQ;EAC/B,OAAqB,8BAAA,EAAE,QAAQ;EAC/B,UAAwB,8BAAA,EAAE,QAAQ;EAClC,KAAmB,8BAAA,EAAE,QAAQ;EAC7B,UAAwB,8BAAA,EAAE,KAAK;EAChC;CACD,SAAS,OAAO,KAAK,SAAS;EAC5B,MAAM,WAAW,MAAM,IAAI,GACxB,MAAM,KAAK,MAAM,CACjB,UAAU,KAAK,QAAQ,MAAM,EAAE,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,CAC3D,QAAQ;AACX,MAAI,aAAa,KACf,OAAM,IAAI,GAAG,QAAQ,SAAS,KAAK,KAAK,SAAS;MAEjD,OAAM,IAAI,GAAG,OAAO,KAAK,OAAO,KAAK,SAAS;;CAGnD,CAAC;AAEF,MAAa,aAA2B,iBAAA,GAAA,cAAA,yBAAiB;CACvD,MAAM;EACJ,OAAqB,8BAAA,EAAE,QAAQ;EAC/B,OAAqB,8BAAA,EAAE,QAAQ;EAC/B,UAAwB,8BAAA,EAAE,QAAQ;EAClC,KAAmB,8BAAA,EAAE,QAAQ;EAC9B;CACD,SAAS,OAAO,KAAK,SAAS;EAC5B,MAAM,WAAW,MAAM,IAAI,GACxB,MAAM,KAAK,MAAM,CACjB,UAAU,KAAK,QAAQ,MAAM,EAAE,GAAG,KAAK,UAAU,KAAK,IAAI,CAAC,CAC3D,SAAS;AACZ,QAAM,QAAQ,IAAI,SAAS,KAAK,QAAQ,IAAI,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC;;CAEnE,CAAC"}