marinofaggiana 5 жил өмнө
parent
commit
cc40e8ad5e

+ 1 - 1
iOSClient/CCGlobal.h

@@ -81,7 +81,7 @@
 
 // Database Realm
 #define k_databaseDefault                               @"nextcloud.realm"
-#define k_databaseSchemaVersion                         57
+#define k_databaseSchemaVersion                         58
 
 // Intro selector
 #define k_intro_login                                   0

+ 1 - 0
iOSClient/Database/NCDatabase.swift

@@ -398,6 +398,7 @@ class tableShare: Object {
     @objc dynamic var permissions: Int = 0
     @objc dynamic var serverUrl = ""
     @objc dynamic var sharedDate: NSDate? = nil
+    @objc dynamic var sharedPath = ""
     @objc dynamic var shareType: Int = 0
     @objc dynamic var shareWith = ""
     @objc dynamic var shareWithDisplayName = ""

+ 4 - 3
iOSClient/Database/NCManageDatabase.swift

@@ -2257,14 +2257,14 @@ class NCManageDatabase: NSObject {
     //MARK: -
     //MARK: Table Share
     
-    @objc func addShare(account: String, activeUrl: String, items: [OCSharedDto]) {
+    @objc func addShare(account: String, activeUrl: String, items: [OCSharedDto], sharedPath: String) {
         
         let realm = try! Realm()
 
         do {
             try realm.write {
 
-                let results = realm.objects(tableShare.self).filter("account = %@", account)
+                let results = realm.objects(tableShare.self).filter("account == %@ AND sharedPath == %@", account, sharedPath)
                 realm.delete(results)
                 
                 for sharedDto in items {
@@ -2297,6 +2297,7 @@ class NCManageDatabase: NSObject {
                     addObject.permissions = sharedDto.permissions
                     addObject.parent = sharedDto.parent
                     addObject.sharedDate = Date(timeIntervalSince1970: TimeInterval(sharedDto.sharedDate)) as NSDate
+                    addObject.sharedPath = sharedPath
                     addObject.shareType = sharedDto.shareType
                     addObject.shareWith = sharedDto.shareWith
                     addObject.shareWithDisplayName = sharedDto.shareWithDisplayName
@@ -2324,7 +2325,7 @@ class NCManageDatabase: NSObject {
         let realm = try! Realm()
         realm.refresh()
         
-        let results = realm.objects(tableShare.self).filter("account = %@", account).sorted(byKeyPath: "fileName", ascending: true)
+        let results = realm.objects(tableShare.self).filter("account == %@", account).sorted(byKeyPath: "fileName", ascending: true)
         
         return Array(results)
     }

+ 4 - 4
iOSClient/Share/NCShareNetworking.swift

@@ -46,7 +46,7 @@ class NCShareNetworking: NSObject {
             NCUtility.sharedInstance.stopActivityIndicator()
             if errorCode == 0 {
                 let itemsOCSharedDto = items as! [OCSharedDto]
-                NCManageDatabase.sharedInstance.addShare(account: self.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
+                NCManageDatabase.sharedInstance.addShare(account: self.account, activeUrl: self.activeUrl, items: itemsOCSharedDto, sharedPath: "")
             } else {
                 self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
             }
@@ -60,7 +60,7 @@ class NCShareNetworking: NSObject {
             NCUtility.sharedInstance.stopActivityIndicator()
             if errorCode == 0 {
                 let itemsOCSharedDto = items as! [OCSharedDto]
-                NCManageDatabase.sharedInstance.addShare(account: self.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
+                NCManageDatabase.sharedInstance.addShare(account: self.account, activeUrl: self.activeUrl, items: itemsOCSharedDto, sharedPath:path)
             } else {
                 self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
             }
@@ -77,7 +77,7 @@ class NCShareNetworking: NSObject {
                     NCUtility.sharedInstance.stopActivityIndicator()
                     if errorCode == 0 {
                         let itemsOCSharedDto = items as! [OCSharedDto]
-                        NCManageDatabase.sharedInstance.addShare(account: self.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
+                        NCManageDatabase.sharedInstance.addShare(account: self.account, activeUrl: self.activeUrl, items: itemsOCSharedDto, sharedPath: "")
                     } else {
                         self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
                     }
@@ -141,7 +141,7 @@ class NCShareNetworking: NSObject {
                     NCUtility.sharedInstance.stopActivityIndicator()
                     if errorCode == 0 {
                         let itemsOCSharedDto = items as! [OCSharedDto]
-                        NCManageDatabase.sharedInstance.addShare(account: self.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
+                        NCManageDatabase.sharedInstance.addShare(account: self.account, activeUrl: self.activeUrl, items: itemsOCSharedDto, sharedPath: "")
                     } else {
                         self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
                     }