Browse Source

Update contract of the FileUploader

Vishnu Mohandas 4 years ago
parent
commit
f6e6e8bf49
2 changed files with 7 additions and 6 deletions
  1. 4 1
      lib/services/sync_service.dart
  2. 3 5
      lib/utils/file_uploader.dart

+ 4 - 1
lib/services/sync_service.dart

@@ -23,7 +23,7 @@ class SyncService {
   final _logger = Logger("PhotoSyncManager");
   final _dio = Dio();
   final _db = FilesDB.instance;
-  final _uploader = FileUploader();
+  final _uploader = FileUploader.instance;
   final _downloader = DiffFetcher();
   bool _isSyncInProgress = false;
   bool _syncStopRequested = false;
@@ -198,6 +198,9 @@ class SyncService {
         continue;
       }
       try {
+        file.collectionID = (await CollectionsService.instance
+                .getOrCreateForPath(file.deviceFolder))
+            .id;
         var uploadedFile;
         if (Configuration.instance.hasOptedForE2E()) {
           uploadedFile = await _uploader.encryptAndUploadFile(file);

+ 3 - 5
lib/utils/file_uploader.dart

@@ -16,6 +16,9 @@ class FileUploader {
   final _logger = Logger("FileUploader");
   final _dio = Dio();
 
+  FileUploader._privateConstructor();
+  static FileUploader instance = FileUploader._privateConstructor();
+
   Future<UploadURL> getUploadURL() {
     return Dio()
         .get(
@@ -51,11 +54,6 @@ class FileUploader {
 
   Future<File> encryptAndUploadFile(File file) async {
     _logger.info("Uploading " + file.toString());
-
-    file.collectionID = (await CollectionsService.instance
-            .getOrCreateForPath(file.deviceFolder))
-        .id;
-
     final encryptedFileName = file.generatedID.toString() + ".encrypted";
     final tempDirectory = Configuration.instance.getTempDirectory();
     final encryptedFilePath = tempDirectory + encryptedFileName;