document-drive 1.0.0-alpha.25 → 1.0.0-alpha.26

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "document-drive",
3
- "version": "1.0.0-alpha.25",
3
+ "version": "1.0.0-alpha.26",
4
4
  "license": "AGPL-3.0-only",
5
5
  "type": "module",
6
6
  "module": "./src/index.ts",
@@ -209,7 +209,6 @@ export class DocumentDriveServer extends BaseDocumentDriveServer {
209
209
  }
210
210
 
211
211
  async initialize() {
212
- await this.listenerStateManager.init();
213
212
  const drives = await this.getDrives();
214
213
  for (const drive of drives) {
215
214
  await this._initializeDrive(drive);
@@ -223,22 +222,7 @@ export class DocumentDriveServer extends BaseDocumentDriveServer {
223
222
  await this.startSyncRemoteDrive(driveId);
224
223
  }
225
224
 
226
- for (const listener of drive.state.local.listeners) {
227
- await this.listenerStateManager.addListener({
228
- driveId,
229
- block: listener.block,
230
- filter: {
231
- branch: listener.filter.branch ?? [],
232
- documentId: listener.filter.documentId ?? [],
233
- documentType: listener.filter.documentType ?? [],
234
- scope: listener.filter.scope ?? []
235
- },
236
- listenerId: listener.listenerId,
237
- system: listener.system,
238
- callInfo: listener.callInfo ?? undefined,
239
- label: listener.label ?? ''
240
- });
241
- }
225
+ await this.listenerStateManager.initDrive(drive);
242
226
  }
243
227
 
244
228
  public async getSynchronizationUnits(
@@ -1,5 +1,5 @@
1
1
  import {
2
- ListenerCallInfo,
2
+ DocumentDriveDocument,
3
3
  ListenerFilter
4
4
  } from 'document-model-libs/document-drive';
5
5
  import { OperationScope } from 'document-model/document';
@@ -372,33 +372,28 @@ export class ListenerManager extends BaseListenerManager {
372
372
  return false;
373
373
  }
374
374
 
375
- async init() {
376
- const drives = await this.drive.getDrives();
377
- for (const driveId of drives) {
378
- const drive = await this.drive.getDrive(driveId);
379
- const {
380
- state: {
381
- local: { listeners }
382
- }
383
- } = drive;
384
-
385
- for (const listener of listeners) {
386
- this.addListener({
387
- block: listener.block,
388
- driveId,
389
- filter: {
390
- branch: listener.filter.branch ?? [],
391
- documentId: listener.filter.documentId ?? [],
392
- documentType: listener.filter.documentType,
393
- scope: listener.filter.scope ?? []
394
- },
395
- listenerId: listener.listenerId,
396
- system: listener.system,
397
- callInfo:
398
- (listener.callInfo as ListenerCallInfo) ?? undefined,
399
- label: listener.label ?? ''
400
- });
375
+ async initDrive(drive: DocumentDriveDocument) {
376
+ const {
377
+ state: {
378
+ local: { listeners }
401
379
  }
380
+ } = drive;
381
+
382
+ for (const listener of listeners) {
383
+ await this.addListener({
384
+ block: listener.block,
385
+ driveId: drive.state.global.id,
386
+ filter: {
387
+ branch: listener.filter.branch ?? [],
388
+ documentId: listener.filter.documentId ?? [],
389
+ documentType: listener.filter.documentType,
390
+ scope: listener.filter.scope ?? []
391
+ },
392
+ listenerId: listener.listenerId,
393
+ system: listener.system,
394
+ callInfo: listener.callInfo ?? undefined,
395
+ label: listener.label ?? ''
396
+ });
402
397
  }
403
398
  }
404
399
 
@@ -267,7 +267,7 @@ export abstract class BaseListenerManager {
267
267
  this.listenerState = listenerState;
268
268
  }
269
269
 
270
- abstract init(): Promise<void>;
270
+ abstract initDrive(drive: DocumentDriveDocument): Promise<void>;
271
271
 
272
272
  abstract addListener(listener: Listener): Promise<ITransmitter>;
273
273
  abstract removeListener(