document-drive 1.29.8-dev.1 → 1.29.8-dev.3

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 (39) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/src/processors/processor-manager.d.ts +13 -0
  4. package/dist/src/processors/processor-manager.d.ts.map +1 -0
  5. package/dist/src/processors/processor-manager.js +57 -0
  6. package/dist/src/processors/types.d.ts +61 -0
  7. package/dist/src/processors/types.d.ts.map +1 -0
  8. package/dist/src/processors/types.js +1 -0
  9. package/dist/src/queue/base.d.ts.map +1 -1
  10. package/dist/src/queue/base.js +1 -2
  11. package/dist/src/queue/types.d.ts +1 -1
  12. package/dist/src/queue/types.d.ts.map +1 -1
  13. package/dist/src/server/base-server.d.ts +1 -1
  14. package/dist/src/server/base-server.d.ts.map +1 -1
  15. package/dist/src/server/base-server.js +21 -7
  16. package/dist/src/server/listener/transmitter/internal.d.ts +4 -8
  17. package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
  18. package/dist/src/server/listener/transmitter/internal.js +5 -7
  19. package/dist/src/server/sync-manager.d.ts +1 -1
  20. package/dist/src/server/sync-manager.d.ts.map +1 -1
  21. package/dist/src/storage/browser.d.ts +0 -4
  22. package/dist/src/storage/browser.d.ts.map +1 -1
  23. package/dist/src/storage/browser.js +4 -29
  24. package/dist/src/storage/filesystem.d.ts +0 -4
  25. package/dist/src/storage/filesystem.d.ts.map +1 -1
  26. package/dist/src/storage/filesystem.js +3 -45
  27. package/dist/src/storage/ipfs.d.ts +0 -4
  28. package/dist/src/storage/ipfs.d.ts.map +1 -1
  29. package/dist/src/storage/ipfs.js +4 -49
  30. package/dist/src/storage/memory.d.ts +0 -4
  31. package/dist/src/storage/memory.d.ts.map +1 -1
  32. package/dist/src/storage/memory.js +1 -17
  33. package/dist/src/storage/prisma/prisma.d.ts +0 -4
  34. package/dist/src/storage/prisma/prisma.d.ts.map +1 -1
  35. package/dist/src/storage/prisma/prisma.js +1 -43
  36. package/dist/src/storage/types.d.ts +50 -4
  37. package/dist/src/storage/types.d.ts.map +1 -1
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +5 -5
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export type { DocumentDriveDocument, DocumentDriveLocalState, DocumentDriveState
7
7
  export { createState as createDriveState } from "#drive-document-model/gen/utils";
8
8
  export { driveDocumentModelModule } from "#drive-document-model/module";
9
9
  export { generateAddNodeAction, generateNodesCopy, isFileNode, isFolderNode, } from "#drive-document-model/src/utils";
10
+ export type { IProcessor } from "#processors/types";
10
11
  export { BaseQueueManager } from "#queue/base";
11
12
  export { ReadDocumentNotFoundError, ReadDriveNotFoundError, ReadDriveSlugNotFoundError, } from "#read-mode/errors";
12
13
  export type { IReadModeDriveServer, ReadDrive, ReadDriveContext, ReadDrivesListener, ReadDrivesListenerUnsubscribe, } from "#read-mode/types";
@@ -14,7 +15,7 @@ export { BaseDocumentDriveServer, DocumentDriveServer, } from "#server/base-serv
14
15
  export { ReactorBuilder } from "#server/builder";
15
16
  export { DocumentModelNotFoundError, DriveAlreadyExistsError, SynchronizationUnitNotFoundError, } from "#server/error";
16
17
  export { InternalTransmitter } from "#server/listener/transmitter/internal";
17
- export type { InternalTransmitterUpdate, IReceiver, } from "#server/listener/transmitter/internal";
18
+ export type { InternalTransmitterUpdate } from "#server/listener/transmitter/internal";
18
19
  export { PullResponderTransmitter } from "#server/listener/transmitter/pull-responder";
19
20
  export type { StrandUpdateGraphQL } from "#server/listener/transmitter/pull-responder";
20
21
  export type { PullResponderTrigger } from "#server/listener/transmitter/types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpF,YAAY,EACV,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,OAAO,GACR,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,IAAI,GACL,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,YAAY,EACV,yBAAyB,EACzB,SAAS,GACV,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,WAAW,EACX,MAAM,EACN,eAAe,EACf,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,eAAe,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EACL,OAAO,EACP,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACpF,YAAY,EACV,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,OAAO,GACR,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,IAAI,GACL,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,YAAY,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EACV,uBAAuB,EACvB,0BAA0B,EAC1B,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,WAAW,EACX,MAAM,EACN,eAAe,EACf,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { type IProcessorManager, type ProcessorFactory } from "document-drive/processors/types";
2
+ import { type IDocumentDriveServer, type IListenerManager } from "document-drive/server/types";
3
+ export declare class ProcessorManager implements IProcessorManager {
4
+ private listeners;
5
+ private drive;
6
+ private idToFactory;
7
+ private identifierToListeners;
8
+ constructor(listeners: IListenerManager, drive: IDocumentDriveServer);
9
+ registerFactory(identifier: string, factory: ProcessorFactory): Promise<void>;
10
+ unregisterFactory(identifier: string): Promise<void>;
11
+ registerDrive(driveId: string): Promise<void>;
12
+ }
13
+ //# sourceMappingURL=processor-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor-manager.d.ts","sourceRoot":"","sources":["../../../src/processors/processor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EAEtB,MAAM,6BAA6B,CAAC;AAGrC,qBAAa,gBAAiB,YAAW,iBAAiB;IAKtD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;IALf,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,qBAAqB,CAAiC;gBAGpD,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,oBAAoB;IAK/B,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAUV,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD,aAAa,CAAC,OAAO,EAAE,MAAM;CAiCpC"}
@@ -0,0 +1,57 @@
1
+ import { InternalTransmitter } from "document-drive/server/listener/transmitter/internal";
2
+ import { generateId } from "document-model";
3
+ export class ProcessorManager {
4
+ listeners;
5
+ drive;
6
+ idToFactory = new Map();
7
+ identifierToListeners = new Map();
8
+ constructor(listeners, drive) {
9
+ this.listeners = listeners;
10
+ this.drive = drive;
11
+ //
12
+ }
13
+ async registerFactory(identifier, factory) {
14
+ this.idToFactory.set(identifier, factory);
15
+ // iterate over all drives and register the factory
16
+ const driveIds = await this.drive.getDrives();
17
+ for (const driveId of driveIds) {
18
+ await this.registerDrive(driveId);
19
+ }
20
+ }
21
+ async unregisterFactory(identifier) {
22
+ // remove all listeners for this identifier
23
+ const listeners = this.identifierToListeners.get(identifier) ?? [];
24
+ for (const listener of listeners) {
25
+ this.listeners.removeListener(listener.driveId, listener.listenerId);
26
+ if (listener.transmitter?.disconnect) {
27
+ await listener.transmitter.disconnect();
28
+ }
29
+ }
30
+ this.identifierToListeners.set(identifier, []);
31
+ }
32
+ async registerDrive(driveId) {
33
+ // iterate over all factories and create listeners
34
+ await Promise.all(Object.entries(this.idToFactory).map(([identifier, factory]) => {
35
+ let listeners = this.identifierToListeners.get(identifier) ?? [];
36
+ if (!listeners) {
37
+ listeners = [];
38
+ this.identifierToListeners.set(identifier, listeners);
39
+ }
40
+ const processors = factory(driveId);
41
+ for (const { filter, processor } of processors) {
42
+ const id = generateId();
43
+ const listener = {
44
+ driveId,
45
+ listenerId: id,
46
+ block: false,
47
+ system: false,
48
+ filter,
49
+ callInfo: undefined,
50
+ transmitter: new InternalTransmitter(this.drive, processor),
51
+ };
52
+ this.listeners.setListener(driveId, listener);
53
+ listeners.push(listener);
54
+ }
55
+ }));
56
+ }
57
+ }
@@ -0,0 +1,61 @@
1
+ import { type ListenerFilter } from "#drive-document-model/gen/schema/types";
2
+ import { type InternalTransmitterUpdate } from "#server/listener/transmitter/internal";
3
+ import { type PHDocument } from "document-model";
4
+ /**
5
+ * Describes an object that can process strands.
6
+ */
7
+ export interface IProcessor {
8
+ /**
9
+ * Processes a list of strands.
10
+ *
11
+ * @param strands The strands to process.
12
+ */
13
+ onStrands<TDocument extends PHDocument>(strands: InternalTransmitterUpdate<TDocument>[]): Promise<void>;
14
+ /**
15
+ * Called when the processor is disconnected. This is generally meant to
16
+ * clean up any resources that were allocated when the processor was created.
17
+ */
18
+ onDisconnect(): Promise<void>;
19
+ }
20
+ /**
21
+ * Relates a processor to a listener filter.
22
+ */
23
+ export type ProcessorRecord = {
24
+ processor: IProcessor;
25
+ filter: ListenerFilter;
26
+ };
27
+ /**
28
+ * A factory function that returns a list of processor records for a given drive.
29
+ *
30
+ * @param driveId The drive to create processors for.
31
+ * @returns A list of processor records.
32
+ */
33
+ export type ProcessorFactory = (driveId: string) => ProcessorRecord[];
34
+ /**
35
+ * Manages processor creation and destruction.
36
+ */
37
+ export interface IProcessorManager {
38
+ /**
39
+ * Registers a processor factory for a given identifier. This will create
40
+ * processors for all drives that have already been registered.
41
+ *
42
+ * @param identifier Any identifier to associate with the factory.
43
+ * @param factory The factory to register.
44
+ */
45
+ registerFactory(identifier: string, factory: ProcessorFactory): Promise<void>;
46
+ /**
47
+ * Unregisters a processor factory for a given identifier. This will remove
48
+ * all listeners that were created by the factory.
49
+ *
50
+ * @param identifier The identifier to unregister.
51
+ */
52
+ unregisterFactory(identifier: string): Promise<void>;
53
+ /**
54
+ * Registers a drive with the processor manager. This will create processors
55
+ * for the drive for all factories that have already been registered.
56
+ *
57
+ * @param driveId The drive to register.
58
+ */
59
+ registerDrive(driveId: string): Promise<void>;
60
+ }
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/processors/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,SAAS,CAAC,SAAS,SAAS,UAAU,EACpC,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,eAAe,EAAE,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
@@ -0,0 +1 @@
1
+ export {};
@@ -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;IA8DtC,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"}
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"}
@@ -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
- checkDocumentExists: (documentId: string) => Promise<boolean>;
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":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queue/types.ts"],"names":[],"mappings":"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"}
@@ -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<void>;
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":"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"}
1
+ {"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"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"}
@@ -33,11 +33,11 @@ export class BaseDocumentDriveServer {
33
33
  emit: (...args) => this.eventEmitter.emit("defaultRemoteDrive", ...args),
34
34
  };
35
35
  queueDelegate = {
36
- checkDocumentExists: (documentId) => this.documentStorage.exists(documentId),
36
+ exists: (documentId) => this.documentStorage.exists(documentId),
37
37
  processOperationJob: async ({ driveId, documentId, operations, options, }) => {
38
- return documentId
39
- ? this.addOperations(driveId, documentId, operations, options)
40
- : this.addDriveOperations(driveId, operations, options);
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
@@ -443,7 +443,7 @@ export class BaseDocumentDriveServer {
443
443
  return document;
444
444
  }
445
445
  getDocuments(driveId) {
446
- return this.legacyStorage.getDocuments(driveId);
446
+ return this.documentStorage.getChildren(driveId);
447
447
  }
448
448
  async createDocument(driveId, input) {
449
449
  // if a document was provided then checks if it's valid
@@ -470,7 +470,21 @@ export class BaseDocumentDriveServer {
470
470
  clipboard: [],
471
471
  state: state ?? document.state,
472
472
  };
473
- await this.legacyStorage.createDocument(driveId, input.id, documentStorage);
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
+ }
474
488
  // set initial state for new syncUnits
475
489
  for (const syncUnit of input.synchronizationUnits) {
476
490
  this.synchronizationManager.updateSyncStatus(syncUnit.syncId, {
@@ -508,7 +522,7 @@ export class BaseDocumentDriveServer {
508
522
  this.logger.warn("Error deleting document", error);
509
523
  }
510
524
  await this.cache.deleteDocument(documentId);
511
- return this.legacyStorage.deleteDocument(driveId, documentId);
525
+ return this.documentStorage.delete(documentId);
512
526
  }
513
527
  async _processOperations(driveId, documentId, documentStorage, operations) {
514
528
  const operationsApplied = [];
@@ -1,10 +1,7 @@
1
1
  import { type GlobalStateFromDocument, type LocalStateFromDocument, type OperationFromDocument, type OperationScope, type PHDocument } from "document-model";
2
- import { type IDocumentDriveServer, type IBaseDocumentDriveServer, type Listener, type ListenerRevision, type StrandUpdate } from "#server/types";
2
+ import { type IProcessor } from "#processors/types";
3
+ import { type IBaseDocumentDriveServer, type IDocumentDriveServer, type ListenerRevision, type StrandUpdate } from "#server/types";
3
4
  import { type ITransmitter, type StrandUpdateSource } from "./types.js";
4
- export interface IReceiver {
5
- onStrands: <TDocument extends PHDocument>(strands: InternalTransmitterUpdate<TDocument>[]) => Promise<void>;
6
- onDisconnect: () => Promise<void>;
7
- }
8
5
  export type InternalOperationUpdate<TDocument extends PHDocument> = Omit<OperationFromDocument<TDocument>, "scope"> & {
9
6
  state: GlobalStateFromDocument<TDocument> | LocalStateFromDocument<TDocument>;
10
7
  previousState: GlobalStateFromDocument<TDocument> | LocalStateFromDocument<TDocument>;
@@ -20,9 +17,8 @@ export type InternalTransmitterUpdate<TDocument extends PHDocument> = {
20
17
  export declare class InternalTransmitter implements ITransmitter {
21
18
  #private;
22
19
  protected drive: IBaseDocumentDriveServer;
23
- protected listener: Listener;
24
- protected receiver: IReceiver;
25
- constructor(listener: Listener, drive: IDocumentDriveServer, receiver: IReceiver);
20
+ protected processor: IProcessor;
21
+ constructor(drive: IDocumentDriveServer, processor: IProcessor);
26
22
  transmit(strands: StrandUpdate[], _source: StrandUpdateSource): Promise<ListenerRevision[]>;
27
23
  disconnect(): Promise<void>;
28
24
  }
@@ -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,EACL,KAAK,oBAAoB,EAEzB,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,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,QAAQ,CAAC;IAC7B,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAG5B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,oBAAoB,EAC3B,QAAQ,EAAE,SAAS;IAoDf,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
+ {"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,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,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,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,SAAS,EAAE,UAAU,CAAC;gBAEpB,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU;IAkDxD,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,12 +1,10 @@
1
1
  import { logger } from "#utils/logger";
2
2
  export class InternalTransmitter {
3
3
  drive;
4
- listener;
5
- receiver;
6
- constructor(listener, drive, receiver) {
7
- this.listener = listener;
4
+ processor;
5
+ constructor(drive, processor) {
8
6
  this.drive = drive;
9
- this.receiver = receiver;
7
+ this.processor = processor;
10
8
  }
11
9
  async #buildInternalOperationUpdate(strand) {
12
10
  const operations = [];
@@ -56,7 +54,7 @@ export class InternalTransmitter {
56
54
  });
57
55
  }
58
56
  try {
59
- await this.receiver.onStrands(updates);
57
+ await this.processor.onStrands(updates);
60
58
  return strands.map(({ operations, ...s }) => ({
61
59
  ...s,
62
60
  status: "SUCCESS",
@@ -74,6 +72,6 @@ export class InternalTransmitter {
74
72
  }
75
73
  }
76
74
  async disconnect() {
77
- await this.receiver?.onDisconnect();
75
+ await this.processor?.onDisconnect();
78
76
  }
79
77
  }
@@ -1,6 +1,6 @@
1
1
  import { type ICache } from "#cache/types";
2
2
  import { type DocumentDriveDocument } from "#drive-document-model/gen/types";
3
- import { IDocumentStorage, type IDriveStorage } from "#storage/types";
3
+ import { type 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";
@@ -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,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"}
1
+ {"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../../../src/server/sync-manager.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,8 @@ 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
- createDocument(drive: string, id: string, document: PHDocument): Promise<void>;
25
- deleteDocument(drive: string, id: string): Promise<void>;
26
22
  clearStorage(): Promise<void>;
27
23
  addDocumentOperations(drive: string, id: string, operations: Operation[], header: DocumentHeader): Promise<void>;
28
24
  getDrives(): Promise<string[]>;
@@ -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;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;IAS5C,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;IAStD,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAI1D,WAAW;YAQX,mBAAmB;IAQ3B,YAAY,CAAC,KAAK,EAAE,MAAM;IAK1B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAW9D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAYxC,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"}
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"}
@@ -26,6 +26,7 @@ export class BrowserStorage {
26
26
  const document = await db.getItem(this.buildDocumentKey(documentId));
27
27
  return !!document;
28
28
  }
29
+ // TODO: this should throw an error if the document already exists.
29
30
  async create(documentId, document) {
30
31
  const db = await this.db;
31
32
  await db.setItem(this.buildDocumentKey(documentId), document);
@@ -89,9 +90,6 @@ export class BrowserStorage {
89
90
  ////////////////////////////////
90
91
  // IDriveStorage
91
92
  ////////////////////////////////
92
- checkDocumentExists(drive, documentId) {
93
- return this.exists(documentId);
94
- }
95
93
  async getManifest(driveId) {
96
94
  const db = await this.db;
97
95
  const manifest = await db.getItem(this.buildManifestKey(driveId));
@@ -101,29 +99,6 @@ export class BrowserStorage {
101
99
  const db = await this.db;
102
100
  await db.setItem(this.buildManifestKey(driveId), manifest);
103
101
  }
104
- async getDocuments(drive) {
105
- const manifest = await this.getManifest(drive);
106
- return manifest.documentIds;
107
- }
108
- async createDocument(drive, id, document) {
109
- await this.create(id, document);
110
- // Update the drive manifest to include this document
111
- const manifest = await this.getManifest(drive);
112
- if (!manifest.documentIds.includes(id)) {
113
- manifest.documentIds.push(id);
114
- await this.updateDriveManifest(drive, manifest);
115
- }
116
- }
117
- async deleteDocument(drive, id) {
118
- await (await this.db).removeItem(this.buildDocumentKey(id));
119
- // Update the drive manifest to remove this document
120
- const manifest = await this.getManifest(drive);
121
- const docIndex = manifest.documentIds.indexOf(id);
122
- if (docIndex !== -1) {
123
- manifest.documentIds.splice(docIndex, 1);
124
- await this.updateDriveManifest(drive, manifest);
125
- }
126
- }
127
102
  async clearStorage() {
128
103
  return (await this.db).clear();
129
104
  }
@@ -179,9 +154,9 @@ export class BrowserStorage {
179
154
  }
180
155
  async deleteDrive(id) {
181
156
  // First get all documents in this drive
182
- const documents = await this.getDocuments(id);
157
+ const documents = await this.getChildren(id);
183
158
  // Delete each document (this already updates the manifest)
184
- await Promise.all(documents.map((doc) => this.deleteDocument(id, doc)));
159
+ await Promise.all(documents.map((doc) => this.delete(doc)));
185
160
  // Delete the drive and its manifest
186
161
  const db = await this.db;
187
162
  await db.removeItem(this.buildManifestKey(id));
@@ -231,7 +206,7 @@ export class BrowserStorage {
231
206
  const drives = await this.getDrives();
232
207
  for (const drive of drives) {
233
208
  await this.migrateDrive(drive);
234
- const documents = await this.getDocuments(drive);
209
+ const documents = await this.getChildren(drive);
235
210
  await Promise.all(documents.map(async (docId) => this.migrateDocument(drive, docId)));
236
211
  }
237
212
  }
@@ -12,11 +12,7 @@ export declare class FilesystemStorage implements IDriveStorage, IDocumentStorag
12
12
  addChild(parentId: string, childId: string): Promise<void>;
13
13
  removeChild(parentId: string, childId: string): Promise<boolean>;
14
14
  getChildren(parentId: string): Promise<string[]>;
15
- getDocuments(drive: string): Promise<string[]>;
16
- checkDocumentExists(drive: string, id: string): Promise<boolean>;
17
- createDocument(drive: string, id: string, document: PHDocument): Promise<void>;
18
15
  clearStorage(): Promise<void>;
19
- deleteDocument(drive: string, id: string): Promise<void>;
20
16
  addDocumentOperations(drive: string, id: string, operations: Operation[], header: DocumentHeader): Promise<void>;
21
17
  getDrives(): Promise<string[]>;
22
18
  getDriveBySlug(slug: string): Promise<DocumentDriveDocument>;
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../src/storage/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAWxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAavE,qBAAa,iBAAkB,YAAW,aAAa,EAAE,gBAAgB;IACvE,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAS5B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAS/C,GAAG,CAAC,SAAS,SAAS,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAYnE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYhE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAShD,YAAY,CAAC,KAAK,EAAE,MAAM;IAKhC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAgB9D,YAAY;IAeZ,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IA0BxC,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,cAAc;IAuBlB,SAAS;IAWT,cAAc,CAAC,IAAI,EAAE,MAAM;IAmB3B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAqBpD,WAAW,CAAC,EAAE,EAAE,MAAM;IAYtB,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAC5C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAqBV,+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;IA4CD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;YAIZ,WAAW;YAWX,mBAAmB;CAOlC"}
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../src/storage/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,SAAS,EAEd,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAWxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAavE,qBAAa,iBAAkB,YAAW,aAAa,EAAE,gBAAgB;IACvE,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAS5B,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM5C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAS/C,GAAG,CAAC,SAAS,SAAS,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAYnE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1D,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYhE,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAShD,YAAY;IAeZ,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,cAAc;IAuBlB,SAAS;IAWT,cAAc,CAAC,IAAI,EAAE,MAAM;IAmB3B,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAqBpD,WAAW,CAAC,EAAE,EAAE,MAAM;IAYtB,kBAAkB,CACtB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAC5C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAqBV,+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;IA4CD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;YAIZ,WAAW;YAWX,mBAAmB;CAOlC"}
@@ -21,6 +21,7 @@ export class FilesystemStorage {
21
21
  const documentExists = existsSync(this._buildDocumentPath(documentId));
22
22
  return Promise.resolve(documentExists);
23
23
  }
24
+ // TODO: this should throw an error if the document already exists.
24
25
  create(documentId, document) {
25
26
  const documentPath = this._buildDocumentPath(documentId);
26
27
  writeFileSync(documentPath, stringify(document), {
@@ -95,26 +96,6 @@ export class FilesystemStorage {
95
96
  ////////////////////////////////
96
97
  // IDriveStorage
97
98
  ////////////////////////////////
98
- async getDocuments(drive) {
99
- const manifest = await this.getManifest(drive);
100
- return manifest.documentIds;
101
- }
102
- checkDocumentExists(drive, id) {
103
- return this.exists(id);
104
- }
105
- async createDocument(drive, id, document) {
106
- const documentPath = this._buildDocumentPath(id);
107
- writeFileSync(documentPath, stringify(document), {
108
- encoding: "utf-8",
109
- });
110
- // Update the drive manifest to include this document
111
- const manifest = await this.getManifest(drive);
112
- if (!manifest.documentIds.includes(id)) {
113
- manifest.documentIds.push(id);
114
- await this.updateDriveManifest(drive, manifest);
115
- }
116
- return Promise.resolve();
117
- }
118
99
  async clearStorage() {
119
100
  // delete content of basePath
120
101
  const files = (await fs.readdir(this.basePath, { withFileTypes: true })).filter((dirent) => !!dirent.name);
@@ -124,29 +105,6 @@ export class FilesystemStorage {
124
105
  });
125
106
  }));
126
107
  }
127
- async deleteDocument(drive, id) {
128
- // Update the drive manifest to remove this document
129
- const manifest = await this.getManifest(drive);
130
- const docIndex = manifest.documentIds.indexOf(id);
131
- if (docIndex !== -1) {
132
- manifest.documentIds.splice(docIndex, 1);
133
- await this.updateDriveManifest(drive, manifest);
134
- }
135
- // Check if this document exists in other drive manifests
136
- // Only delete the actual file if no other drive references it
137
- const drives = await this.getDrives();
138
- for (const driveId of drives) {
139
- if (driveId === drive)
140
- continue;
141
- const otherManifest = await this.getManifest(driveId);
142
- if (otherManifest.documentIds.includes(id)) {
143
- // Document still referenced by another drive, don't delete the file
144
- return Promise.resolve();
145
- }
146
- }
147
- // If we got here, no other drive references this document, so we can delete it
148
- return fs.rm(this._buildDocumentPath(id));
149
- }
150
108
  async addDocumentOperations(drive, id, operations, header) {
151
109
  const document = await this.get(id);
152
110
  if (!document) {
@@ -202,9 +160,9 @@ export class FilesystemStorage {
202
160
  }
203
161
  async deleteDrive(id) {
204
162
  // First get all documents in this drive
205
- const documents = await this.getDocuments(id);
163
+ const documents = await this.getChildren(id);
206
164
  // Delete each document from this drive (may not actually delete the file if shared with other drives)
207
- await Promise.all(documents.map((doc) => this.deleteDocument(id, doc)));
165
+ await Promise.all(documents.map((doc) => this.delete(doc)));
208
166
  // Delete the drive manifest and the drive itself
209
167
  await fs.rm(this._buildManifestPath(id));
210
168
  await fs.rm(this._buildDocumentPath(id));
@@ -13,10 +13,6 @@ export declare class IPFSStorage implements IStorage, IDocumentStorage {
13
13
  addChild(parentId: string, childId: string): Promise<void>;
14
14
  removeChild(parentId: string, childId: string): Promise<boolean>;
15
15
  getChildren(parentId: string): Promise<string[]>;
16
- checkDocumentExists(drive: string, id: string): Promise<boolean>;
17
- getDocuments(drive: string): Promise<string[]>;
18
- createDocument(drive: string, id: string, document: PHDocument): Promise<void>;
19
- deleteDocument(drive: string, id: string): Promise<void>;
20
16
  addDocumentOperations<TDocument extends PHDocument>(drive: string, id: string, operations: Operation[], header: DocumentHeader): Promise<void>;
21
17
  getDrives(): Promise<string[]>;
22
18
  getDrive(id: string): Promise<DocumentDriveDocument>;