@filen/sync 0.1.3 → 0.1.4

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.
@@ -112,7 +112,7 @@ class RemoteFileSystem {
112
112
  });
113
113
  continue;
114
114
  }
115
- if (this.sync.excludeDotFiles && decrypted.name.startsWith(".")) {
115
+ if (this.sync.excludeDotFiles && (0, utils_1.pathIncludesDotFile)(folderPath)) {
116
116
  ignored.push({
117
117
  localPath,
118
118
  relativePath: folderPath,
@@ -186,6 +186,14 @@ class RemoteFileSystem {
186
186
  if (filePath.startsWith(constants_1.LOCAL_TRASH_NAME) || decrypted.name.startsWith(constants_1.LOCAL_TRASH_NAME)) {
187
187
  return;
188
188
  }
189
+ if (decrypted.size <= 0) {
190
+ ignored.push({
191
+ localPath,
192
+ relativePath: filePath,
193
+ reason: "empty"
194
+ });
195
+ return;
196
+ }
189
197
  if (this.sync.remoteIgnorer.ignores(filePath)) {
190
198
  ignored.push({
191
199
  localPath,
@@ -194,7 +202,7 @@ class RemoteFileSystem {
194
202
  });
195
203
  return;
196
204
  }
197
- if (this.sync.excludeDotFiles && decrypted.name.startsWith(".")) {
205
+ if (this.sync.excludeDotFiles && (0, utils_1.pathIncludesDotFile)(filePath)) {
198
206
  ignored.push({
199
207
  localPath,
200
208
  relativePath: filePath,
@@ -270,8 +278,8 @@ class RemoteFileSystem {
270
278
  };
271
279
  return {
272
280
  result: {
273
- tree,
274
- uuids
281
+ tree: this.getDirectoryTreeCache.tree,
282
+ uuids: this.getDirectoryTreeCache.uuids
275
283
  },
276
284
  ignored,
277
285
  changed: true
@@ -400,9 +408,28 @@ class RemoteFileSystem {
400
408
  * @returns {Promise<void>}
401
409
  */
402
410
  async unlink({ relativePath, type, permanent = false }) {
411
+ let uuid = null;
412
+ const cleanItemEntry = async () => {
413
+ if (!uuid) {
414
+ return;
415
+ }
416
+ await this.itemsMutex.acquire();
417
+ delete this.getDirectoryTreeCache.tree[relativePath];
418
+ delete this.getDirectoryTreeCache.uuids[uuid];
419
+ for (const entry in this.getDirectoryTreeCache.tree) {
420
+ if (entry.startsWith(relativePath + "/") || entry === relativePath) {
421
+ const entryItem = this.getDirectoryTreeCache.tree[entry];
422
+ if (entryItem) {
423
+ delete this.getDirectoryTreeCache.uuids[entryItem.uuid];
424
+ }
425
+ delete this.getDirectoryTreeCache.tree[entry];
426
+ }
427
+ }
428
+ this.itemsMutex.release();
429
+ };
403
430
  await this.mutex.acquire();
404
431
  try {
405
- const uuid = await this.pathToItemUUID({ relativePath });
432
+ uuid = await this.pathToItemUUID({ relativePath });
406
433
  const item = this.getDirectoryTreeCache.tree[relativePath];
407
434
  if (!uuid || !item) {
408
435
  return;
@@ -427,19 +454,15 @@ class RemoteFileSystem {
427
454
  await this.sync.sdk.cloud().trashFile({ uuid });
428
455
  }
429
456
  }
430
- await this.itemsMutex.acquire();
431
- delete this.getDirectoryTreeCache.tree[relativePath];
432
- delete this.getDirectoryTreeCache.uuids[uuid];
433
- for (const entry in this.getDirectoryTreeCache.tree) {
434
- if (entry.startsWith(relativePath + "/") || entry === relativePath) {
435
- const entryItem = this.getDirectoryTreeCache.tree[entry];
436
- if (entryItem) {
437
- delete this.getDirectoryTreeCache.uuids[entryItem.uuid];
438
- }
439
- delete this.getDirectoryTreeCache.tree[entry];
440
- }
457
+ await cleanItemEntry();
458
+ }
459
+ catch (e) {
460
+ if (e instanceof sdk_1.APIError && (e.code === "file_not_found" || e.code === "folder_not_found")) {
461
+ await cleanItemEntry();
462
+ }
463
+ else {
464
+ throw e;
441
465
  }
442
- this.itemsMutex.release();
443
466
  }
444
467
  finally {
445
468
  this.mutex.release();
@@ -460,7 +483,7 @@ class RemoteFileSystem {
460
483
  await this.mutex.acquire();
461
484
  try {
462
485
  if (fromRelativePath === "/" || fromRelativePath === toRelativePath) {
463
- return;
486
+ throw new Error("Invalid paths.");
464
487
  }
465
488
  const uuid = await this.pathToItemUUID({ relativePath: fromRelativePath });
466
489
  const item = this.getDirectoryTreeCache.tree[fromRelativePath];
@@ -486,7 +509,7 @@ class RemoteFileSystem {
486
509
  });
487
510
  if (newParentPath === currentParentPath) {
488
511
  if (toRelativePath === "/" || newBasename.length <= 0) {
489
- return;
512
+ throw new Error("Invalid paths.");
490
513
  }
491
514
  if (item.type === "directory") {
492
515
  await this.sync.sdk.cloud().renameDirectory({
@@ -504,7 +527,7 @@ class RemoteFileSystem {
504
527
  }
505
528
  else {
506
529
  if (toRelativePath.startsWith(fromRelativePath)) {
507
- return;
530
+ throw new Error("Invalid paths.");
508
531
  }
509
532
  if (oldBasename !== newBasename) {
510
533
  if (item.type === "directory") {
@@ -558,26 +581,26 @@ class RemoteFileSystem {
558
581
  });
559
582
  }
560
583
  }
561
- await this.itemsMutex.acquire();
562
- this.getDirectoryTreeCache.tree[toRelativePath] = Object.assign(Object.assign({}, item), { name: path_1.default.basename(toRelativePath), path: toRelativePath });
563
- this.getDirectoryTreeCache.uuids[item.uuid] = Object.assign(Object.assign({}, item), { name: path_1.default.basename(toRelativePath), path: toRelativePath });
564
- delete this.getDirectoryTreeCache.tree[fromRelativePath];
565
- for (const oldPath in this.getDirectoryTreeCache.tree) {
566
- if (oldPath.startsWith(fromRelativePath + "/") && oldPath !== fromRelativePath) {
567
- const newPath = oldPath.split(fromRelativePath).join(toRelativePath);
568
- const oldItem = this.getDirectoryTreeCache.tree[oldPath];
569
- if (oldItem) {
570
- this.getDirectoryTreeCache.tree[newPath] = Object.assign(Object.assign({}, oldItem), { name: path_1.default.basename(newPath), path: newPath });
571
- delete this.getDirectoryTreeCache.tree[oldPath];
572
- const oldItemUUID = this.getDirectoryTreeCache.uuids[oldItem.uuid];
573
- if (oldItemUUID) {
574
- this.getDirectoryTreeCache.uuids[oldItem.uuid] = Object.assign(Object.assign({}, oldItemUUID), { name: path_1.default.basename(newPath), path: newPath });
575
- }
584
+ }
585
+ await this.itemsMutex.acquire();
586
+ this.getDirectoryTreeCache.tree[toRelativePath] = Object.assign(Object.assign({}, item), { name: path_1.default.basename(toRelativePath), path: toRelativePath });
587
+ this.getDirectoryTreeCache.uuids[item.uuid] = Object.assign(Object.assign({}, item), { name: path_1.default.basename(toRelativePath), path: toRelativePath });
588
+ delete this.getDirectoryTreeCache.tree[fromRelativePath];
589
+ for (const oldPath in this.getDirectoryTreeCache.tree) {
590
+ if (oldPath.startsWith(fromRelativePath + "/") && oldPath !== fromRelativePath) {
591
+ const newPath = (0, utils_1.replacePathStartWithFromAndTo)(oldPath, fromRelativePath, toRelativePath);
592
+ const oldItem = this.getDirectoryTreeCache.tree[oldPath];
593
+ if (oldItem) {
594
+ this.getDirectoryTreeCache.tree[newPath] = Object.assign(Object.assign({}, oldItem), { name: path_1.default.basename(newPath), path: newPath });
595
+ delete this.getDirectoryTreeCache.tree[oldPath];
596
+ const oldItemUUID = this.getDirectoryTreeCache.uuids[oldItem.uuid];
597
+ if (oldItemUUID) {
598
+ this.getDirectoryTreeCache.uuids[oldItem.uuid] = Object.assign(Object.assign({}, oldItemUUID), { name: path_1.default.basename(newPath), path: newPath });
576
599
  }
577
600
  }
578
601
  }
579
- this.itemsMutex.release();
580
602
  }
603
+ this.itemsMutex.release();
581
604
  }
582
605
  finally {
583
606
  this.mutex.release();
@@ -598,6 +621,14 @@ class RemoteFileSystem {
598
621
  const localPath = path_1.default.posix.join(this.sync.syncPair.localPath, relativePath);
599
622
  const tmpLocalPath = path_1.default.join(this.sync.syncPair.localPath, constants_1.LOCAL_TRASH_NAME, (0, uuid_1.v4)());
600
623
  const signalKey = `upload:${relativePath}`;
624
+ const uuid = await this.pathToItemUUID({ relativePath });
625
+ const item = this.getDirectoryTreeCache.tree[relativePath];
626
+ if (!uuid || !item) {
627
+ throw new Error(`Could not download ${relativePath}: File not found.`);
628
+ }
629
+ if (item.type === "directory") {
630
+ throw new Error(`Could not download ${relativePath}: Not a file.`);
631
+ }
601
632
  if (!this.sync.pauseSignals[signalKey]) {
602
633
  this.sync.pauseSignals[signalKey] = new sdk_1.PauseSignal();
603
634
  }
@@ -611,18 +642,11 @@ class RemoteFileSystem {
611
642
  of: "download",
612
643
  type: "queued",
613
644
  relativePath,
614
- localPath
645
+ localPath,
646
+ size: item.size
615
647
  }
616
648
  });
617
649
  try {
618
- const uuid = await this.pathToItemUUID({ relativePath });
619
- const item = this.getDirectoryTreeCache.tree[relativePath];
620
- if (!uuid || !item) {
621
- throw new Error(`Could not download ${relativePath}: File not found.`);
622
- }
623
- if (item.type === "directory") {
624
- throw new Error(`Could not download ${relativePath}: Not a file.`);
625
- }
626
650
  await this.sync.sdk.cloud().downloadFileToLocal({
627
651
  uuid,
628
652
  bucket: item.bucket,
@@ -644,7 +668,8 @@ class RemoteFileSystem {
644
668
  type: "error",
645
669
  relativePath,
646
670
  localPath,
647
- error: (0, utils_1.serializeError)(err)
671
+ error: (0, utils_1.serializeError)(err),
672
+ size: item.size
648
673
  }
649
674
  });
650
675
  },
@@ -657,7 +682,8 @@ class RemoteFileSystem {
657
682
  type: "progress",
658
683
  relativePath,
659
684
  localPath,
660
- bytes
685
+ bytes,
686
+ size: item.size
661
687
  }
662
688
  });
663
689
  },
@@ -669,7 +695,8 @@ class RemoteFileSystem {
669
695
  of: "download",
670
696
  type: "started",
671
697
  relativePath,
672
- localPath
698
+ localPath,
699
+ size: item.size
673
700
  }
674
701
  });
675
702
  }
@@ -678,6 +705,19 @@ class RemoteFileSystem {
678
705
  await fs_extra_1.default.move(tmpLocalPath, localPath, {
679
706
  overwrite: true
680
707
  });
708
+ const stats = await fs_extra_1.default.stat(localPath);
709
+ const localItem = {
710
+ type: "file",
711
+ inode: parseInt(stats.ino), // Sometimes comes as a float, but we need an int
712
+ lastModified: parseInt(stats.mtimeMs), // Sometimes comes as a float, but we need an int
713
+ creation: parseInt(stats.birthtimeMs), // Sometimes comes as a float, but we need an int
714
+ size: parseInt(stats.size), // Sometimes comes as a float, but we need an int
715
+ path: relativePath
716
+ };
717
+ await this.sync.localFileSystem.itemsMutex.acquire();
718
+ this.sync.localFileSystem.getDirectoryTreeCache.tree[relativePath] = localItem;
719
+ this.sync.localFileSystem.getDirectoryTreeCache.inodes[localItem.inode] = localItem;
720
+ this.sync.localFileSystem.itemsMutex.release();
681
721
  (0, ipc_1.postMessageToMain)({
682
722
  type: "transfer",
683
723
  syncPair: this.sync.syncPair,
@@ -685,10 +725,11 @@ class RemoteFileSystem {
685
725
  of: "download",
686
726
  type: "finished",
687
727
  relativePath,
688
- localPath
728
+ localPath,
729
+ size: item.size
689
730
  }
690
731
  });
691
- return await fs_extra_1.default.stat(localPath);
732
+ return stats;
692
733
  }
693
734
  catch (e) {
694
735
  this.sync.worker.logger.log("error", e, "filesystems.remote.download");
@@ -701,7 +742,8 @@ class RemoteFileSystem {
701
742
  type: "error",
702
743
  relativePath,
703
744
  localPath,
704
- error: (0, utils_1.serializeError)(e)
745
+ error: (0, utils_1.serializeError)(e),
746
+ size: item.size
705
747
  }
706
748
  });
707
749
  }
@@ -712,6 +754,54 @@ class RemoteFileSystem {
712
754
  delete this.sync.abortControllers[signalKey];
713
755
  }
714
756
  }
757
+ async remoteDirPathExisting() {
758
+ try {
759
+ const present = await this.sync.sdk.api(3).dir().present({ uuid: this.sync.syncPair.remoteParentUUID });
760
+ if (!present.present || present.trash) {
761
+ return false;
762
+ }
763
+ return true;
764
+ }
765
+ catch (_a) {
766
+ return false;
767
+ }
768
+ }
769
+ async directoryExists(relativePath) {
770
+ try {
771
+ const item = this.getDirectoryTreeCache.tree[relativePath];
772
+ if (!item) {
773
+ return false;
774
+ }
775
+ const present = await this.sync.sdk.api(3).dir().present({ uuid: item.uuid });
776
+ if (!present.present || present.trash) {
777
+ return false;
778
+ }
779
+ return true;
780
+ }
781
+ catch (_a) {
782
+ return false;
783
+ }
784
+ }
785
+ async fileExists(relativePath) {
786
+ try {
787
+ const item = this.getDirectoryTreeCache.tree[relativePath];
788
+ const parent = this.getDirectoryTreeCache.tree[path_1.default.posix.dirname(relativePath)];
789
+ if (!item || !parent) {
790
+ return false;
791
+ }
792
+ const { exists, existsUUID } = await this.sync.sdk.api(3).file().exists({
793
+ name: item.name,
794
+ parent: parent.uuid
795
+ });
796
+ if (!exists || existsUUID !== item.uuid) {
797
+ return false;
798
+ }
799
+ return true;
800
+ }
801
+ catch (_a) {
802
+ return false;
803
+ }
804
+ }
715
805
  }
716
806
  exports.RemoteFileSystem = RemoteFileSystem;
717
807
  exports.default = RemoteFileSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/lib/filesystems/remote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/lib/filesystems/remote.ts"],"names":[],"mappings":"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"}
package/dist/lib/ipc.js CHANGED
@@ -43,6 +43,10 @@ exports.throttlePostMessageToMain = throttlePostMessageToMain;
43
43
  */
44
44
  function postMessageToMain(message) {
45
45
  throttlePostMessageToMain(message, throttledMessage => {
46
+ if (process.onMessage) {
47
+ process.onMessage(message);
48
+ return;
49
+ }
46
50
  if (worker_threads_1.isMainThread || !worker_threads_1.parentPort) {
47
51
  if (process.send) {
48
52
  process.send(throttledMessage);
@@ -1 +1 @@
1
- {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/lib/ipc.ts"],"names":[],"mappings":";;;AAAA,mDAAyD;AAGzD,MAAM,iCAAiC,GAMnC,EAAE,CAAA;AAEN,mJAAmJ;AACnJ,uDAAuD;AACvD,SAAgB,yBAAyB,CAAC,OAAoB,EAAE,QAAwC;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrE,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAEnG,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,iCAAiC,CAAC,GAAG,CAAC,GAAG;gBACxC,IAAI,EAAE,CAAC;gBACP,WAAW,EAAE,CAAC;aACd,CAAA;QACF,CAAC;QAED,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;QAEzE,IAAI,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACxD,OAAM;QACP,CAAC;QAED,OAAO,mCACH,OAAO,KACV,IAAI,kCACA,OAAO,CAAC,IAAI,KACf,KAAK,EAAE,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,MAE3D,CAAA;IACF,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7F,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,GAAG,CAAC,CAAA;QACvD,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;QAExD,IACC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC9B,wDAAwD;YACxD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAC/B,CAAC;YACF,OAAO,iCAAiC,CAAC,GAAG,CAAC,CAAA;QAC9C,CAAC;IACF,CAAC;AACF,CAAC;AA5CD,8DA4CC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAoB;IACrD,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE;QACrD,IAAI,6BAAY,IAAI,CAAC,2BAAU,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC/B,CAAC;YAED,OAAM;QACP,CAAC;QAED,2BAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACH,CAAC;AAZD,8CAYC"}
1
+ {"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../src/lib/ipc.ts"],"names":[],"mappings":";;;AAAA,mDAAyD;AAGzD,MAAM,iCAAiC,GAMnC,EAAE,CAAA;AAEN,mJAAmJ;AACnJ,uDAAuD;AACvD,SAAgB,yBAAyB,CAAC,OAAoB,EAAE,QAAwC;IACvG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,IAAI,GAAG,GAAG,EAAE,CAAA;IAEZ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrE,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAEnG,IAAI,CAAC,iCAAiC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7C,iCAAiC,CAAC,GAAG,CAAC,GAAG;gBACxC,IAAI,EAAE,CAAC;gBACP,WAAW,EAAE,CAAC;aACd,CAAA;QACF,CAAC;QAED,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;QAEzE,IAAI,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;YACxD,OAAM;QACP,CAAC;QAED,OAAO,mCACH,OAAO,KACV,IAAI,kCACA,OAAO,CAAC,IAAI,KACf,KAAK,EAAE,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,MAE3D,CAAA;IACF,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEjB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7F,iCAAiC,CAAC,GAAG,CAAE,CAAC,WAAW,GAAG,CAAC,CAAA;QACvD,iCAAiC,CAAC,GAAG,CAAE,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;QAExD,IACC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC9B,wDAAwD;YACxD,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAC/B,CAAC;YACF,OAAO,iCAAiC,CAAC,GAAG,CAAC,CAAA;QAC9C,CAAC;IACF,CAAC;AACF,CAAC;AA5CD,8DA4CC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,OAAoB;IACrD,yBAAyB,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE;QACrD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAE1B,OAAM;QACP,CAAC;QAED,IAAI,6BAAY,IAAI,CAAC,2BAAU,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAC/B,CAAC;YAED,OAAM;QACP,CAAC;QAED,2BAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;IACzC,CAAC,CAAC,CAAA;AACH,CAAC;AAlBD,8CAkBC"}
@@ -0,0 +1,13 @@
1
+ import type Sync from "./sync";
2
+ export declare class Lock {
3
+ private readonly sync;
4
+ private readonly resource;
5
+ private readonly lockUUID;
6
+ private lockAcquired;
7
+ private readonly mutex;
8
+ private lockRefreshInterval;
9
+ constructor(sync: Sync);
10
+ acquire(): Promise<void>;
11
+ release(): Promise<void>;
12
+ }
13
+ export default Lock;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lock = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const semaphore_1 = require("../semaphore");
6
+ class Lock {
7
+ constructor(sync) {
8
+ this.resource = "filen-sync";
9
+ this.lockUUID = (0, uuid_1.v4)();
10
+ this.lockAcquired = false;
11
+ this.mutex = new semaphore_1.Semaphore(1);
12
+ this.lockRefreshInterval = undefined;
13
+ this.sync = sync;
14
+ }
15
+ async acquire() {
16
+ await this.mutex.acquire();
17
+ clearInterval(this.lockRefreshInterval);
18
+ try {
19
+ await this.sync.sdk.user().acquireResourceLock({
20
+ resource: this.resource,
21
+ lockUUID: this.lockUUID,
22
+ maxTries: Infinity,
23
+ tryTimeout: 1000
24
+ });
25
+ this.lockRefreshInterval = setInterval(async () => {
26
+ await this.mutex.acquire();
27
+ try {
28
+ if (!this.lockAcquired) {
29
+ return;
30
+ }
31
+ await this.sync.sdk.user().refreshResourceLock({
32
+ resource: this.resource,
33
+ lockUUID: this.lockUUID
34
+ });
35
+ this.lockAcquired = true;
36
+ }
37
+ catch (_a) {
38
+ await this.release().catch(() => { });
39
+ }
40
+ finally {
41
+ this.mutex.release();
42
+ }
43
+ }, 5000);
44
+ this.lockAcquired = true;
45
+ }
46
+ finally {
47
+ this.mutex.release();
48
+ }
49
+ }
50
+ async release() {
51
+ await this.mutex.acquire();
52
+ clearInterval(this.lockRefreshInterval);
53
+ try {
54
+ if (!this.lockAcquired) {
55
+ return;
56
+ }
57
+ await this.sync.sdk.user().releaseResourceLock({
58
+ resource: this.resource,
59
+ lockUUID: this.lockUUID
60
+ });
61
+ this.lockAcquired = false;
62
+ }
63
+ catch (_a) {
64
+ this.lockAcquired = false;
65
+ }
66
+ finally {
67
+ this.mutex.release();
68
+ }
69
+ }
70
+ }
71
+ exports.Lock = Lock;
72
+ exports.default = Lock;
73
+ //# sourceMappingURL=lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/lib/lock.ts"],"names":[],"mappings":";;;AACA,+BAAmC;AACnC,4CAAwC;AAExC,MAAa,IAAI;IAQhB,YAAmB,IAAU;QANZ,aAAQ,GAAG,YAAY,CAAA;QACvB,aAAQ,GAAG,IAAA,SAAM,GAAE,CAAA;QAC5B,iBAAY,GAAG,KAAK,CAAA;QACX,UAAK,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAA;QACjC,wBAAmB,GAA+C,SAAS,CAAA;QAGlF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAE1B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAEvC,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC;gBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,QAAQ;gBAClB,UAAU,EAAE,IAAI;aAChB,CAAC,CAAA;YAEF,IAAI,CAAC,mBAAmB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACjD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;gBAE1B,IAAI,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBACxB,OAAM;oBACP,CAAC;oBAED,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC;wBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACvB,CAAC,CAAA;oBAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;gBACzB,CAAC;gBAAC,WAAM,CAAC;oBACR,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBACrC,CAAC;wBAAS,CAAC;oBACV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;gBACrB,CAAC;YACF,CAAC,EAAE,IAAI,CAAC,CAAA;YAER,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QACzB,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACrB,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QAE1B,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAEvC,IAAI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxB,OAAM;YACP,CAAC;YAED,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC;gBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAA;YAEF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAC1B,CAAC;QAAC,WAAM,CAAC;YACR,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QAC1B,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAA;QACrB,CAAC;IACF,CAAC;CACD;AA1ED,oBA0EC;AAED,kBAAe,IAAI,CAAA"}