Trigger a silent sync once a collection's share status is changed

This commit is contained in:
Vishnu Mohandas 2020-12-04 04:03:24 +05:30
parent 7b721e596b
commit 6a26d7482f

View file

@ -129,28 +129,32 @@ class CollectionsService {
Future<void> share(int collectionID, String email, String publicKey) {
final encryptedKey = CryptoUtil.sealSync(
getCollectionKey(collectionID), Sodium.base642bin(publicKey));
return _dio.post(
Configuration.instance.getHttpEndpoint() + "/collections/share",
data: {
"collectionID": collectionID,
"email": email,
"encryptedKey": Sodium.bin2base64(encryptedKey),
},
options:
Options(headers: {"X-Auth-Token": Configuration.instance.getToken()}),
);
return _dio
.post(
Configuration.instance.getHttpEndpoint() + "/collections/share",
data: {
"collectionID": collectionID,
"email": email,
"encryptedKey": Sodium.bin2base64(encryptedKey),
},
options: Options(
headers: {"X-Auth-Token": Configuration.instance.getToken()}),
)
.then((value) => SyncService.instance.syncWithRemote(silently: true));
}
Future<void> unshare(int collectionID, String email) {
return _dio.post(
Configuration.instance.getHttpEndpoint() + "/collections/unshare",
data: {
"collectionID": collectionID,
"email": email,
},
options:
Options(headers: {"X-Auth-Token": Configuration.instance.getToken()}),
);
return _dio
.post(
Configuration.instance.getHttpEndpoint() + "/collections/unshare",
data: {
"collectionID": collectionID,
"email": email,
},
options: Options(
headers: {"X-Auth-Token": Configuration.instance.getToken()}),
)
.then((value) => SyncService.instance.syncWithRemote(silently: true));
}
Uint8List getCollectionKey(int collectionID) {