Backup shared folder if not being backed up already
This commit is contained in:
parent
ab30c18b6e
commit
25a78ee52b
2 changed files with 20 additions and 5 deletions
|
@ -247,14 +247,17 @@ class CollectionsService {
|
|||
|
||||
void _cacheCollectionAttributes(Collection collection) {
|
||||
if (collection.attributes.encryptedPath != null) {
|
||||
var path = utf8.decode(CryptoUtil.decryptSync(
|
||||
Sodium.base642bin(collection.attributes.encryptedPath),
|
||||
_config.getKey(),
|
||||
Sodium.base642bin(collection.attributes.pathDecryptionNonce)));
|
||||
_localCollections[path] = collection;
|
||||
_localCollections[decryptCollectionPath(collection)] = collection;
|
||||
}
|
||||
_collectionIDToCollections[collection.id] = collection;
|
||||
}
|
||||
|
||||
String decryptCollectionPath(Collection collection) {
|
||||
return utf8.decode(CryptoUtil.decryptSync(
|
||||
Sodium.base642bin(collection.attributes.encryptedPath),
|
||||
_config.getKey(),
|
||||
Sodium.base642bin(collection.attributes.pathDecryptionNonce)));
|
||||
}
|
||||
}
|
||||
|
||||
class AddFilesRequest {
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_sodium/flutter_sodium.dart';
|
||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||
import 'package:photos/core/configuration.dart';
|
||||
import 'package:photos/db/public_keys_db.dart';
|
||||
import 'package:photos/models/collection.dart';
|
||||
import 'package:photos/models/public_key.dart';
|
||||
import 'package:photos/services/collections_service.dart';
|
||||
import 'package:photos/services/sync_service.dart';
|
||||
import 'package:photos/services/user_service.dart';
|
||||
import 'package:photos/ui/common_elements.dart';
|
||||
import 'package:photos/ui/loading_widget.dart';
|
||||
import 'package:photos/utils/crypto_util.dart';
|
||||
import 'package:photos/utils/dialog_util.dart';
|
||||
import 'package:photos/utils/email_util.dart';
|
||||
import 'package:photos/utils/share_util.dart';
|
||||
|
@ -199,6 +202,15 @@ class _SharingDialogState extends State<SharingDialog> {
|
|||
} else {
|
||||
final dialog = createProgressDialog(context, "Sharing...");
|
||||
await dialog.show();
|
||||
final collection = widget.collection;
|
||||
if (collection.type == CollectionType.folder) {
|
||||
final path =
|
||||
CollectionsService.instance.decryptCollectionPath(collection);
|
||||
if (!Configuration.instance.getPathsToBackUp().contains(path)) {
|
||||
await Configuration.instance.addPathToFoldersToBeBackedUp(path);
|
||||
SyncService.instance.sync();
|
||||
}
|
||||
}
|
||||
try {
|
||||
await CollectionsService.instance
|
||||
.share(widget.collection.id, email, publicKey);
|
||||
|
|
Loading…
Add table
Reference in a new issue