document-drive 3.3.0-dev.1 → 3.3.0-dev.11

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 (41) hide show
  1. package/dist/src/processors/operational-processor.d.ts +72 -0
  2. package/dist/src/processors/operational-processor.d.ts.map +1 -0
  3. package/dist/src/processors/operational-processor.js +84 -0
  4. package/dist/src/processors/operational-processor.js.map +1 -0
  5. package/dist/src/processors/processor-manager.d.ts +1 -0
  6. package/dist/src/processors/processor-manager.d.ts.map +1 -1
  7. package/dist/src/processors/processor-manager.js +23 -1
  8. package/dist/src/processors/processor-manager.js.map +1 -1
  9. package/dist/src/processors/types.d.ts +13 -1
  10. package/dist/src/processors/types.d.ts.map +1 -1
  11. package/dist/src/server/base-server.d.ts +1 -1
  12. package/dist/src/server/base-server.d.ts.map +1 -1
  13. package/dist/src/server/base-server.js +8 -2
  14. package/dist/src/server/base-server.js.map +1 -1
  15. package/dist/src/server/listener/transmitter/internal.d.ts +1 -0
  16. package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
  17. package/dist/src/server/listener/transmitter/internal.js +9 -2
  18. package/dist/src/server/listener/transmitter/internal.js.map +1 -1
  19. package/dist/src/server/types.d.ts +9 -9
  20. package/dist/src/server/types.d.ts.map +1 -1
  21. package/dist/src/utils/default-drives-manager.d.ts +1 -1
  22. package/dist/src/utils/default-drives-manager.d.ts.map +1 -1
  23. package/dist/src/utils/default-drives-manager.js +15 -10
  24. package/dist/src/utils/default-drives-manager.js.map +1 -1
  25. package/dist/src/utils/gql-transformations.d.ts +1 -1
  26. package/dist/src/utils/gql-transformations.d.ts.map +1 -1
  27. package/dist/src/utils/gql-transformations.js +7 -1
  28. package/dist/src/utils/gql-transformations.js.map +1 -1
  29. package/dist/src/utils/hash.d.ts +3 -0
  30. package/dist/src/utils/hash.d.ts.map +1 -0
  31. package/dist/src/utils/hash.js +31 -0
  32. package/dist/src/utils/hash.js.map +1 -0
  33. package/dist/test/default-remote-drives.test.js.map +1 -1
  34. package/dist/test/drive-operations.test.js.map +1 -1
  35. package/dist/test/internal-listener.test.js +5 -0
  36. package/dist/test/internal-listener.test.js.map +1 -1
  37. package/dist/test/queue.test.js.map +1 -1
  38. package/dist/test/server.test.js.map +1 -1
  39. package/dist/test/utils.js.map +1 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +6 -4
