@convex-dev/table-history 0.1.4 → 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.
@@ -1,4 +1,4 @@
1
- import { DocumentByName, GenericDataModel, GenericMutationCtx, GenericQueryCtx, PaginationOptions, TableNamesInDataModel } from "convex/server";
1
+ import { DocumentByName, GenericActionCtx, GenericDataModel, GenericMutationCtx, GenericQueryCtx, PaginationOptions, TableNamesInDataModel } from "convex/server";
2
2
  import { GenericId } from "convex/values";
3
3
  import type { Serializability } from "../component/lib.js";
4
4
  import type { ComponentApi } from "../component/_generated/component.js";
@@ -17,7 +17,7 @@ export declare class TableHistory<DataModel extends GenericDataModel, TableName
17
17
  * history entry. Attribution can include actor/user identity, reason for
18
18
  * change, etc.
19
19
  */
20
- update(ctx: RunMutationCtx, id: GenericId<TableName>, doc: DocumentByName<DataModel, TableName> | null, attribution?: unknown): Promise<number>;
20
+ update(ctx: MutationCtx | ActionCtx, id: GenericId<TableName>, doc: DocumentByName<DataModel, TableName> | null, attribution?: unknown): Promise<number>;
21
21
  /**
22
22
  * Paginate the history of the table, from newest to oldest.
23
23
  *
@@ -25,7 +25,7 @@ export declare class TableHistory<DataModel extends GenericDataModel, TableName
25
25
  * (milliseconds since epoch, like Date.now()) and keep
26
26
  * it the same for subsequent pages.
27
27
  */
