convex-feedback 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +33 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/client/api.d.ts +7 -1
  4. package/dist/client/api.d.ts.map +1 -1
  5. package/dist/client/index.d.ts +1 -1
  6. package/dist/client/index.d.ts.map +1 -1
  7. package/dist/client/index.js +12 -1
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/component/_generated/api.d.ts +4 -0
  10. package/dist/component/_generated/api.d.ts.map +1 -1
  11. package/dist/component/_generated/api.js.map +1 -1
  12. package/dist/component/_generated/component.d.ts +27 -0
  13. package/dist/component/_generated/component.d.ts.map +1 -1
  14. package/dist/component/comments.d.ts +8 -8
  15. package/dist/component/comments.d.ts.map +1 -1
  16. package/dist/component/comments.js +2 -1
  17. package/dist/component/comments.js.map +1 -1
  18. package/dist/component/crons.d.ts +3 -0
  19. package/dist/component/crons.d.ts.map +1 -0
  20. package/dist/component/crons.js +8 -0
  21. package/dist/component/crons.js.map +1 -0
  22. package/dist/component/entries.d.ts +53 -26
  23. package/dist/component/entries.d.ts.map +1 -1
  24. package/dist/component/entries.js +116 -9
  25. package/dist/component/entries.js.map +1 -1
  26. package/dist/component/helpers.d.ts +2 -1
  27. package/dist/component/helpers.d.ts.map +1 -1
  28. package/dist/component/helpers.js +46 -1
  29. package/dist/component/helpers.js.map +1 -1
  30. package/dist/component/migrations.d.ts +11 -0
  31. package/dist/component/migrations.d.ts.map +1 -0
  32. package/dist/component/migrations.js +35 -0
  33. package/dist/component/migrations.js.map +1 -0
  34. package/dist/component/model.d.ts +74 -3
  35. package/dist/component/model.d.ts.map +1 -1
  36. package/dist/component/model.js +11 -0
  37. package/dist/component/model.js.map +1 -1
  38. package/dist/component/schema.d.ts +19 -2
  39. package/dist/component/schema.d.ts.map +1 -1
  40. package/dist/component/schema.js +12 -2
  41. package/dist/component/schema.js.map +1 -1
  42. package/dist/react/index.d.ts +27 -3
  43. package/dist/react/index.d.ts.map +1 -1
  44. package/dist/react/index.js +6 -0
  45. package/dist/react/index.js.map +1 -1
  46. package/dist/test.d.ts +19 -2
  47. package/dist/test.d.ts.map +1 -1
  48. package/package.json +6 -2
  49. package/src/client/api.ts +11 -0
  50. package/src/client/index.ts +16 -0
  51. package/src/component/README.md +2 -0
  52. package/src/component/_generated/api.ts +4 -0
  53. package/src/component/_generated/component.ts +31 -1
  54. package/src/component/comments.ts +2 -0
  55. package/src/component/crons.ts +16 -0
  56. package/src/component/entries.ts +158 -7
  57. package/src/component/helpers.ts +70 -0
  58. package/src/component/migrations.ts +44 -0
  59. package/src/component/model.ts +44 -0
  60. package/src/component/schema.ts +17 -2
  61. package/src/react/index.ts +13 -0
@@ -3,8 +3,8 @@ import { paginationOptsValidator, paginationResultValidator, } from "convex/serv
3
3
  import { ConvexError, v } from "convex/values";
4
4
  import { mergedStream, stream } from "convex-helpers/server/stream";
5
5
  import { mutation, query } from "./_generated/server.js";
6
- import { assertActorId, normalizeRequiredText, normalizeTitle, serializeEntry, } from "./helpers.js";
7
- import { actorValidator, entryKindValidator, entrySortValidator, entryStatusValidator, publicEntryValidator, similarEntriesValidator, } from "./model.js";
6
+ import { assertActorId, normalizeRequiredText, normalizeTitle, serializeEntry, validateFeedbackMetadata, } from "./helpers.js";
7
+ import { actorValidator, entryKindValidator, entrySortValidator, entryStatusFilterForStatus, entryStatusFilterValidator, entryStatusValidator, feedbackMetadataValidator, publicEntryValidator, similarEntriesValidator, } from "./model.js";
8
8
  import schema from "./schema.js";