@@ -0,0 +1,72 @@
1
+ import { type ListenerFilter } from "#drive-document-model/module";
2
+ import { type PHDocument } from "document-model";
3
+ import { type QueryCreator } from "kysely";
4
+ import { type InternalTransmitterUpdate } from "../server/listener/transmitter/internal.js";
5
+ import { type IOperationalStore, type IProcessor } from "./types.js";
6
+ export type IOperationalQueryMethods = "selectFrom" | "selectNoFrom" | "with" | "withRecursive";
7
+ export type IOperationalQueryBuilder<Schema = unknown> = Pick<QueryCreator<Schema>, IOperationalQueryMethods> & {
8
+ withSchema: (schema: string) => IOperationalQueryBuilder<Schema>;
9
+ };
10
+ export type OperationalProcessorFilter = ListenerFilter;
11
+ export interface IOperationalProcessor<TDatabaseSchema = unknown> extends IProcessor {
12
+ namespace: string;
13
+ query: IOperationalQueryBuilder<TDatabaseSchema>;
14
+ filter: OperationalProcessorFilter;
15
+ initAndUpgrade(): Promise<void>;
16
+ }
17
+ export declare function createNamespacedDb<T>(namespace: string, db: IOperationalStore, options?: {
18
+ hashNamespace?: boolean;
19
+ }): Promise<IOperationalStore<ExtractProcessorSchema<T>>>;
20
+ export declare function createNamespacedQueryBuilder<Schema>(processor: OperationalProcessorClass<Schema>, driveId: string, db: IOperationalStore, options?: {
21
+ hashNamespace?: boolean;
22
+ }): IOperationalQueryBuilder<Schema>;
23
+ export declare function isOperationalProcessor(p: IProcessor): p is IOperationalProcessor;
24
+ export type ExtractProcessorSchema<TProcessor> = TProcessor extends OperationalProcessor<infer TSchema> ? TSchema : never;
25
+ export type OperationalProcessorClass<TSchema> = (new (...args: any[]) => OperationalProcessor<TSchema>) & typeof OperationalProcessor<TSchema>;
26
+ declare const IS_OPERATIONAL_PROCESSOR: unique symbol;
27
+ /**
28
+ * Base class for operational processors that require a relational database storage.
29
+ * This class abstracts database initialization, migration management, and resource cleanup,
30
+ * allowing derived classes to focus on business logic.
31
+ */
32
+ export declare abstract class OperationalProcessor<TDatabaseSchema = unknown> implements IOperationalProcessor<TDatabaseSchema> {
33
+ protected _namespace: string;
34
+ protected _filter: OperationalProcessorFilter;
35
+ protected operationalStore: IOperationalStore<TDatabaseSchema>;
36
+ constructor(_namespace: string, _filter: OperationalProcessorFilter, operationalStore: IOperationalStore<TDatabaseSchema>);
37
+ static [IS_OPERATIONAL_PROCESSOR]: boolean;
38
+ static is(p: unknown): p is OperationalProcessor;
39
+ /**
40
+ * Returns the namespace for a given drive id.
41
+ * This method can be overridden by derived classes to provide a custom namespace.
42
+ */
43
+ static getNamespace(driveId: string): string;
44
+ static query<TSchema>(this: OperationalProcessorClass<TSchema>, driveId: string, db: IOperationalStore<any>): IOperationalQueryBuilder<TSchema>;
45
+ /**
46
+ * Returns the filter for the processor.
47
+ * This method can be overridden by derived classes to provide a custom filter.
48
+ */
49
+ get filter(): OperationalProcessorFilter;
50
+ /**
51
+ * Returns the namespace used by the processor.
52
+ */
53
+ get namespace(): string;
54
+ get query(): IOperationalQueryBuilder<TDatabaseSchema>;
55
+ /**
56
+ * Abstract method that derived classes must implement.
57
+ * This method is meant to be called on subclasses to initialize and upgrade the database.
58
+ */
59
+ abstract initAndUpgrade(): Promise<void>;
60
+ /**
61
+ * Abstract method that derived classes must implement.
62
+ * This is where the business logic for processing document operations should be implemented.
63
+ */
64
+ abstract onStrands<TDocument extends PHDocument>(strands: InternalTransmitterUpdate<TDocument>[]): Promise<void>;
65
+ /**
66
+ * Called when the processor is disconnected.
67
+ * This method is meant to be overridden by subclasses to clean up resources.
68
+ */
69
+ abstract onDisconnect(): Promise<void>;
70
+ }
71
+ export {};
72
+ //# sourceMappingURL=operational-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational-processor.d.ts","sourceRoot":"","sources":["../../../src/processors/operational-processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import { hash } from "#utils/hash";
2
+ export async function createNamespacedDb(namespace, db, options) {
3
+ // hash the namespace to avoid too long namespaces
4
+ const hashNamespace = options?.hashNamespace ?? true;
5
+ const hashValue = hashNamespace ? hash(namespace) : namespace;
6
+ await db.schema.createSchema(hashValue).ifNotExists().execute();
7
+ const schemaOperationalStore = db.withSchema(hashValue);
8
+ return schemaOperationalStore;
9
+ }
10
+ export function createNamespacedQueryBuilder(processor, driveId, db, options) {
11
+ const namespace = processor.getNamespace(driveId);
12
+ const hashNamespace = options?.hashNamespace ?? true;
13
+ const hashValue = hashNamespace ? hash(namespace) : namespace;
14
+ const namespacedDb = db.withSchema(hashValue);
15
+ return operationalStoreToQueryBuilder(namespacedDb);
16
+ }
17
+ export function isOperationalProcessor(p) {
18
+ return OperationalProcessor.is(p);
19
+ }
20
+ function operationalStoreToQueryBuilder(query) {
21
+ return {
22
+ selectFrom: query.selectFrom.bind(query),
23
+ selectNoFrom: query.selectNoFrom.bind(query),
24
+ with: query.with.bind(query),
25
+ withRecursive: query.withRecursive.bind(query),
26
+ withSchema: (schema) => operationalStoreToQueryBuilder(query.withSchema(schema)),
27
+ };
28
+ }
29
+ const IS_OPERATIONAL_PROCESSOR = Symbol.for("ph.IS_OPERATIONAL_PROCESSOR");
30
+ /**
31
+ * Base class for operational processors that require a relational database storage.
32
+ * This class abstracts database initialization, migration management, and resource cleanup,
33
+ * allowing derived classes to focus on business logic.
34
+ */
35
+ export class OperationalProcessor {
36
+ _namespace;
37
+ _filter;
38
+ operationalStore;
39
+ constructor(_namespace, _filter, operationalStore) {
40
+ this._namespace = _namespace;
41
+ this._filter = _filter;
42
+ this.operationalStore = operationalStore;
43
+ }
44
+ static [IS_OPERATIONAL_PROCESSOR] = true;
45
+ static is(p) {
46
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
47
+ let proto = Object.getPrototypeOf(p);
48
+ while (proto) {
49
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
50
+ if (proto.constructor?.[IS_OPERATIONAL_PROCESSOR])
51
+ return true;
52
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
53
+ proto = Object.getPrototypeOf(proto);
54
+ }
55
+ return false;
56
+ }
57
+ /**
58
+ * Returns the namespace for a given drive id.
59
+ * This method can be overridden by derived classes to provide a custom namespace.
60
+ */
61
+ static getNamespace(driveId) {
62
+ return `${this.name}_${driveId.replaceAll("-", "_")}`;
63
+ }
64
+ static query(driveId, db) {
65
+ return createNamespacedQueryBuilder(this, driveId, db);
66
+ }
67
+ /**
68
+ * Returns the filter for the processor.
69
+ * This method can be overridden by derived classes to provide a custom filter.
70
+ */
71
+ get filter() {
72
+ return this._filter;
73
+ }
74
+ /**
75
+ * Returns the namespace used by the processor.
76
+ */
77
+ get namespace() {
78
+ return this._namespace;
79
+ }
80
+ get query() {
81
+ return operationalStoreToQueryBuilder(this.operationalStore);
82
+ }
83
+ }
84
+ //# sourceMappingURL=operational-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational-processor.js","sourceRoot":"","sources":["../../../src/processors/operational-processor.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export declare class ProcessorManager implements IProcessorManager {
4
4
  private listeners;
