document-drive 1.28.4 → 1.29.0-dev.1
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.
- package/dist/prisma/schema.prisma +6 -10
- package/dist/src/cache/memory.d.ts +5 -2
- package/dist/src/cache/memory.d.ts.map +1 -1
- package/dist/src/cache/memory.js +14 -0
- package/dist/src/cache/redis.d.ts +5 -2
- package/dist/src/cache/redis.d.ts.map +1 -1
- package/dist/src/cache/redis.js +12 -0
- package/dist/src/drive-document-model/gen/schema/zod.d.ts +8 -8
- package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
- package/dist/src/server/base-server.d.ts +1 -1
- package/dist/src/server/base-server.d.ts.map +1 -1
- package/dist/src/server/base-server.js +0 -13
- package/dist/src/server/listener/listener-manager.js +2 -2
- package/dist/src/server/listener/transmitter/pull-responder.d.ts +1 -1
- package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/pull-responder.js +2 -3
- package/dist/src/server/sync-manager.d.ts.map +1 -1
- package/dist/src/server/sync-manager.js +5 -16
- package/dist/src/server/types.d.ts +0 -1
- package/dist/src/server/types.d.ts.map +1 -1
- package/dist/src/storage/browser.d.ts +1 -3
- package/dist/src/storage/browser.d.ts.map +1 -1
- package/dist/src/storage/browser.js +36 -23
- package/dist/src/storage/filesystem.d.ts +1 -2
- package/dist/src/storage/filesystem.d.ts.map +1 -1
- package/dist/src/storage/filesystem.js +38 -33
- package/dist/src/storage/ipfs.d.ts +1 -1
- package/dist/src/storage/ipfs.d.ts.map +1 -1
- package/dist/src/storage/ipfs.js +17 -17
- package/dist/src/storage/memory.d.ts +1 -4
- package/dist/src/storage/memory.d.ts.map +1 -1
- package/dist/src/storage/memory.js +40 -42
- package/dist/src/storage/prisma/factory.d.ts +4 -3
- package/dist/src/storage/prisma/factory.d.ts.map +1 -1
- package/dist/src/storage/prisma/factory.js +5 -5
- package/dist/src/storage/prisma/index.d.ts +4 -5
- package/dist/src/storage/prisma/index.d.ts.map +1 -1
- package/dist/src/storage/prisma/index.js +33 -71
- package/dist/src/storage/types.d.ts +2 -3
- package/dist/src/storage/types.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -3,7 +3,7 @@ import type { BaseStateFromDocument, DocumentHeader, Operation, OperationFromDoc
|
|
|
3
3
|
import { type IBackOffOptions } from "exponential-backoff";
|
|
4
4
|
import { type DocumentDriveAction, type DocumentDriveDocument } from "../../drive-document-model/gen/types.js";
|
|
5
5
|
import { type SynchronizationUnitQuery } from "../../server/types.js";
|
|
6
|
-
import type { IDocumentStorage, IDriveStorage,
|
|
6
|
+
import type { IDocumentStorage, IDriveStorage, IOperationsCache } from "../types.js";
|
|
7
7
|
export * from "./factory.js";
|
|
8
8
|
type Transaction = Omit<PrismaClient<Prisma.PrismaClientOptions, never>, "$connect" | "$disconnect" | "$on" | "$transaction" | "$use" | "$extends"> | ExtendedPrismaClient;
|
|
9
9
|
export type PrismaStorageOptions = {
|
|
@@ -27,11 +27,11 @@ declare function getRetryTransactionsClient<T extends PrismaClient>(prisma: T, b
|
|
|
27
27
|
type ExtendedPrismaClient = ReturnType<typeof getRetryTransactionsClient<PrismaClient>>;
|
|
28
28
|
export declare class PrismaStorage implements IDriveStorage, IDocumentStorage {
|
|
29
29
|
private db;
|
|
30
|
-
private
|
|
31
|
-
constructor(db: PrismaClient, options?: PrismaStorageOptions);
|
|
30
|
+
private cache;
|
|
31
|
+
constructor(db: PrismaClient, cache: IOperationsCache, options?: PrismaStorageOptions);
|
|
32
32
|
exists(documentId: string): Promise<boolean>;
|
|
33
33
|
create(documentId: string, document: PHDocument): Promise<void>;
|
|
34
|
-
|
|
34
|
+
get<TDocument extends PHDocument>(documentId: string): Promise<TDocument>;
|
|
35
35
|
createDrive(id: string, drive: DocumentDriveDocument): Promise<void>;
|
|
36
36
|
addDriveOperations(id: string, operations: Operation<DocumentDriveAction>[], header: DocumentHeader): Promise<void>;
|
|
37
37
|
addDriveOperationsWithTransaction(drive: string, callback: (document: DocumentDriveDocument) => Promise<{
|
|
@@ -57,7 +57,6 @@ export declare class PrismaStorage implements IDriveStorage, IDocumentStorage {
|
|
|
57
57
|
getOperationResultingState(driveId: string, documentId: string, index: number, scope: string, branch: string): Promise<string | undefined>;
|
|
58
58
|
getDriveOperationResultingState(drive: string, index: number, scope: string, branch: string): Promise<string | undefined>;
|
|
59
59
|
getSynchronizationUnitsRevision(units: SynchronizationUnitQuery[]): Promise<{
|
|
60
|
-
driveId: string;
|
|
61
60
|
documentId: string;
|
|
62
61
|
scope: string;
|
|
63
62
|
branch: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/prisma/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,KAAK,EAEV,qBAAqB,EACrB,cAAc,EAGd,SAAS,EACT,qBAAqB,EAGrB,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,eAAe,EAAW,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,cAAc,cAAc,CAAC;AAE7B,KAAK,WAAW,GACZ,IAAI,CACF,YAAY,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAC/C,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAC1E,GACD,oBAAoB,CAAC;AA2BzB,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB,CAAC,EAAE,eAAe,CAAC;CAC3C,CAAC;AAEF,iBAAS,0BAA0B,CAAC,CAAC,SAAS,YAAY,EACxD,MAAM,EAAE,CAAC,EACT,cAAc,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;;;;;sCAIb,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;;;;;;;sCAA7B,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;;OAiB1D;AAED,KAAK,oBAAoB,GAAG,UAAU,CACpC,OAAO,0BAA0B,CAAC,YAAY,CAAC,CAChD,CAAC;AAEF,qBAAa,aAAc,YAAW,aAAa,EAAE,gBAAgB;IACnE,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/storage/prisma/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,9 +46,10 @@ function getRetryTransactionsClient(prisma, backOffOptions) {
|
|
|
46
46
|
}
|
|
47
47
|
export class PrismaStorage {
|
|
48
48
|
db;
|
|
49
|
-
|
|
50
|
-
constructor(db, options) {
|
|
49
|
+
cache;
|
|
50
|
+
constructor(db, cache, options) {
|
|
51
51
|
const backOffOptions = options?.transactionRetryBackoff;
|
|
52
|
+
this.cache = cache;
|
|
52
53
|
this.db = getRetryTransactionsClient(db, {
|
|
53
54
|
...backOffOptions,
|
|
54
55
|
jitter: backOffOptions?.jitter ?? "full",
|
|
@@ -83,59 +84,37 @@ export class PrismaStorage {
|
|
|
83
84
|
},
|
|
84
85
|
});
|
|
85
86
|
}
|
|
87
|
+
async get(documentId) {
|
|
88
|
+
throw new Error("Not implemented");
|
|
89
|
+
}
|
|
86
90
|
////////////////////////////////
|
|
87
91
|
// IDriveStorage
|
|
88
92
|
////////////////////////////////
|
|
89
|
-
setStorageDelegate(delegate) {
|
|
90
|
-
this.delegate = delegate;
|
|
91
|
-
}
|
|
92
93
|
async createDrive(id, drive) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
lastModified: drive.lastModified,
|
|
99
|
-
revision: JSON.stringify(drive.revision),
|
|
100
|
-
meta: drive.meta ? JSON.stringify(drive.meta) : undefined,
|
|
101
|
-
id,
|
|
102
|
-
};
|
|
103
|
-
await this.db.document.upsert({
|
|
104
|
-
where: {
|
|
105
|
-
id,
|
|
106
|
-
},
|
|
107
|
-
update: doc,
|
|
108
|
-
create: doc,
|
|
109
|
-
});
|
|
110
|
-
// backwards compatibility -- if the drive has a slug, check if it already exists
|
|
111
|
-
if (drive.initialState.state.global.slug) {
|
|
112
|
-
const existingDrive = await this.db.drive.findFirst({
|
|
113
|
-
where: {
|
|
114
|
-
slug: drive.initialState.state.global.slug,
|
|
94
|
+
try {
|
|
95
|
+
await this.db.drive.create({
|
|
96
|
+
data: {
|
|
97
|
+
id,
|
|
98
|
+
slug: drive.initialState.state.global.slug ?? id,
|
|
115
99
|
},
|
|
116
100
|
});
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
id,
|
|
122
|
-
slug: drive.initialState.state.global.slug,
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
return;
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
if (e instanceof PrismaClientKnownRequestError && e.code === "P2002") {
|
|
104
|
+
throw new Error(`Drive with slug ${drive.initialState.state.global.slug ?? id} already exists`);
|
|
126
105
|
}
|
|
106
|
+
throw e;
|
|
127
107
|
}
|
|
128
|
-
await this.db.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
108
|
+
await this.db.document.create({
|
|
109
|
+
data: {
|
|
110
|
+
name: drive.name,
|
|
111
|
+
documentType: drive.documentType,
|
|
112
|
+
isDrive: true,
|
|
113
|
+
initialState: JSON.stringify(drive.initialState),
|
|
114
|
+
lastModified: drive.lastModified,
|
|
115
|
+
revision: JSON.stringify(drive.revision),
|
|
116
|
+
meta: drive.meta ? JSON.stringify(drive.meta) : undefined,
|
|
137
117
|
id,
|
|
138
|
-
slug: drive.initialState.state.global.slug ?? id,
|
|
139
118
|
},
|
|
140
119
|
});
|
|
141
120
|
}
|
|
@@ -161,7 +140,6 @@ export class PrismaStorage {
|
|
|
161
140
|
try {
|
|
162
141
|
await tx.operation.createMany({
|
|
163
142
|
data: operations.map((op) => ({
|
|
164
|
-
driveId: drive,
|
|
165
143
|
documentId: id,
|
|
166
144
|
hash: op.hash,
|
|
167
145
|
index: op.index,
|
|
@@ -295,19 +273,11 @@ export class PrismaStorage {
|
|
|
295
273
|
id,
|
|
296
274
|
},
|
|
297
275
|
};
|
|
298
|
-
if (driveId !== "drives") {
|
|
299
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
300
|
-
query.where.driveDocuments = {
|
|
301
|
-
some: {
|
|
302
|
-
driveId,
|
|
303
|
-
},
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
276
|
const result = await prisma.document.findUnique(query);
|
|
307
277
|
if (result === null) {
|
|
308
278
|
throw new Error(`Document with id ${id} not found`);
|
|
309
279
|
}
|
|
310
|
-
const cachedOperations = (await this.
|
|
280
|
+
const cachedOperations = (await this.cache.getCachedOperations(driveId, id)) ?? {
|
|
311
281
|
global: [],
|
|
312
282
|
local: [],
|
|
313
283
|
};
|
|
@@ -347,10 +317,10 @@ export class PrismaStorage {
|
|
|
347
317
|
ELSE NULL
|
|
348
318
|
END AS "resultingState"
|
|
349
319
|
FROM ranked_operations
|
|
350
|
-
WHERE "
|
|
320
|
+
WHERE "documentId" = $1
|
|
351
321
|
AND (${conditions.join(" OR ")})
|
|
352
322
|
ORDER BY scope, index;
|
|
353
|
-
`,
|
|
323
|
+
`, id);
|
|
354
324
|
const operationIds = queryOperations.map((o) => o.id);
|
|
355
325
|
const attachments = await prisma.attachment.findMany({
|
|
356
326
|
where: {
|
|
@@ -474,7 +444,6 @@ export class PrismaStorage {
|
|
|
474
444
|
const operation = await this.db.operation.findUnique({
|
|
475
445
|
where: {
|
|
476
446
|
unique_operation: {
|
|
477
|
-
driveId,
|
|
478
447
|
documentId,
|
|
479
448
|
index,
|
|
480
449
|
scope,
|
|
@@ -491,26 +460,19 @@ export class PrismaStorage {
|
|
|
491
460
|
// TODO add branch condition
|
|
492
461
|
const whereClauses = units
|
|
493
462
|
.map((_, index) => {
|
|
494
|
-
return `("
|
|
463
|
+
return `("documentId" = $${index * 2 + 1} AND "scope" = $${index * 2 + 2})`;
|
|
495
464
|
})
|
|
496
465
|
.join(" OR ");
|
|
497
466
|
const query = `
|
|
498
|
-
SELECT "
|
|
467
|
+
SELECT "documentId", "scope", "branch", MAX("timestamp") as "lastUpdated", MAX("index") as revision FROM "Operation"
|
|
499
468
|
WHERE ${whereClauses}
|
|
500
|
-
GROUP BY "
|
|
469
|
+
GROUP BY "documentId", "scope", "branch"
|
|
501
470
|
`;
|
|
502
|
-
const params = units
|
|
503
|
-
.map((unit) => [
|
|
504
|
-
unit.documentId ? unit.driveId : "drives",
|
|
505
|
-
unit.documentId || unit.driveId,
|
|
506
|
-
unit.scope,
|
|
507
|
-
])
|
|
508
|
-
.flat();
|
|
471
|
+
const params = units.map((unit) => [unit.documentId, unit.scope]).flat();
|
|
509
472
|
const results = await this.db.$queryRawUnsafe(query, ...params);
|
|
510
473
|
return results.map((row) => ({
|
|
511
474
|
...row,
|
|
512
|
-
|
|
513
|
-
documentId: row.driveId === "drives" ? "" : row.documentId,
|
|
475
|
+
documentId: row.documentId,
|
|
514
476
|
lastUpdated: new Date(row.lastUpdated).toISOString(),
|
|
515
477
|
}));
|
|
516
478
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type DocumentDriveDocument } from "#drive-document-model/gen/types";
|
|
2
2
|
import { type SynchronizationUnitQuery } from "#server/types";
|
|
3
3
|
import type { DocumentHeader, Operation, OperationFromDocument, OperationsFromDocument, PHDocument } from "document-model";
|
|
4
|
-
export interface
|
|
4
|
+
export interface IOperationsCache {
|
|
5
5
|
getCachedOperations<TDocument extends PHDocument = PHDocument>(drive: string, id: string): Promise<OperationsFromDocument<TDocument> | undefined>;
|
|
6
6
|
}
|
|
7
7
|
export interface IDocumentStorage {
|
|
8
8
|
exists(documentId: string): Promise<boolean>;
|
|
9
9
|
create(documentId: string, document: PHDocument): Promise<void>;
|
|
10
|
+
get<TDocument extends PHDocument>(documentId: string): Promise<TDocument>;
|
|
10
11
|
}
|
|
11
12
|
export interface IStorage {
|
|
12
13
|
checkDocumentExists(drive: string, id: string): Promise<boolean>;
|
|
@@ -20,9 +21,7 @@ export interface IStorage {
|
|
|
20
21
|
}>): Promise<void>;
|
|
21
22
|
deleteDocument(drive: string, id: string): Promise<void>;
|
|
22
23
|
getOperationResultingState?(drive: string, id: string, index: number, scope: string, branch: string): Promise<string | undefined>;
|
|
23
|
-
setStorageDelegate?(delegate: IStorageDelegate): void;
|
|
24
24
|
getSynchronizationUnitsRevision(units: SynchronizationUnitQuery[]): Promise<{
|
|
25
|
-
driveId: string;
|
|
26
25
|
documentId: string;
|
|
27
26
|
scope: string;
|
|
28
27
|
branch: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,qBAAqB,EACrB,sBAAsB,EACtB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,CAAC,SAAS,SAAS,UAAU,GAAG,UAAU,EAC3D,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"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"}
|