|
@@ -24,6 +24,7 @@
|
|
|
//
|
|
|
|
|
|
import FloatingPanel
|
|
|
+import NCCommunication
|
|
|
|
|
|
extension CCMain {
|
|
|
|
|
@@ -338,43 +339,37 @@ extension CCMain {
|
|
|
title: NSLocalizedString("_e2e_set_folder_encrypted_", comment: ""),
|
|
|
icon: CCGraphics.changeThemingColorImage(UIImage(named: "lock"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon),
|
|
|
action: { menuAction in
|
|
|
- DispatchQueue.global(qos: .userInitiated).async {
|
|
|
- let serverUrl = self.serverUrl + "/" + metadata.fileName
|
|
|
- let error = NCNetworkingEndToEnd.sharedManager()?.markFolderEncrypted(onServerUrl: serverUrl, fileId: metadata.fileId, user: appDelegate.activeUser, userID: appDelegate.activeUserID, password: appDelegate.activePassword, url: appDelegate.activeUrl)
|
|
|
- DispatchQueue.main.async {
|
|
|
- if (error != nil) {
|
|
|
- NCContentPresenter.shared.messageNotification(NSLocalizedString("_e2e_error_mark_folder_", comment: ""), description: error?.localizedDescription, delay: TimeInterval(k_dismissAfterSecond), type: .error, errorCode: (error! as NSError).code)
|
|
|
- } else {
|
|
|
- NCManageDatabase.sharedInstance.deleteE2eEncryption(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", appDelegate.activeAccount, serverUrl))
|
|
|
- NCManageDatabase.sharedInstance.setDirectory(serverUrl: serverUrl, serverUrlTo: nil, etag: nil, ocId: nil, fileId: nil, encrypted: true, richWorkspace: nil, account: metadata.account)
|
|
|
- NCManageDatabase.sharedInstance.setMetadataEncrypted(ocId: metadata.ocId, encrypted: true)
|
|
|
- NCMainCommon.sharedInstance.reloadDatasource(ServerUrl: self.serverUrl, ocId: metadata.ocId, action: k_action_MOD)
|
|
|
- }
|
|
|
+ NCCommunication.shared.markE2EEFolder(fileId: metadata.fileId, method: "PUT") { (account, errorCode, errorDescription) in
|
|
|
+ if errorCode == 0 {
|
|
|
+ let serverUrl = self.serverUrl + "/" + metadata.fileName
|
|
|
+ NCManageDatabase.sharedInstance.deleteE2eEncryption(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", appDelegate.activeAccount, serverUrl))
|
|
|
+ NCManageDatabase.sharedInstance.setDirectory(serverUrl: serverUrl, serverUrlTo: nil, etag: nil, ocId: nil, fileId: nil, encrypted: true, richWorkspace: nil, account: metadata.account)
|
|
|
+ NCManageDatabase.sharedInstance.setMetadataEncrypted(ocId: metadata.ocId, encrypted: true)
|
|
|
+ NCMainCommon.sharedInstance.reloadDatasource(ServerUrl: self.serverUrl, ocId: metadata.ocId, action: k_action_MOD)
|
|
|
+ } else {
|
|
|
+ NCContentPresenter.shared.messageNotification(NSLocalizedString("_e2e_error_mark_folder_", comment: ""), description: errorDescription, delay: TimeInterval(k_dismissAfterSecond), type: .error, errorCode: errorCode)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
)
|
|
|
)
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (metadata.e2eEncrypted && !metadataFolder.e2eEncrypted && CCUtility.isEnd(toEndEnabled: appDelegate.activeAccount)) {
|
|
|
actions.append(
|
|
|
NCMenuAction(
|
|
|
title: NSLocalizedString("_e2e_remove_folder_encrypted_", comment: ""),
|
|
|
icon: CCGraphics.changeThemingColorImage(UIImage(named: "lock"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon),
|
|
|
action: { menuAction in
|
|
|
- DispatchQueue.global(qos: .userInitiated).async {
|
|
|
- let serverUrl = self.serverUrl + "/" + metadata.fileName
|
|
|
- let error = NCNetworkingEndToEnd.sharedManager()?.deletemarkEndToEndFolderEncrypted(onServerUrl: serverUrl, fileId: metadata.fileId, user: appDelegate.activeUser, userID: appDelegate.activeUserID, password: appDelegate.activePassword, url: appDelegate.activeUrl)
|
|
|
- DispatchQueue.main.async {
|
|
|
- if (error != nil) {
|
|
|
- NCContentPresenter.shared.messageNotification(NSLocalizedString("_e2e_error_delete_mark_folder_", comment: ""), description: error?.localizedDescription, delay: TimeInterval(k_dismissAfterSecond), type: .error, errorCode: (error! as NSError).code)
|
|
|
- } else {
|
|
|
- NCManageDatabase.sharedInstance.deleteE2eEncryption(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", appDelegate.activeAccount, "\(self.serverUrl ?? "")/\(metadata.fileName)"))
|
|
|
- NCManageDatabase.sharedInstance.setDirectory(serverUrl: serverUrl, serverUrlTo: nil, etag: nil, ocId: nil, fileId: nil, encrypted: false, richWorkspace: nil, account: metadata.account)
|
|
|
- NCManageDatabase.sharedInstance.setMetadataEncrypted(ocId: metadata.ocId, encrypted: false)
|
|
|
- NCMainCommon.sharedInstance.reloadDatasource(ServerUrl: self.serverUrl, ocId: metadata.ocId, action: k_action_MOD)
|
|
|
- }
|
|
|
+ NCCommunication.shared.markE2EEFolder(fileId: metadata.fileId, method: "DELETE") { (account, errorCode, errorDescription) in
|
|
|
+ if errorCode == 0 {
|
|
|
+ let serverUrl = self.serverUrl + "/" + metadata.fileName
|
|
|
+ NCManageDatabase.sharedInstance.deleteE2eEncryption(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", appDelegate.activeAccount, "\(self.serverUrl ?? "")/\(metadata.fileName)"))
|
|
|
+ NCManageDatabase.sharedInstance.setDirectory(serverUrl: serverUrl, serverUrlTo: nil, etag: nil, ocId: nil, fileId: nil, encrypted: false, richWorkspace: nil, account: metadata.account)
|
|
|
+ NCManageDatabase.sharedInstance.setMetadataEncrypted(ocId: metadata.ocId, encrypted: false)
|
|
|
+ NCMainCommon.sharedInstance.reloadDatasource(ServerUrl: self.serverUrl, ocId: metadata.ocId, action: k_action_MOD)
|
|
|
+ } else {
|
|
|
+ NCContentPresenter.shared.messageNotification(NSLocalizedString("_e2e_error_delete_mark_folder_", comment: ""), description: errorDescription, delay: TimeInterval(k_dismissAfterSecond), type: .error, errorCode: errorCode)
|
|
|
}
|
|
|
}
|
|
|
}
|