28
- listHistory(ctx: RunQueryCtx, maxTs: number, paginationOpts: PaginationOptions): Promise<{
28
+ listHistory(ctx: QueryCtx | MutationCtx | ActionCtx, maxTs: number, paginationOpts: PaginationOptions): Promise<{
29
29
  continueCursor: string;
30
30
  isDone: boolean;
31
31
  page: Array<{
@@ -45,7 +45,7 @@ export declare class TableHistory<DataModel extends GenericDataModel, TableName
45
45
  * (milliseconds since epoch, like Date.now()) and keep
46
46
  * it the same for subsequent pages.
47
47
  */
48
- listDocumentHistory(ctx: RunQueryCtx, id: GenericId<TableName>, maxTs: number, paginationOpts: PaginationOptions): Promise<{
48
+ listDocumentHistory(ctx: QueryCtx | MutationCtx | ActionCtx, id: GenericId<TableName>, maxTs: number, paginationOpts: PaginationOptions): Promise<{
49
49
  continueCursor: string;
50
50
  isDone: boolean;
51
51
  page: Array<{
@@ -65,7 +65,7 @@ export declare class TableHistory<DataModel extends GenericDataModel, TableName
65
65
  * @argument currentTs a fixed recent timestamp (milliseconds since epoch, like Date.now())
66
66
  * which should be the same for subsequent pages.
67
67
  */
68
- listSnapshot(ctx: RunQueryCtx, snapshotTs: number, currentTs: number, paginationOpts: PaginationOptions): Promise<{
68
+ listSnapshot(ctx: QueryCtx | MutationCtx | ActionCtx, snapshotTs: number, currentTs: number, paginationOpts: PaginationOptions): Promise<{
69
69
  continueCursor: string;
70
70
  isDone: boolean;
71
71
  page: Array<{
@@ -84,11 +84,11 @@ export declare class TableHistory<DataModel extends GenericDataModel, TableName
84
84
  * @argument minTsToKeep the timestamp (milliseconds since epoch) of the oldest
85
85
  * snapshot of history that should be kept.
86
86
  */
87
- vacuumHistory(ctx: RunMutationCtx, minTsToKeep: number): Promise<any>;
87
+ vacuumHistory(ctx: MutationCtx | ActionCtx, minTsToKeep: number): Promise<any>;
88
88
  /**
89
89
  * For use with `Triggers` from "convex-helpers/server/triggers".
90
90
  */
91
- trigger<Ctx extends RunMutationCtx>(): Trigger<Ctx, DataModel, TableName>;
91
+ trigger<Ctx extends MutationCtx>(): Trigger<Ctx, DataModel, TableName>;
92
92
  }
93
93
  export type Trigger<Ctx, DataModel extends GenericDataModel, TableName extends TableNamesInDataModel<DataModel>> = (ctx: Ctx, change: Change<DataModel, TableName>) => Promise<void>;
94
94
  export type Change<DataModel extends GenericDataModel, TableName extends TableNamesInDataModel<DataModel>> = {
@@ -106,11 +106,8 @@ export type Change<DataModel extends GenericDataModel, TableName extends TableNa
106
106
  oldDoc: DocumentByName<DataModel, TableName>;
107
107
  newDoc: null;
108
108
  });
109
- type RunQueryCtx = {
110
- runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
111
- };
112
- type RunMutationCtx = {
113
- runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
114
- };
109
+ type QueryCtx = Pick<GenericQueryCtx<GenericDataModel>, "runQuery">;
110
+ type MutationCtx = Pick<GenericMutationCtx<GenericDataModel>, "runQuery" | "runMutation">;
111
+ type ActionCtx = Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation" | "runAction">;
115
112
  export {};
116
113
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,YAAY;IAQd;IAJF,OAAO,CAEZ;IACF,YACS,SAAuB,EAC9B,OAEC;QAHM,cAAS,GAAT,SAAS,CAAc;QAK9B,IAAI,CAAC,OAAO,GAAG;YACb,eAAe,EAAE,OAAO,EAAE,eAAe,IAAI,WAAW;SACzD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,GAAmB,EACnB,EAAwB,EACxB,GAAgD,EAChD,cAAuB,IAAI;QAE3B,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YAChD,EAAE;YACF,GAAG;YACH,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACf,GAAgB,EAChB,KAAa,EACb,cAAiC;QAEjC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE;YAClD,KAAK;YACL,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACvB,GAAgB,EAChB,EAAwB,EACxB,KAAa,EACb,cAAiC;QAEjC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,EAAE;YAC1D,EAAE;YACF,KAAK;YACL,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAChB,GAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,cAAiC;QAEjC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,UAAU;YACV,SAAS;YACT,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,GAAmB,EAAE,WAAmB;QAC1D,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC3B,IAAI,WAAW,GAAY,IAAI,CAAC;YAChC;YACE,8DAA8D;YAC7D,GAAW,CAAC,IAAI;gBACjB,8DAA8D;gBAC9D,OAAQ,GAAW,CAAC,IAAI,CAAC,eAAe,KAAK,UAAU,EACvD,CAAC;gBACD,8DAA8D;gBAC9D,WAAW,GAAG,MAAO,GAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1D,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,YAAY;IAQd;IAJF,OAAO,CAEZ;IACF,YACS,SAAuB,EAC9B,OAEC;QAHM,cAAS,GAAT,SAAS,CAAc;QAK9B,IAAI,CAAC,OAAO,GAAG;YACb,eAAe,EAAE,OAAO,EAAE,eAAe,IAAI,WAAW;SACzD,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,GAA4B,EAC5B,EAAwB,EACxB,GAAgD,EAChD,cAAuB,IAAI;QAE3B,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE;YAChD,EAAE;YACF,GAAG;YACH,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACf,GAAuC,EACvC,KAAa,EACb,cAAiC;QAEjC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE;YAClD,KAAK;YACL,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACvB,GAAuC,EACvC,EAAwB,EACxB,KAAa,EACb,cAAiC;QAEjC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,EAAE;YAC1D,EAAE;YACF,KAAK;YACL,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAChB,GAAuC,EACvC,UAAkB,EAClB,SAAiB,EACjB,cAAiC;QAEjC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE;YACnD,UAAU;YACV,SAAS;YACT,cAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,GAA4B,EAAE,WAAmB;QACnE,OAAO,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;YAC3B,IAAI,WAAW,GAAY,IAAI,CAAC;YAChC;YACE,8DAA8D;YAC7D,GAAW,CAAC,IAAI;gBACjB,8DAA8D;gBAC9D,OAAQ,GAAW,CAAC,IAAI,CAAC,eAAe,KAAK,UAAU,EACvD,CAAC;gBACD,8DAA8D;gBAC9D,WAAW,GAAG,MAAO,GAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1D,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC;CACF"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "email": "support@convex.dev",
8
8
  "url": "https://github.com/get-convex/table-history/issues"
9
9
  },
10
- "version": "0.1.4",
10
+ "version": "0.1.5",
11
11
  "license": "Apache-2.0",
12
12
  "keywords": [
13
13
  "convex",
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  DocumentByName,
3
+ GenericActionCtx,
3
4
  GenericDataModel,
4
5
  GenericMutationCtx,
5
6
  GenericQueryCtx,
@@ -36,7 +37,7 @@ export class TableHistory<
36
37
  * change, etc.
37
38
  */
38
39
  async update(
39
- ctx: RunMutationCtx,
40
+ ctx: MutationCtx | ActionCtx,
40
41
  id: GenericId<TableName>,
41
42
  doc: DocumentByName<DataModel, TableName> | null,
42
43
  attribution: unknown = null
@@ -57,7 +58,7 @@ export class TableHistory<
57
58
  * it the same for subsequent pages.
58
59
  */
59
60
  async listHistory(
60
- ctx: RunQueryCtx,
61
+ ctx: QueryCtx | MutationCtx | ActionCtx,
61
62
  maxTs: number,
62
63
  paginationOpts: PaginationOptions
63
64
  ) {
@@ -74,7 +75,7 @@ export class TableHistory<
74
75
  * it the same for subsequent pages.
75
76
  */
76
77
  async listDocumentHistory(
77
- ctx: RunQueryCtx,
78
+ ctx: QueryCtx | MutationCtx | ActionCtx,
78
79
  id: GenericId<TableName>,
79
80
  maxTs: number,
80
81
  paginationOpts: PaginationOptions
@@ -93,7 +94,7 @@ export class TableHistory<
93
94
  * which should be the same for subsequent pages.
94
95
  */
95
96
  async listSnapshot(
96
- ctx: RunQueryCtx,
97
+ ctx: QueryCtx | MutationCtx | ActionCtx,
97
98
  snapshotTs: number,
98
99
  currentTs: number,
99
100
  paginationOpts: PaginationOptions
@@ -111,14 +112,14 @@ export class TableHistory<
111
112
  * @argument minTsToKeep the timestamp (milliseconds since epoch) of the oldest
112
113
  * snapshot of history that should be kept.
113
114
  */
114
- async vacuumHistory(ctx: RunMutationCtx, minTsToKeep: number) {
115
+ async vacuumHistory(ctx: MutationCtx | ActionCtx, minTsToKeep: number) {
115
116
  return ctx.runMutation(this.component.lib.vacuumHistory, { minTsToKeep });
116
117
  }
117
118
 
118
119
  /**
119
120
  * For use with `Triggers` from "convex-helpers/server/triggers".
120
121
  */
121
- trigger<Ctx extends RunMutationCtx>(): Trigger<Ctx, DataModel, TableName> {
122
+ trigger<Ctx extends MutationCtx>(): Trigger<Ctx, DataModel, TableName> {
122
123
  return async (ctx, change) => {
123
124
  let attribution: unknown = null;
124
125
  if (
@@ -166,9 +167,12 @@ export type Change<
166
167
  }
167
168
  );
168
169
 
169
- type RunQueryCtx = {
170
- runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
171
- };
172
- type RunMutationCtx = {
173
- runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
174
- };
170
+ type QueryCtx = Pick<GenericQueryCtx<GenericDataModel>, "runQuery">;
171
+ type MutationCtx = Pick<
172
+ GenericMutationCtx<GenericDataModel>,
173
+ "runQuery" | "runMutation"
174
+ >;
175
+ type ActionCtx = Pick<
176
+ GenericActionCtx<GenericDataModel>,
177
+ "runQuery" | "runMutation" | "runAction"
178
+ >;