9
9
  const allEntryKinds = [
10
10
  "feedback",
@@ -31,6 +31,7 @@ export const list = query({
31
31
  paginationOpts: paginationOptsValidator,
32
32
  kinds: v.optional(v.array(entryKindValidator)),
33
33
  status: v.optional(entryStatusValidator),
34
+ statusFilter: v.optional(entryStatusFilterValidator),
34
35
  sort: entrySortValidator,
35
36
  viewerActorId: v.optional(v.string()),
36
37
  },
@@ -38,9 +39,60 @@ export const list = query({
38
39
  handler: async (ctx, args) => {
39
40
  const db = paginator(ctx.db, schema);
40
41
  const kinds = normalizeKindFilter(args.kinds);
41
- const { status } = args;
42
+ const { status, statusFilter } = args;
43
+ if (status !== undefined && statusFilter !== undefined) {
44
+ throw new ConvexError("`status` and `statusFilter` cannot be used together.");
45
+ }
42
46
  let result;
43
- if (kinds === undefined) {
47
+ if (statusFilter !== undefined) {
48
+ if (kinds === undefined) {
49
+ result =
50
+ args.sort === "top"
51
+ ? await db
52
+ .query("entries")
53
+ .withIndex("by_status_filter_upvotes", (q) => q.eq("statusFilter", statusFilter))
54
+ .order("desc")
55
+ .paginate(args.paginationOpts)
56
+ : await db
57
+ .query("entries")
58
+ .withIndex("by_status_filter", (q) => q.eq("statusFilter", statusFilter))
59
+ .order("desc")
60
+ .paginate(args.paginationOpts);
61
+ }
62
+ else if (kinds.length === 1) {
63
+ const kind = kinds[0];
64
+ if (kind === undefined) {
65
+ throw new ConvexError("Invalid kind filter.");
66
+ }
67
+ result =
68
+ args.sort === "top"
69
+ ? await db
70
+ .query("entries")
71
+ .withIndex("by_kind_status_filter_upvotes", (q) => q.eq("kind", kind).eq("statusFilter", statusFilter))
72
+ .order("desc")
73
+ .paginate(args.paginationOpts)
74
+ : await db
75
+ .query("entries")
76
+ .withIndex("by_kind_status_filter", (q) => q.eq("kind", kind).eq("statusFilter", statusFilter))
77
+ .order("desc")
78
+ .paginate(args.paginationOpts);
79
+ }
80
+ else {
81
+ const streams = kinds.map((kind) => args.sort === "top"
82
+ ? stream(ctx.db, schema)
83
+ .query("entries")
84
+ .withIndex("by_kind_status_filter_upvotes", (q) => q.eq("kind", kind).eq("statusFilter", statusFilter))
85
+ .order("desc")
86
+ : stream(ctx.db, schema)
87
+ .query("entries")
88
+ .withIndex("by_kind_status_filter", (q) => q.eq("kind", kind).eq("statusFilter", statusFilter))
89
+ .order("desc"));
90
+ result = await mergedStream(streams, args.sort === "top"
91
+ ? ["upvoteCount", "_creationTime"]
92
+ : ["_creationTime"]).paginate(args.paginationOpts);
93
+ }
94
+ }
95
+ else if (kinds === undefined) {
44
96
  result =
45
97
  args.sort === "top"
46
98
  ? status === undefined
@@ -141,13 +193,14 @@ export const get = query({
141
193
  args: {
142
194
  entryId: v.id("entries"),
143
195
  viewerActorId: v.optional(v.string()),
196
+ viewerIsModerator: v.optional(v.boolean()),
144
197
  },
145
198
  returns: v.union(publicEntryValidator, v.null()),
146
199
  handler: async (ctx, args) => {
147
200
  const entry = await ctx.db.get("entries", args.entryId);
148
201
  return entry === null
149
202
  ? null
150
- : serializeEntry(ctx, entry, args.viewerActorId);
203
+ : serializeEntry(ctx, entry, args.viewerActorId, args.viewerIsModerator === true);
151
204
  },
152
205
  });
153
206
  export const search = query({
@@ -155,6 +208,7 @@ export const search = query({
155
208
  searchQuery: v.string(),
156
209
  kinds: v.optional(v.array(entryKindValidator)),
157
210
  status: v.optional(entryStatusValidator),
211
+ statusFilter: v.optional(entryStatusFilterValidator),
158
212
  limit: v.number(),
159
213
  viewerActorId: v.optional(v.string()),
160
214
  },
@@ -165,9 +219,50 @@ export const search = query({
165
219
  return [];
166
220
  }
167
221
  const kinds = normalizeKindFilter(args.kinds);
168
- const { status } = args;
222
+ const { status, statusFilter } = args;
223
+ if (status !== undefined && statusFilter !== undefined) {
224
+ throw new ConvexError("`status` and `statusFilter` cannot be used together.");
225
+ }
169
226
  let entries;
170
- if (kinds === undefined) {
227
+ if (statusFilter !== undefined) {
228
+ if (kinds === undefined) {
229
+ entries = await ctx.db
230
+ .query("entries")
231
+ .withSearchIndex("search", (q) => q
232
+ .search("searchText", searchQuery)
233
+ .eq("statusFilter", statusFilter))
234
+ .take(args.limit);
235
+ }
236
+ else if (kinds.length === 1) {
237
+ const kind = kinds[0];
238
+ if (kind === undefined) {
239
+ throw new ConvexError("Invalid kind filter.");
240
+ }
241
+ entries = await ctx.db
242
+ .query("entries")
243
+ .withSearchIndex("search", (q) => q
244
+ .search("searchText", searchQuery)
245
+ .eq("kind", kind)
246
+ .eq("statusFilter", statusFilter))
247
+ .take(args.limit);
248
+ }
249
+ else {
250
+ const firstKind = kinds[0];
251
+ const secondKind = kinds[1];
252
+ if (firstKind === undefined || secondKind === undefined) {
253
+ throw new ConvexError("Invalid kind filter.");
254
+ }
255
+ entries = await ctx.db
256
+ .query("entries")
257
+ .withSearchIndex("search", (q) => q
258
+ .search("searchText", searchQuery)
259
+ .eq("statusFilter", statusFilter))
260
+ // eslint-disable-next-line @convex-dev/no-filter-in-query
261
+ .filter((q) => q.or(q.eq(q.field("kind"), firstKind), q.eq(q.field("kind"), secondKind)))
262
+ .take(args.limit);
263
+ }
264
+ }
265
+ else if (kinds === undefined) {
171
266
  entries =
172
267
  status === undefined
173
268
  ? await ctx.db
@@ -304,6 +399,7 @@ export const create = mutation({
304
399
  enabledKinds: v.array(entryKindValidator),
305
400
  maxTitleLength: v.number(),
306
401
  maxBodyLength: v.number(),
402
+ metadata: v.optional(feedbackMetadataValidator),
307
403
  },
308
404
  returns: v.id("entries"),
309
405
  handler: async (ctx, args) => {
@@ -313,16 +409,19 @@ export const create = mutation({
313
409
  }
314
410
  const title = normalizeRequiredText(args.title, "Title", args.maxTitleLength);
315
411
  const body = normalizeRequiredText(args.body, "Body", args.maxBodyLength);
412
+ validateFeedbackMetadata(args.metadata);
316
413
  const entry = await ctx.db.insert("entries", {
317
414
  actorId: args.actorId,
318
415
  kind: args.kind,
319
416
  status: args.defaultStatus,
417
+ statusFilter: entryStatusFilterForStatus(args.defaultStatus),
320
418
  title,
321
419
  body,
322
420
  normalizedTitle: normalizeTitle(title),
323
421
  searchText: `${title}\n${body}`,
324
422
  upvoteCount: 1,
325
423
  commentCount: 0,
424
+ ...(args.metadata === undefined ? {} : { metadata: args.metadata }),
326
425
  });
327
426
  await ctx.db.insert("reactions", {
328
427
  actorId: args.actorId,
@@ -358,6 +457,7 @@ export const update = mutation({
358
457
  body,
359
458
  normalizedTitle: normalizeTitle(title),
360
459
  searchText: `${title}\n${body}`,
460
+ statusFilter: entryStatusFilterForStatus(entry.status),
361
461
  updatedAt: Date.now(),
362
462
  });
363
463
  return null;
@@ -379,6 +479,7 @@ export const setStatus = mutation({
379
479
  }
380
480
  await ctx.db.patch("entries", args.entryId, {
381
481
  status: args.status,
482
+ statusFilter: entryStatusFilterForStatus(args.status),
382
483
  updatedAt: Date.now(),
383
484
  });
384
485
  return null;
@@ -406,13 +507,19 @@ export const setUpvote = mutation({
406
507
  entryId: args.entryId,
407
508
  });
408
509
  const upvoteCount = entry.upvoteCount + 1;
409
- await ctx.db.patch("entries", args.entryId, { upvoteCount });
510
+ await ctx.db.patch("entries", args.entryId, {
511
+ upvoteCount,
512
+ statusFilter: entryStatusFilterForStatus(entry.status),
513
+ });
410
514
  return { active: true, upvoteCount };
411
515
  }
412
516
  if (!args.desiredState && existing !== null) {
413
517
  await ctx.db.delete("reactions", existing._id);
414
518
  const upvoteCount = Math.max(0, entry.upvoteCount - 1);
415
- await ctx.db.patch("entries", args.entryId, { upvoteCount });
519
+ await ctx.db.patch("entries", args.entryId, {
520
+ upvoteCount,
521
+ statusFilter: entryStatusFilterForStatus(entry.status),
522
+ });
416
523
  return { active: false, upvoteCount };
417
524
  }
418
525
  return { active: args.desiredState, upvoteCount: entry.upvoteCount };
@@ -1 +1 @@
1
- {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/component/entries.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import type { DataModel } from "./_generated/dataModel.js";
2
2
  import type { QueryCtx } from "./types.js";
3
3
  import type { FeedbackComment, FeedbackEntry } from "./model.js";
4
+ export declare function validateFeedbackMetadata(metadata: DataModel["entries"]["document"]["metadata"]): void;
4
5
  export declare function normalizeTitle(value: string): string;
5
6
  export declare function normalizeRequiredText(value: string, field: string, maximumLength: number): string;
6
7
  export declare function assertPositiveInteger(value: number, field: string): void;
7
8
  export declare function assertActorId(actorId: string): void;
8
- export declare function serializeEntry(ctx: QueryCtx, entry: DataModel["entries"]["document"], viewerActorId: string | undefined): Promise<FeedbackEntry>;
9
+ export declare function serializeEntry(ctx: QueryCtx, entry: DataModel["entries"]["document"], viewerActorId: string | undefined, includeMetadata?: boolean): Promise<FeedbackEntry>;
9
10
  export declare function serializeComment(ctx: QueryCtx, comment: DataModel["comments"]["document"], viewerActorId: string | undefined): Promise<FeedbackComment>;
10
11
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/component/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,MAAM,CAWR;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EACvC,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,aAAa,CAAC,CAwBxB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAC1C,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,eAAe,CAAC,CA+B1B"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/component/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYjE,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,GACrD,IAAI,CAoDN;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,GACpB,MAAM,CAWR;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EACvC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,eAAe,UAAQ,GACtB,OAAO,CAAC,aAAa,CAAC,CA2BxB;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,EAC1C,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC,eAAe,CAAC,CA+B1B"}
@@ -1,4 +1,46 @@
1
1
  import { ConvexError } from "convex/values";
2
+ const metadataMaximumKeysPerSection = 32;
3
+ const metadataMaximumKeyLength = 64;
4
+ const metadataMaximumStringLength = 1_024;
5
+ const metadataMaximumEncodedBytes = 16 * 1_024;
6
+ const forbiddenMetadataKeys = new Set([
7
+ "__proto__",
8
+ "constructor",
9
+ "prototype",
10
+ ]);
11
+ export function validateFeedbackMetadata(metadata) {
12
+ if (metadata === undefined)
13
+ return;
14
+ for (const [sectionName, section] of Object.entries(metadata)) {
15
+ if (section === undefined)
16
+ continue;
17
+ const entries = Object.entries(section);
18
+ if (entries.length > metadataMaximumKeysPerSection) {
19
+ throw new ConvexError(`Metadata section '${sectionName}' must contain ${metadataMaximumKeysPerSection} keys or fewer.`);
20
+ }
21
+ for (const [key, value] of entries) {
22
+ if (key.length === 0) {
23
+ throw new ConvexError(`Metadata section '${sectionName}' contains an empty key.`);
24
+ }
25
+ if (key.length > metadataMaximumKeyLength) {
26
+ throw new ConvexError(`Metadata key '${key}' in section '${sectionName}' must be ${metadataMaximumKeyLength} characters or fewer.`);
27
+ }
28
+ if (key.startsWith("_") ||
29
+ key.startsWith("$") ||
30
+ forbiddenMetadataKeys.has(key)) {
31
+ throw new ConvexError(`Metadata key '${key}' in section '${sectionName}' is reserved and cannot be used.`);
32
+ }
33
+ if (typeof value === "string" &&
34
+ value.length > metadataMaximumStringLength) {
35
+ throw new ConvexError(`Metadata value for '${sectionName}.${key}' must be ${metadataMaximumStringLength} characters or fewer.`);
36
+ }
37
+ }
38
+ }
39
+ const encodedBytes = new TextEncoder().encode(JSON.stringify(metadata)).length;
40
+ if (encodedBytes > metadataMaximumEncodedBytes) {
41
+ throw new ConvexError(`Metadata must be ${metadataMaximumEncodedBytes} UTF-8 bytes or fewer; received ${encodedBytes} bytes.`);
42
+ }
43
+ }
2
44
  export function normalizeTitle(value) {
3
45
  return value.trim().replace(/\s+/g, " ").toLocaleLowerCase("en-US");
4
46
  }
@@ -22,7 +64,7 @@ export function assertActorId(actorId) {
22
64
  throw new ConvexError("Actor id must not be empty.");
23
65
  }
24
66
  }
25
- export async function serializeEntry(ctx, entry, viewerActorId) {
67
+ export async function serializeEntry(ctx, entry, viewerActorId, includeMetadata = false) {
26
68
  const reaction = viewerActorId !== undefined
27
69
  ? await ctx.db
28
70
  .query("reactions")
@@ -41,6 +83,9 @@ export async function serializeEntry(ctx, entry, viewerActorId) {
41
83
  commentCount: entry.commentCount,
42
84
  ...(entry.updatedAt === undefined ? {} : { updatedAt: entry.updatedAt }),
43
85
  viewerHasUpvoted: reaction !== null,
86
+ ...(includeMetadata && entry.metadata !== undefined
87
+ ? { metadata: entry.metadata }
88
+ : {}),
44
89
  };
45
90
  }
46
91
  export async function serializeComment(ctx, comment, viewerActorId) {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/component/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/component/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Backfills one bounded batch of legacy entries and schedules the next batch.
3
+ *
4
+ * The indexed undefined lookup and deterministic status mapping make this
5
+ * safe to run concurrently, retry, or invoke again after completion.
6
+ */
7
+ export declare const backfillStatusFilter: import("convex/server").RegisteredMutation<"internal", {}, Promise<{
8
+ updated: number;
9
+ hasMore: boolean;
10
+ }>>;
11
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/component/migrations.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;GA6B/B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { v } from "convex/values";
2
+ import { internal } from "./_generated/api.js";
3
+ import { internalMutation } from "./_generated/server.js";
4
+ import { entryStatusFilterForStatus } from "./model.js";
5
+ const statusFilterMigrationBatchSize = 100;
6
+ /**
7
+ * Backfills one bounded batch of legacy entries and schedules the next batch.
8
+ *
9
+ * The indexed undefined lookup and deterministic status mapping make this
10
+ * safe to run concurrently, retry, or invoke again after completion.
11
+ */
12
+ export const backfillStatusFilter = internalMutation({
13
+ args: {},
14
+ returns: v.object({
15
+ updated: v.number(),
16
+ hasMore: v.boolean(),
17
+ }),
18
+ handler: async (ctx) => {
19
+ const entries = await ctx.db
20
+ .query("entries")
21
+ .withIndex("by_status_filter", (q) => q.eq("statusFilter", undefined))
22
+ .take(statusFilterMigrationBatchSize);
23
+ for (const entry of entries) {
24
+ await ctx.db.patch("entries", entry._id, {
25
+ statusFilter: entryStatusFilterForStatus(entry.status),
26
+ });
27
+ }
28
+ const hasMore = entries.length === statusFilterMigrationBatchSize;
29
+ if (hasMore) {
30
+ await ctx.scheduler.runAfter(0, internal.migrations.backfillStatusFilter, {});
31
+ }
32
+ return { updated: entries.length, hasMore };
33
+ },
34
+ });
35
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/component/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;IACnD,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;KACrB,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;aACzB,KAAK,CAAC,SAAS,CAAC;aAChB,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;aACrE,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE;gBACvC,YAAY,EAAE,0BAA0B,CAAC,KAAK,CAAC,MAAM,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,8BAA8B,CAAC;QAClE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAC1B,CAAC,EACD,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EACxC,EAAE,CACH,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}