@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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
110
|
-
|
|
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":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,qBAAa,YAAY,CACvB,SAAS,SAAS,gBAAgB,EAClC,SAAS,SAAS,qBAAqB,CAAC,SAAS,CAAC;IAMzC,SAAS,EAAE,YAAY;IAJzB,OAAO,EAAE;QACd,eAAe,EAAE,eAAe,CAAC;KAClC,CAAC;gBAEO,SAAS,EAAE,YAAY,EAC9B,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC;IAOH;;;;;;OAMG;IACG,MAAM,CACV,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,qBAAa,YAAY,CACvB,SAAS,SAAS,gBAAgB,EAClC,SAAS,SAAS,qBAAqB,CAAC,SAAS,CAAC;IAMzC,SAAS,EAAE,YAAY;IAJzB,OAAO,EAAE;QACd,eAAe,EAAE,eAAe,CAAC;KAClC,CAAC;gBAEO,SAAS,EAAE,YAAY,EAC9B,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,eAAe,CAAC;KACnC;IAOH;;;;;;OAMG;IACG,MAAM,CACV,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,EACxB,GAAG,EAAE,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,IAAI,EAChD,WAAW,GAAE,OAAc;IAU7B;;;;;;OAMG;IACG,WAAW,CACf,GAAG,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,EACvC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,iBAAiB;;;;;;;;;;;;;IAOnC;;;;;;OAMG;IACG,mBAAmB,CACvB,GAAG,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,EACvC,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,EACxB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,iBAAiB;;;;;;;;;;;;;IAQnC;;;;;;OAMG;IACG,YAAY,CAChB,GAAG,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,EACvC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,iBAAiB;;;;;;;;;;;;;IASnC;;;;;OAKG;IACG,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM;IAIrE;;OAEG;IACH,OAAO,CAAC,GAAG,SAAS,WAAW,KAAK,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC;CAevE;AAID,MAAM,MAAM,OAAO,CACjB,GAAG,EACH,SAAS,SAAS,gBAAgB,EAClC,SAAS,SAAS,qBAAqB,CAAC,SAAS,CAAC,IAChD,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEtE,MAAM,MAAM,MAAM,CAChB,SAAS,SAAS,gBAAgB,EAClC,SAAS,SAAS,qBAAqB,CAAC,SAAS,CAAC,IAChD;IACF,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC1B,GAAG,CACA;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAC9C,GACD;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAC9C,GACD;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,EAAE,IAAI,CAAC;CACd,CACJ,CAAC;AAEF,KAAK,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;AACpE,KAAK,WAAW,GAAG,IAAI,CACrB,kBAAkB,CAAC,gBAAgB,CAAC,EACpC,UAAU,GAAG,aAAa,CAC3B,CAAC;AACF,KAAK,SAAS,GAAG,IAAI,CACnB,gBAAgB,CAAC,gBAAgB,CAAC,EAClC,UAAU,GAAG,aAAa,GAAG,WAAW,CACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"
|
|
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
package/src/client/index.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
|
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
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
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
|
+
>;
|