document-drive 1.29.8-dev.0 → 1.29.8-dev.2
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/src/cache/types.d.ts +2 -0
- package/dist/src/cache/types.d.ts.map +1 -1
- package/dist/src/queue/base.d.ts.map +1 -1
- package/dist/src/queue/base.js +1 -2
- package/dist/src/queue/types.d.ts +1 -1
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/server/base-server.d.ts +2 -2
- package/dist/src/server/base-server.d.ts.map +1 -1
- package/dist/src/server/base-server.js +45 -32
- package/dist/src/server/builder.d.ts +1 -1
- package/dist/src/server/builder.d.ts.map +1 -1
- package/dist/src/server/builder.js +3 -1
- package/dist/src/server/error.d.ts +3 -3
- package/dist/src/server/error.d.ts.map +1 -1
- package/dist/src/server/error.js +5 -5
- package/dist/src/server/listener/transmitter/internal.d.ts +2 -3
- package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
- package/dist/src/server/listener/transmitter/internal.js +1 -3
- package/dist/src/server/sync-manager.d.ts +3 -2
- package/dist/src/server/sync-manager.d.ts.map +1 -1
- package/dist/src/server/sync-manager.js +5 -3
- package/dist/src/storage/browser.d.ts +0 -6
- package/dist/src/storage/browser.d.ts.map +1 -1
- package/dist/src/storage/browser.js +10 -50
- package/dist/src/storage/filesystem.d.ts +0 -6
- package/dist/src/storage/filesystem.d.ts.map +1 -1
- package/dist/src/storage/filesystem.js +7 -62
- package/dist/src/storage/ipfs.d.ts +0 -5
- package/dist/src/storage/ipfs.d.ts.map +1 -1
- package/dist/src/storage/ipfs.js +6 -55
- package/dist/src/storage/memory.d.ts +0 -6
- package/dist/src/storage/memory.d.ts.map +1 -1
- package/dist/src/storage/memory.js +7 -38
- package/dist/src/storage/prisma/factory.d.ts +1 -1
- package/dist/src/storage/prisma/factory.d.ts.map +1 -1
- package/dist/src/storage/prisma/factory.js +1 -1
- package/dist/src/storage/prisma/{index.d.ts → prisma.d.ts} +1 -7
- package/dist/src/storage/prisma/prisma.d.ts.map +1 -0
- package/dist/src/storage/prisma/{index.js → prisma.js} +4 -52
- package/dist/src/storage/types.d.ts +50 -6
- package/dist/src/storage/types.d.ts.map +1 -1
- package/dist/src/utils/default-drives-manager.d.ts.map +1 -1
- package/dist/src/utils/default-drives-manager.js +1 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/src/storage/prisma/index.d.ts.map +0 -1
- package/dist/src/storage/sequelize.d.ts +0 -2
- package/dist/src/storage/sequelize.d.ts.map +0 -1
- package/dist/src/storage/sequelize.js +0 -517
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { type DocumentDriveDocument } from "#drive-document-model/gen/types";
|
|
2
2
|
import { type PHDocument } from "document-model";
|
|
3
|
+
export interface IDocumentCache {
|
|
4
|
+
}
|
|
3
5
|
export interface ICache {
|
|
4
6
|
setDocument(documentId: string, document: PHDocument): Promise<void>;
|
|
5
7
|
getDocument<TDocument extends PHDocument>(documentId: string): Promise<TDocument | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,MAAM;IAGrB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrE,WAAW,CAAC,SAAS,SAAS,UAAU,EACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAElC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAIrD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIvE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAGtE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAEzE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,cAAc;CAAG;AAElC,MAAM,WAAW,MAAM;IAGrB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrE,WAAW,CAAC,SAAS,SAAS,UAAU,EACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAElC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAIrD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIvE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAGtE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAEzE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/queue/base.ts"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,eAAe,EAEpB,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,YAAY,CAA0B;gBAElC,EAAE,EAAE,MAAM;IAIhB,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,SAAS;IAIT,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAKpB,UAAU;IAKV,YAAY;IAIlB,KAAK;IAIC,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,SAAS;IAIT,OAAO;IAIP,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;IAS9B,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;CAQxC;AAED,qBAAa,gBAAiB,YAAW,aAAa;IACpD,SAAS,CAAC,OAAO,4CAAmC;IACpD,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAM;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAA8B;gBAElC,OAAO,SAAI,EAAE,OAAO,SAAI;IAK9B,IAAI,CACR,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC;IAWV,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/queue/base.ts"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,eAAe,EAEpB,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,YAAY,CAA0B;gBAElC,EAAE,EAAE,MAAM;IAIhB,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,SAAS;IAIT,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAKpB,UAAU;IAKV,YAAY;IAIlB,KAAK;IAIC,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,SAAS;IAIT,OAAO;IAIP,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;IAS9B,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;CAQxC;AAED,qBAAa,gBAAiB,YAAW,aAAa;IACpD,SAAS,CAAC,OAAO,4CAAmC;IACpD,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAM;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAA8B;gBAElC,OAAO,SAAI,EAAE,OAAO,SAAI;IAK9B,IAAI,CACR,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC;IAWV,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;IA6DtC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAY7C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAMhD,eAAe,CAAC,KAAK,EAAE,MAAM;IAS7B,SAAS;IAIT,OAAO,CAAC,YAAY;YAON,sBAAsB;YAatB,cAAc;IA0E5B,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,EACxC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAK9B,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EACnC,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GACjB,WAAW;IAId,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAG1D"}
|
package/dist/src/queue/base.js
CHANGED
|
@@ -83,8 +83,7 @@ export class BaseQueueManager {
|
|
|
83
83
|
throw new Error("Queue is deleted");
|
|
84
84
|
}
|
|
85
85
|
// checks if the job is for a document that doesn't exist in storage yet
|
|
86
|
-
const newDocument = job.documentId &&
|
|
87
|
-
!(await this.delegate.checkDocumentExists(job.documentId));
|
|
86
|
+
const newDocument = job.documentId && !(await this.delegate.exists(job.documentId));
|
|
88
87
|
// if it is a new document and queue is not yet blocked then
|
|
89
88
|
// blocks it so the jobs are not processed until it's ready
|
|
90
89
|
if (newDocument && !(await queue.isBlocked())) {
|
|
@@ -21,7 +21,7 @@ export interface QueueEvents {
|
|
|
21
21
|
queueRemoved: (queueId: string) => void;
|
|
22
22
|
}
|
|
23
23
|
export interface IServerDelegate {
|
|
24
|
-
|
|
24
|
+
exists: (documentId: string) => Promise<boolean>;
|
|
25
25
|
processJob: (job: Job) => Promise<IOperationResult>;
|
|
26
26
|
}
|
|
27
27
|
export interface IQueueManager {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,YAAa,SAAQ,OAAO;IAC3C,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,SAAU,SAAQ,OAAO;IACxC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,GAAG,GAAG,YAAY,GAAG,SAAS,CAAC;AAE3C,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjE,SAAS,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,eAAe;IAC9B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { type AddOperationOptions, type Constructor, type CreateDocumentInput, t
|
|
|
10
10
|
export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer, IDefaultDrivesManager {
|
|
11
11
|
private logger;
|
|
12
12
|
private documentModelModules;
|
|
13
|
-
private
|
|
13
|
+
private legacyStorage;
|
|
14
14
|
private documentStorage;
|
|
15
15
|
private cache;
|
|
16
16
|
private queueManager;
|
|
@@ -53,7 +53,7 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
|
|
|
53
53
|
getDocument<TDocument extends PHDocument>(driveId: string, documentId: string, options?: GetDocumentOptions): Promise<TDocument>;
|
|
54
54
|
getDocuments(driveId: string): Promise<string[]>;
|
|
55
55
|
protected createDocument<TDocument extends PHDocument>(driveId: string, input: CreateDocumentInput<TDocument>): Promise<TDocument>;
|
|
56
|
-
deleteDocument(driveId: string, documentId: string): Promise<
|
|
56
|
+
deleteDocument(driveId: string, documentId: string): Promise<boolean>;
|
|
57
57
|
_processOperations(driveId: string, documentId: string | undefined, documentStorage: PHDocument, operations: Operation[]): Promise<{
|
|
58
58
|
readonly document: PHDocument;
|
|
59
59
|
readonly operationsApplied: Operation[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,aAAa,EAKnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAI3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,mBAAmB,EACxB,KAAK,SAAS,EAEd,KAAK,UAAU,EAYhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAGL,cAAc,EACd,KAAK,gCAAgC,EACtC,MAAM,YAAY,CAAC;AAOpB,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAExB,KAAK,0BAA0B,EAC/B,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAG5B,KAAK,KAAK,EACV,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAEjB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,YAAY,CAAC;AAGpB,qBAAa,uBACX,YAAW,wBAAwB,EAAE,qBAAqB;IAE1D,OAAO,CAAC,MAAM,CAA4C;IAG1D,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export class BaseDocumentDriveServer {
|
|
|
18
18
|
logger = childLogger(["BaseDocumentDriveServer"]);
|
|
19
19
|
// external dependencies
|
|
20
20
|
documentModelModules;
|
|
21
|
-
|
|
21
|
+
legacyStorage;
|
|
22
22
|
documentStorage;
|
|
23
23
|
cache;
|
|
24
24
|
queueManager;
|
|
@@ -33,11 +33,11 @@ export class BaseDocumentDriveServer {
|
|
|
33
33
|
emit: (...args) => this.eventEmitter.emit("defaultRemoteDrive", ...args),
|
|
34
34
|
};
|
|
35
35
|
queueDelegate = {
|
|
36
|
-
|
|
36
|
+
exists: (documentId) => this.documentStorage.exists(documentId),
|
|
37
37
|
processOperationJob: async ({ driveId, documentId, operations, options, }) => {
|
|
38
|
-
return documentId
|
|
39
|
-
? this.
|
|
40
|
-
: this.
|
|
38
|
+
return !documentId || driveId === documentId
|
|
39
|
+
? this.addDriveOperations(driveId, operations, options)
|
|
40
|
+
: this.addOperations(driveId, documentId, operations, options);
|
|
41
41
|
},
|
|
42
42
|
processActionJob: async ({ driveId, documentId, actions, options, }) => {
|
|
43
43
|
return documentId
|
|
@@ -61,7 +61,7 @@ export class BaseDocumentDriveServer {
|
|
|
61
61
|
initializePromise;
|
|
62
62
|
constructor(documentModelModules, storage, documentStorage, cache, queueManager, eventEmitter, synchronizationManager, listenerManager, options) {
|
|
63
63
|
this.documentModelModules = documentModelModules;
|
|
64
|
-
this.
|
|
64
|
+
this.legacyStorage = storage;
|
|
65
65
|
this.documentStorage = documentStorage;
|
|
66
66
|
this.cache = cache;
|
|
67
67
|
this.queueManager = queueManager;
|
|
@@ -322,7 +322,7 @@ export class BaseDocumentDriveServer {
|
|
|
322
322
|
if (!id) {
|
|
323
323
|
throw new Error("Invalid Drive Id");
|
|
324
324
|
}
|
|
325
|
-
const drives = await this.
|
|
325
|
+
const drives = await this.legacyStorage.getDrives();
|
|
326
326
|
if (drives.includes(id)) {
|
|
327
327
|
throw new DriveAlreadyExistsError(id);
|
|
328
328
|
}
|
|
@@ -332,7 +332,7 @@ export class BaseDocumentDriveServer {
|
|
|
332
332
|
document.meta = {
|
|
333
333
|
preferredEditor: preferredEditor,
|
|
334
334
|
};
|
|
335
|
-
await this.
|
|
335
|
+
await this.legacyStorage.createDrive(id, document);
|
|
336
336
|
if (input.global.slug) {
|
|
337
337
|
await this.cache.deleteDriveBySlug(input.global.slug);
|
|
338
338
|
}
|
|
@@ -367,7 +367,7 @@ export class BaseDocumentDriveServer {
|
|
|
367
367
|
this.stopSyncRemoteDrive(driveId),
|
|
368
368
|
this.listenerManager.removeDrive(driveId),
|
|
369
369
|
this.cache.deleteDrive(driveId),
|
|
370
|
-
this.
|
|
370
|
+
this.legacyStorage.deleteDrive(driveId),
|
|
371
371
|
]);
|
|
372
372
|
result.forEach((r) => {
|
|
373
373
|
if (r.status === "rejected") {
|
|
@@ -376,7 +376,7 @@ export class BaseDocumentDriveServer {
|
|
|
376
376
|
});
|
|
377
377
|
}
|
|
378
378
|
getDrives() {
|
|
379
|
-
return this.
|
|
379
|
+
return this.legacyStorage.getDrives();
|
|
380
380
|
}
|
|
381
381
|
async getDrive(driveId, options) {
|
|
382
382
|
let document;
|
|
@@ -392,7 +392,7 @@ export class BaseDocumentDriveServer {
|
|
|
392
392
|
catch (e) {
|
|
393
393
|
this.logger.error("Error getting drive from cache", e);
|
|
394
394
|
}
|
|
395
|
-
const driveStorage = document ?? (await this.
|
|
395
|
+
const driveStorage = document ?? (await this.documentStorage.get(driveId));
|
|
396
396
|
const result = this._buildDocument(driveStorage, options);
|
|
397
397
|
if (!isDocumentDrive(result)) {
|
|
398
398
|
throw new Error(`Document with id ${driveId} is not a Document Drive`);
|
|
@@ -414,7 +414,7 @@ export class BaseDocumentDriveServer {
|
|
|
414
414
|
catch (e) {
|
|
415
415
|
this.logger.error("Error getting drive from cache", e);
|
|
416
416
|
}
|
|
417
|
-
const driveStorage = await this.
|
|
417
|
+
const driveStorage = await this.legacyStorage.getDriveBySlug(slug);
|
|
418
418
|
const document = this._buildDocument(driveStorage, options);
|
|
419
419
|
if (!isDocumentDrive(document)) {
|
|
420
420
|
throw new Error(`Document with slug ${slug} is not a Document Drive`);
|
|
@@ -435,8 +435,7 @@ export class BaseDocumentDriveServer {
|
|
|
435
435
|
catch (e) {
|
|
436
436
|
this.logger.error("Error getting document from cache", e);
|
|
437
437
|
}
|
|
438
|
-
const documentStorage = cachedDocument ??
|
|
439
|
-
(await this.storage.getDocument(driveId, documentId));
|
|
438
|
+
const documentStorage = cachedDocument ?? (await this.documentStorage.get(documentId));
|
|
440
439
|
const document = this._buildDocument(documentStorage, options);
|
|
441
440
|
if (!options?.revisions) {
|
|
442
441
|
this.cache.setDocument(documentId, document).catch(this.logger.error);
|
|
@@ -444,7 +443,7 @@ export class BaseDocumentDriveServer {
|
|
|
444
443
|
return document;
|
|
445
444
|
}
|
|
446
445
|
getDocuments(driveId) {
|
|
447
|
-
return this.
|
|
446
|
+
return this.documentStorage.getChildren(driveId);
|
|
448
447
|
}
|
|
449
448
|
async createDocument(driveId, input) {
|
|
450
449
|
// if a document was provided then checks if it's valid
|
|
@@ -471,7 +470,21 @@ export class BaseDocumentDriveServer {
|
|
|
471
470
|
clipboard: [],
|
|
472
471
|
state: state ?? document.state,
|
|
473
472
|
};
|
|
474
|
-
await this.
|
|
473
|
+
await this.documentStorage.create(input.id, documentStorage);
|
|
474
|
+
try {
|
|
475
|
+
await this.documentStorage.addChild(driveId, input.id);
|
|
476
|
+
}
|
|
477
|
+
catch (e) {
|
|
478
|
+
this.logger.error("Error adding child document", e);
|
|
479
|
+
// revert the document creation
|
|
480
|
+
try {
|
|
481
|
+
await this.documentStorage.delete(input.id);
|
|
482
|
+
}
|
|
483
|
+
catch (e) {
|
|
484
|
+
this.logger.error("FATAL: Could not revert document creation. This means that we created a document but failed to add it to the drive..", e);
|
|
485
|
+
}
|
|
486
|
+
throw e;
|
|
487
|
+
}
|
|
475
488
|
// set initial state for new syncUnits
|
|
476
489
|
for (const syncUnit of input.synchronizationUnits) {
|
|
477
490
|
this.synchronizationManager.updateSyncStatus(syncUnit.syncId, {
|
|
@@ -486,10 +499,10 @@ export class BaseDocumentDriveServer {
|
|
|
486
499
|
const operations = Object.values(document.operations).flat();
|
|
487
500
|
if (operations.length) {
|
|
488
501
|
if (isDocumentDrive(document)) {
|
|
489
|
-
await this.
|
|
502
|
+
await this.legacyStorage.addDriveOperations(driveId, operations, document);
|
|
490
503
|
}
|
|
491
504
|
else {
|
|
492
|
-
await this.
|
|
505
|
+
await this.legacyStorage.addDocumentOperations(driveId, input.id, operations, document);
|
|
493
506
|
}
|
|
494
507
|
}
|
|
495
508
|
return document;
|
|
@@ -509,7 +522,7 @@ export class BaseDocumentDriveServer {
|
|
|
509
522
|
this.logger.warn("Error deleting document", error);
|
|
510
523
|
}
|
|
511
524
|
await this.cache.deleteDocument(documentId);
|
|
512
|
-
return this.
|
|
525
|
+
return this.documentStorage.delete(documentId);
|
|
513
526
|
}
|
|
514
527
|
async _processOperations(driveId, documentId, documentStorage, operations) {
|
|
515
528
|
const operationsApplied = [];
|
|
@@ -584,8 +597,8 @@ export class BaseDocumentDriveServer {
|
|
|
584
597
|
// to retrieve it from the db to avoid rerunning all the operations
|
|
585
598
|
if (lastRemainingOperation && !lastRemainingOperation.resultingState) {
|
|
586
599
|
lastRemainingOperation.resultingState = await (documentId
|
|
587
|
-
? this.
|
|
588
|
-
: this.
|
|
600
|
+
? this.legacyStorage.getOperationResultingState?.(driveId, documentId, lastRemainingOperation.index, lastRemainingOperation.scope, "main")
|
|
601
|
+
: this.legacyStorage.getDriveOperationResultingState?.(driveId, lastRemainingOperation.index, lastRemainingOperation.scope, "main"));
|
|
589
602
|
}
|
|
590
603
|
}
|
|
591
604
|
return {
|
|
@@ -624,8 +637,8 @@ export class BaseDocumentDriveServer {
|
|
|
624
637
|
// to retrieve it from the db to avoid rerunning all the operations
|
|
625
638
|
if (lastRemainingOperation && !lastRemainingOperation.resultingState) {
|
|
626
639
|
lastRemainingOperation.resultingState = await (documentId
|
|
627
|
-
? this.
|
|
628
|
-
: this.
|
|
640
|
+
? this.legacyStorage.getOperationResultingState?.(driveId, documentId, lastRemainingOperation.index, lastRemainingOperation.scope, "main")
|
|
641
|
+
: this.legacyStorage.getDriveOperationResultingState?.(driveId, lastRemainingOperation.index, lastRemainingOperation.scope, "main"));
|
|
629
642
|
}
|
|
630
643
|
const operationSignals = [];
|
|
631
644
|
newDocument = documentModelModule.reducer(newDocument, operation, (signal) => {
|
|
@@ -674,16 +687,16 @@ export class BaseDocumentDriveServer {
|
|
|
674
687
|
return this.addOperations(driveId, documentId, [operation], options);
|
|
675
688
|
}
|
|
676
689
|
async _addOperations(driveId, documentId, callback) {
|
|
677
|
-
if (!this.
|
|
678
|
-
const documentStorage = await this.
|
|
690
|
+
if (!this.legacyStorage.addDocumentOperationsWithTransaction) {
|
|
691
|
+
const documentStorage = await this.documentStorage.get(documentId);
|
|
679
692
|
const result = await callback(documentStorage);
|
|
680
693
|
// saves the applied operations to storage
|
|
681
694
|
if (result.operations.length > 0) {
|
|
682
|
-
await this.
|
|
695
|
+
await this.legacyStorage.addDocumentOperations(driveId, documentId, result.operations, result.header);
|
|
683
696
|
}
|
|
684
697
|
}
|
|
685
698
|
else {
|
|
686
|
-
await this.
|
|
699
|
+
await this.legacyStorage.addDocumentOperationsWithTransaction(driveId, documentId, callback);
|
|
687
700
|
}
|
|
688
701
|
}
|
|
689
702
|
queueOperation(driveId, documentId, operation, options) {
|
|
@@ -937,20 +950,20 @@ export class BaseDocumentDriveServer {
|
|
|
937
950
|
for (const drive of await this.getDrives()) {
|
|
938
951
|
await this.deleteDrive(drive);
|
|
939
952
|
}
|
|
940
|
-
await this.
|
|
953
|
+
await this.legacyStorage.clearStorage?.();
|
|
941
954
|
}
|
|
942
955
|
async _addDriveOperations(driveId, callback) {
|
|
943
|
-
if (!this.
|
|
944
|
-
const documentStorage = await this.
|
|
956
|
+
if (!this.legacyStorage.addDriveOperationsWithTransaction) {
|
|
957
|
+
const documentStorage = await this.documentStorage.get(driveId);
|
|
945
958
|
const result = await callback(documentStorage);
|
|
946
959
|
// saves the applied operations to storage
|
|
947
960
|
if (result.operations.length > 0) {
|
|
948
|
-
await this.
|
|
961
|
+
await this.legacyStorage.addDriveOperations(driveId, result.operations, result.header);
|
|
949
962
|
}
|
|
950
963
|
return result;
|
|
951
964
|
}
|
|
952
965
|
else {
|
|
953
|
-
return this.
|
|
966
|
+
return this.legacyStorage.addDriveOperationsWithTransaction(driveId, callback);
|
|
954
967
|
}
|
|
955
968
|
}
|
|
956
969
|
queueDriveOperation(driveId, operation, options) {
|
|
@@ -2,7 +2,7 @@ import { type DocumentModelModule } from "document-model";
|
|
|
2
2
|
import { type ICache } from "../cache/types.js";
|
|
3
3
|
import { type IQueueManager } from "../queue/types.js";
|
|
4
4
|
import { type IDriveStorage } from "../storage/types.js";
|
|
5
|
-
import { type
|
|
5
|
+
import { type DocumentDriveServerOptions, type IDocumentDriveServer, type IEventEmitter, type IListenerManager, type ISynchronizationManager, type ITransmitterFactory } from "./types.js";
|
|
6
6
|
/**
|
|
7
7
|
* Builder class for constructing Reactor instances with proper configuration
|
|
8
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMhF,OAAO,EAEL,KAAK,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../src/server/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMhF,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,cAAc;IAClB,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;IAEjD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;IACjD,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC,kBAAkB,CAAC,EAAE,mBAAmB,CAAC;gBAEpC,oBAAoB,EAAE,mBAAmB,EAAE;IAIhD,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAKzC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAKnD,gBAAgB,CAAC,YAAY,EAAE,aAAa,GAAG,IAAI;IAKnD,0BAA0B,CAC/B,sBAAsB,EAAE,uBAAuB,GAC9C,IAAI;IAKA,mBAAmB,CAAC,eAAe,EAAE,gBAAgB,GAAG,IAAI;IAK5D,sBAAsB,CAAC,kBAAkB,EAAE,mBAAmB,GAAG,IAAI;IAKrE,WAAW,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI;IAKtD,KAAK,IAAI,oBAAoB;CA6DrC"}
|
|
@@ -72,7 +72,9 @@ export class ReactorBuilder {
|
|
|
72
72
|
this.eventEmitter = new DefaultEventEmitter();
|
|
73
73
|
}
|
|
74
74
|
if (!this.synchronizationManager) {
|
|
75
|
-
this.synchronizationManager = new SynchronizationManager(this.storage,
|
|
75
|
+
this.synchronizationManager = new SynchronizationManager(this.storage,
|
|
76
|
+
// as we refactor, we're secretly making all the IStorage implementations also implement IDocumentStorage
|
|
77
|
+
this.storage, this.cache, this.documentModelModules, this.eventEmitter);
|
|
76
78
|
}
|
|
77
79
|
if (!this.listenerManager) {
|
|
78
80
|
const config = {
|
|
@@ -19,9 +19,9 @@ export declare class DriveAlreadyExistsError extends Error {
|
|
|
19
19
|
driveId: string;
|
|
20
20
|
constructor(driveId: string);
|
|
21
21
|
}
|
|
22
|
-
export declare class
|
|
23
|
-
|
|
24
|
-
constructor(
|
|
22
|
+
export declare class DocumentNotFoundError extends Error {
|
|
23
|
+
documentId: string;
|
|
24
|
+
constructor(documentId: string);
|
|
25
25
|
}
|
|
26
26
|
export declare class SynchronizationUnitNotFoundError extends Error {
|
|
27
27
|
syncUnitId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/server/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,0BAA2B,SAAQ,KAAK;IAE1C,EAAE,EAAE,MAAM;gBAAV,EAAE,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,OAAO;CAIlB;AACD,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;gBAG/B,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO;CAMlB;AAED,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS;CAQlE;AAED,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;CAGhD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/server/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,0BAA2B,SAAQ,KAAK;IAE1C,EAAE,EAAE,MAAM;gBAAV,EAAE,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,OAAO;CAIlB;AACD,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;gBAG/B,MAAM,EAAE,WAAW,EACnB,SAAS,CAAC,EAAE,SAAS,EACrB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,OAAO;CAMlB;AAED,qBAAa,sBAAuB,SAAQ,cAAc;gBAC5C,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS;CAQlE;AAED,qBAAa,qBAAsB,SAAQ,cAAc;gBAC3C,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;CAGhD;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,OAAO,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,UAAU,EAAE,MAAM,CAAC;gBAEP,UAAU,EAAE,MAAM;CAI/B;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,UAAU,EAAE,MAAM,CAAC;gBAEP,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;CAIhD"}
|
package/dist/src/server/error.js
CHANGED
|
@@ -31,11 +31,11 @@ export class DriveAlreadyExistsError extends Error {
|
|
|
31
31
|
this.driveId = driveId;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
-
export class
|
|
35
|
-
|
|
36
|
-
constructor(
|
|
37
|
-
super(`
|
|
38
|
-
this.
|
|
34
|
+
export class DocumentNotFoundError extends Error {
|
|
35
|
+
documentId;
|
|
36
|
+
constructor(documentId) {
|
|
37
|
+
super(`Document with id ${documentId} not found`);
|
|
38
|
+
this.documentId = documentId;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
export class SynchronizationUnitNotFoundError extends Error {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type GlobalStateFromDocument, type LocalStateFromDocument, type OperationFromDocument, type OperationScope, type PHDocument } from "document-model";
|
|
2
|
-
import { type
|
|
2
|
+
import { type IBaseDocumentDriveServer, type IDocumentDriveServer, type ListenerRevision, type StrandUpdate } from "#server/types";
|
|
3
3
|
import { type ITransmitter, type StrandUpdateSource } from "./types.js";
|
|
4
4
|
export interface IReceiver {
|
|
5
5
|
onStrands: <TDocument extends PHDocument>(strands: InternalTransmitterUpdate<TDocument>[]) => Promise<void>;
|
|
@@ -20,9 +20,8 @@ export type InternalTransmitterUpdate<TDocument extends PHDocument> = {
|
|
|
20
20
|
export declare class InternalTransmitter implements ITransmitter {
|
|
21
21
|
#private;
|
|
22
22
|
protected drive: IBaseDocumentDriveServer;
|
|
23
|
-
protected listener: Listener;
|
|
24
23
|
protected receiver: IReceiver;
|
|
25
|
-
constructor(
|
|
24
|
+
constructor(drive: IDocumentDriveServer, receiver: IReceiver);
|
|
26
25
|
transmit(strands: StrandUpdate[], _source: StrandUpdateSource): Promise<ListenerRevision[]>;
|
|
27
26
|
disconnect(): Promise<void>;
|
|
28
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../../src/server/listener/transmitter/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../../src/server/listener/transmitter/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,CAAC,SAAS,SAAS,UAAU,EACtC,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAAE,KAC5C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,uBAAuB,CAAC,SAAS,SAAS,UAAU,IAAI,IAAI,CACtE,qBAAqB,CAAC,SAAS,CAAC,EAChC,OAAO,CACR,GAAG;IACF,KAAK,EAAE,uBAAuB,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC9E,aAAa,EACT,uBAAuB,CAAC,SAAS,CAAC,GAClC,sBAAsB,CAAC,SAAS,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,SAAS,SAAS,UAAU,IAAI;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;IACjD,KAAK,EAAE,uBAAuB,CAAC,SAAS,CAAC,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;CAC/E,CAAC;AAEF,qBAAa,mBAAoB,YAAW,YAAY;;IACtD,SAAS,CAAC,KAAK,EAAE,wBAAwB,CAAC;IAC1C,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAElB,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,SAAS;IAkDtD,QAAQ,CACZ,OAAO,EAAE,YAAY,EAAE,EAEvB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IA8BxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { logger } from "#utils/logger";
|
|
2
2
|
export class InternalTransmitter {
|
|
3
3
|
drive;
|
|
4
|
-
listener;
|
|
5
4
|
receiver;
|
|
6
|
-
constructor(
|
|
7
|
-
this.listener = listener;
|
|
5
|
+
constructor(drive, receiver) {
|
|
8
6
|
this.drive = drive;
|
|
9
7
|
this.receiver = receiver;
|
|
10
8
|
}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { type ICache } from "#cache/types";
|
|
2
2
|
import { type DocumentDriveDocument } from "#drive-document-model/gen/types";
|
|
3
|
-
import { type IDriveStorage } from "#storage/types";
|
|
3
|
+
import { IDocumentStorage, type IDriveStorage } from "#storage/types";
|
|
4
4
|
import { type DocumentModelModule } from "document-model";
|
|
5
5
|
import { SynchronizationUnitNotFoundError } from "./error.js";
|
|
6
6
|
import { type GetStrandsOptions, type IEventEmitter, type ISynchronizationManager, type OperationUpdate, type SyncStatus, type SyncUnitStatusObject, type SynchronizationUnit, type SynchronizationUnitQuery } from "./types.js";
|
|
7
7
|
export default class SynchronizationManager implements ISynchronizationManager {
|
|
8
8
|
private readonly storage;
|
|
9
|
+
private readonly documentStorage;
|
|
9
10
|
private readonly cache;
|
|
10
11
|
private documentModelModules;
|
|
11
12
|
private readonly eventEmitter?;
|
|
12
13
|
private syncStatus;
|
|
13
14
|
private logger;
|
|
14
|
-
constructor(storage: IDriveStorage, cache: ICache, documentModelModules: DocumentModelModule[], eventEmitter?: IEventEmitter | undefined);
|
|
15
|
+
constructor(storage: IDriveStorage, documentStorage: IDocumentStorage, cache: ICache, documentModelModules: DocumentModelModule[], eventEmitter?: IEventEmitter | undefined);
|
|
15
16
|
getSynchronizationUnits(driveId: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnit[]>;
|
|
16
17
|
getSynchronizationUnitsRevision(driveId: string, syncUnitsQuery: SynchronizationUnitQuery[]): Promise<SynchronizationUnit[]>;
|
|
17
18
|
getSynchronizationUnitsIds(driveId: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnitQuery[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../../../src/server/sync-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../../../src/server/sync-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGtE,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,uBAAuB;IAM1E,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAThC,OAAO,CAAC,UAAU,CAA2C;IAE7D,OAAO,CAAC,MAAM,CAA2C;gBAGtC,OAAO,EAAE,aAAa,EACtB,eAAe,EAAE,gBAAgB,EACjC,KAAK,EAAE,MAAM,EACtB,oBAAoB,EAAE,mBAAmB,EAAE,EAClC,YAAY,CAAC,EAAE,aAAa,YAAA;IAGzC,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmB3B,+BAA+B,CACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,wBAAwB,EAAE,GACzC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAoC3B,0BAA0B,CAC9B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAmEhC,4BAA4B,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA4B1C,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAyBrC,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC;YAoFf,QAAQ;YAkBR,WAAW;IAgBzB,OAAO,CAAC,cAAc;IAuBtB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,EAAE;IAItD,OAAO,CAAC,sBAAsB;IAU9B,yBAAyB,CAAC,cAAc,EAAE,oBAAoB,GAAG,UAAU;IAoB3E,aAAa,CACX,UAAU,EAAE,MAAM,GACjB,UAAU,GAAG,gCAAgC;IAWhD,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAC5C,KAAK,CAAC,EAAE,KAAK,GACZ,IAAI;IAiDP,OAAO,CAAC,cAAc;IAyBhB,yBAAyB,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC;CAejB"}
|
|
@@ -5,13 +5,15 @@ import { garbageCollectDocumentOperations, replayDocument, } from "document-mode
|
|
|
5
5
|
import { SynchronizationUnitNotFoundError } from "./error.js";
|
|
6
6
|
export default class SynchronizationManager {
|
|
7
7
|
storage;
|
|
8
|
+
documentStorage;
|
|
8
9
|
cache;
|
|
9
10
|
documentModelModules;
|
|
10
11
|
eventEmitter;
|
|
11
12
|
syncStatus = new Map();
|
|
12
13
|
logger = childLogger(["SynchronizationManager"]);
|
|
13
|
-
constructor(storage, cache, documentModelModules, eventEmitter) {
|
|
14
|
+
constructor(storage, documentStorage, cache, documentModelModules, eventEmitter) {
|
|
14
15
|
this.storage = storage;
|
|
16
|
+
this.documentStorage = documentStorage;
|
|
15
17
|
this.cache = cache;
|
|
16
18
|
this.documentModelModules = documentModelModules;
|
|
17
19
|
this.eventEmitter = eventEmitter;
|
|
@@ -186,7 +188,7 @@ export default class SynchronizationManager {
|
|
|
186
188
|
catch (e) {
|
|
187
189
|
this.logger.error("Error getting drive from cache", e);
|
|
188
190
|
}
|
|
189
|
-
const driveStorage = await this.
|
|
191
|
+
const driveStorage = await this.documentStorage.get(driveId);
|
|
190
192
|
const result = this._buildDocument(driveStorage);
|
|
191
193
|
if (!isDocumentDrive(result)) {
|
|
192
194
|
throw new Error(`Document with id ${driveId} is not a Document Drive`);
|
|
@@ -203,7 +205,7 @@ export default class SynchronizationManager {
|
|
|
203
205
|
catch (e) {
|
|
204
206
|
this.logger.error("Error getting document from cache", e);
|
|
205
207
|
}
|
|
206
|
-
const documentStorage = await this.
|
|
208
|
+
const documentStorage = await this.documentStorage.get(documentId);
|
|
207
209
|
return this._buildDocument(documentStorage);
|
|
208
210
|
}
|
|
209
211
|
_buildDocument(documentStorage) {
|
|
@@ -17,17 +17,11 @@ export declare class BrowserStorage implements IDriveStorage, IDocumentStorage {
|
|
|
17
17
|
removeChild(parentId: string, childId: string): Promise<boolean>;
|
|
18
18
|
addChild(parentId: string, childId: string): Promise<void>;
|
|
19
19
|
getChildren(parentId: string): Promise<string[]>;
|
|
20
|
-
checkDocumentExists(drive: string, documentId: string): Promise<boolean>;
|
|
21
20
|
private getManifest;
|
|
22
21
|
private updateDriveManifest;
|
|
23
|
-
getDocuments(drive: string): Promise<string[]>;
|
|
24
|
-
getDocument<TDocument extends PHDocument>(driveId: string, id: string): Promise<TDocument>;
|
|
25
|
-
createDocument(drive: string, id: string, document: PHDocument): Promise<void>;
|
|
26
|
-
deleteDocument(drive: string, id: string): Promise<void>;
|
|
27
22
|
clearStorage(): Promise<void>;
|
|
28
23
|
addDocumentOperations(drive: string, id: string, operations: Operation[], header: DocumentHeader): Promise<void>;
|
|
29
24
|
getDrives(): Promise<string[]>;
|
|
30
|
-
getDrive(id: string): Promise<DocumentDriveDocument>;
|
|
31
25
|
getDriveBySlug(slug: string): Promise<DocumentDriveDocument>;
|
|
32
26
|
createDrive(id: string, drive: DocumentDriveDocument): Promise<void>;
|
|
33
27
|
deleteDrive(id: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/storage/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/storage/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EAET,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAOvE,qBAAa,cAAe,YAAW,aAAa,EAAE,gBAAgB;IACpE,OAAO,CAAC,EAAE,CAAuB;IAEjC,MAAM,CAAC,MAAM,SAAqB;IAClC,MAAM,CAAC,GAAG,SAAO;IACjB,MAAM,CAAC,YAAY,SAAc;IACjC,MAAM,CAAC,YAAY,SAAc;gBAErB,SAAS,CAAC,EAAE,MAAM;IAUxB,KAAK;IASL,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/D,GAAG,CAAC,SAAS,SAAS,UAAU,EACpC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,CAAC;IAaf,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4B5C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYhE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YASxC,WAAW;YAQX,mBAAmB;IAQ3B,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAgBV,SAAS;IAYT,cAAc,CAAC,IAAI,EAAE,MAAM;IAa3B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAqBpD,WAAW,CAAC,EAAE,EAAE,MAAM;IAatB,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAC5C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAYV,+BAA+B,CACnC,KAAK,EAAE,wBAAwB,EAAE,GAChC,OAAO,CACR;QACE,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,EAAE,CACJ;IAyCK,0BAA0B;YAYlB,YAAY;YAWZ,eAAe;IAe7B,gBAAgB,CAAC,UAAU,EAAE,MAAM;IAInC,gBAAgB,CAAC,OAAO,EAAE,MAAM;CAGjC"}
|