5
5
  private drive;
6
6
  private readonly logger;
7
+ private processorsByDrive;
7
8
  private idToFactory;
8
9
  private identifierToListeners;
9
10
  constructor(listeners: IListenerManager, drive: IDocumentDriveServer);
@@ -1 +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,EAEtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EAEtB,MAAM,6BAA6B,CAAC;AAIrC,qBAAa,gBAAiB,YAAW,iBAAiB;IAUtD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;IAVf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;IAEH,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;IAYV,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpD,aAAa,CAAC,OAAO,EAAE,MAAM;IASnC;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,gBAAgB;CAkC5B"}
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,EAEtB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EAEtB,MAAM,6BAA6B,CAAC;AAKrC,qBAAa,gBAAiB,YAAW,iBAAiB;IAWtD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;IAXf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAGpB;IAEH,OAAO,CAAC,iBAAiB,CAAwC;IACjE,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;IAeV,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpD,aAAa,CAAC,OAAO,EAAE,MAAM;IASnC;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,gBAAgB;CA8D5B"}
@@ -1,6 +1,7 @@
1
1
  import { InternalTransmitter } from "document-drive/server/listener/transmitter/internal";
2
2
  import { generateId } from "document-model";
3
3
  import { childLogger } from "../../index.js";
4
+ import { isOperationalProcessor } from "./operational-processor.js";
4
5
  export class ProcessorManager {
5
6
  listeners;
6
7
  drive;
@@ -8,6 +9,7 @@ export class ProcessorManager {
8
9
  "document-drive",
9
10
  "processor-manager",
10
11
  ]);
12
+ processorsByDrive = new Map();
11
13
  idToFactory = new Map();
12
14
  identifierToListeners = new Map();
13
15
  constructor(listeners, drive) {
@@ -20,6 +22,9 @@ export class ProcessorManager {
20
22
  this.idToFactory.set(identifier, factory);
21
23
  // iterate over all drives and register the factory
22
24
  const driveIds = await this.drive.getDrives();
25
+ if (!driveIds) {
26
+ return;
27
+ }
23
28
  for (const driveId of driveIds) {
24
29
  await this.createProcessors(driveId, identifier, factory);
25
30
  }
@@ -56,16 +61,32 @@ export class ProcessorManager {
56
61
  listeners = [];
57
62
  this.identifierToListeners.set(identifier, listeners);
58
63
  }
64
+ let driveProcessors = this.processorsByDrive.get(driveId);
65
+ if (!driveProcessors) {
66
+ driveProcessors = [];
67
+ this.processorsByDrive.set(driveId, driveProcessors);
68
+ }
59
69
  // don't let the factory throw, we want to continue with the rest of the processors
60
70
  let processors = [];
61
71
  try {
62
- processors = factory(driveId);
72
+ processors = await factory(driveId);
63
73
  }
64
74
  catch (e) {
65
75
  this.logger.error(`Error creating processors for drive ${driveId}:`, e);
66
76
  return;
67
77
  }
68
78
  for (const { filter, processor } of processors) {
79
+ const isOperational = isOperationalProcessor(processor);
80
+ // check for duplicated namespaces
81
+ if (isOperational &&
82
+ driveProcessors.some((p) => isOperationalProcessor(p.processor) &&
83
+ p.processor.namespace === processor.namespace)) {
84
+ this.logger.warn(`Processor with namespace '${processor.namespace}' already registered for drive '${driveId}'.`);
85
+ continue;
86
+ }
87
+ if (isOperational) {
88
+ await processor.initAndUpgrade();
89
+ }
69
90
  const id = generateId();
70
91
  const listener = {
71
92
  driveId,
@@ -78,6 +99,7 @@ export class ProcessorManager {
78
99
  };
79
100
  await this.listeners.setListener(driveId, listener);
80
101
  listeners.push(listener);
102
+ driveProcessors.push({ filter, processor });
81
103
  }
82
104
  }
83
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"processor-manager.js","sourceRoot":"","sources":["../../../src/processors/processor-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processor-manager.js","sourceRoot":"","sources":["../../../src/processors/processor-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,18 @@
1
1
  import { type ListenerFilter } from "#drive-document-model/gen/schema/types";
2
2
  import { type InternalTransmitterUpdate } from "#server/listener/transmitter/internal";
3
+ import { type IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
3
4
  import { type PHDocument } from "document-model";
5
+ import { type Kysely } from "kysely";
6
+ /**
7
+ * The standardized relational database interface for operational processors.
8
+ * This abstraction provides type-safe database operations while hiding the underlying
9
+ * database framework implementation details.
10
+ */
11
+ export type IOperationalStore<Schema = unknown> = Kysely<Schema>;
12
+ export interface IProcessorHostModule {
13
+ analyticsStore: IAnalyticsStore;
14
+ operationalStore: IOperationalStore;
15
+ }
4
16
  /**
5
17
  * Describes an object that can process strands.
6
18
  */
@@ -30,7 +42,7 @@ export type ProcessorRecord = {
30
42
  * @param driveId The drive to create processors for.
31
43
  * @returns A list of processor records.
32
44
  */
33
- export type ProcessorFactory = (driveId: string) => ProcessorRecord[];
45
+ export type ProcessorFactory = (driveId: string) => ProcessorRecord[] | Promise<ProcessorRecord[]>;
34
46
  /**
35
47
  * Manages processor creation and destruction.
36
48
  */
@@ -1 +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"}
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,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,gBAAgB,EAAE,iBAAiB,CAAC;CACrC;AAED;;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,CAC7B,OAAO,EAAE,MAAM,KACZ,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAEpD;;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"}
@@ -53,7 +53,7 @@ export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer
53
53
  getDrive(driveId: string, options?: GetDocumentOptions): Promise<DocumentDriveDocument>;
54
54
  getDriveBySlug(slug: string, options?: GetDocumentOptions): Promise<DocumentDriveDocument>;
55
55
  getDriveIdBySlug(slug: string): Promise<string>;
56
- getDocument<TDocument extends PHDocument>(driveId: string, documentId: string, options?: GetDocumentOptions): Promise<TDocument>;
56
+ getDocument<TDocument extends PHDocument>(driveId: string, documentId: string, options?: GetDocumentOptions): Promise<TDocument | undefined>;
57
57
  getDocuments(driveId: string): Promise<string[]>;
58
58
  protected createDocument<TDocument extends PHDocument>(driveId: string, input: CreateDocumentInput<TDocument>): Promise<TDocument>;
59
59
  deleteDocument(driveId: string, documentId: string): Promise<boolean>;
@@ -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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"}
@@ -104,7 +104,7 @@ export class BaseDocumentDriveServer {
104
104
  errors.push(error);
105
105
  });
106
106
  try {
107
- await this.defaultDrivesManager.removeOldremoteDrives();
107
+ await this.defaultDrivesManager.removeOldRemoteDrives();
108
108
  }
109
109
  catch (error) {
110
110
  this.logger.error(error);
@@ -720,6 +720,9 @@ export class BaseDocumentDriveServer {
720
720
  break;
721
721
  case "COPY_CHILD_DOCUMENT":
722
722
  handler = () => this.getDocument(driveId, signal.input.id).then((documentToCopy) => {
723
+ if (!documentToCopy) {
724
+ return;
725
+ }
723
726
  const doc = {
724
727
  ...documentToCopy,
725
728
  header: {
@@ -783,7 +786,7 @@ export class BaseDocumentDriveServer {
783
786
  try {
784
787
  const document = await this.getDocument(drive, id);
785
788
  const newOperation = operations.find((op) => !op.id ||
786
- !document.operations[op.scope].find((existingOp) => existingOp.id === op.id &&
789
+ !document?.operations[op.scope].find((existingOp) => existingOp.id === op.id &&
787
790
  existingOp.index === op.index &&
788
791
  existingOp.type === op.type &&
789
792
  existingOp.hash === op.hash));
@@ -1214,6 +1217,9 @@ export class BaseDocumentDriveServer {
1214
1217
  }
1215
1218
  }
1216
1219
  _buildOperations(documentId, actions) {
1220
+ if (!documentId) {
1221
+ return [];
1222
+ }
1217
1223
  const operations = [];
1218
1224
  const { reducer } = this.getDocumentModelModule(documentId.header.documentType);
1219
1225
  for (const action of actions) {