Browse Source

new class clearDB

Marino Faggiana 8 years ago
parent
commit
56ef6d41a2

+ 0 - 1
iOSClient/FileSystem/CCCoreData.h

@@ -240,7 +240,6 @@
 + (void)moveAllUserToGroup;
 
 + (void)flushTableAccount:(NSString *)account;
-+ (void)flushTableActivityAccount:(NSString *)account;
 + (void)flushTableAutomaticUploadAccount:(NSString *)account selector:(NSString *)selector;
 + (void)flushTableCapabilitiesAccount:(NSString *)account;
 + (void)flushTableCertificates;

+ 18 - 0
iOSClient/FileSystem/NCManageDatabase.swift

@@ -25,6 +25,24 @@ class NCManageDatabase: NSObject {
         Realm.Configuration.defaultConfiguration = config
     }
     
+    func clearDB(_ table : Object.Type, account: String?) {
+        
+        let results : Results<Object>
+        let realm = try! Realm()
+        
+        if (account != nil) {
+            
+            results = realm.objects(table).filter("account = \(account!)")
+
+        } else {
+         
+            results = realm.objects(table)
+        }
+    
+        try! realm.write {
+            realm.delete(results)
+        }
+    }
     
     func addActivityServer(_ listOfActivity: [OCActivity], account: String) {
     

+ 4 - 3
iOSClient/Settings/CCAdvanced.m

@@ -290,8 +290,8 @@
 {
     [self deselectFormRow:sender];
     
-    [CCCoreData flushTableActivityAccount:app.activeAccount];
-    
+    [[NCManageDatabase sharedInstance] clearDB:[DBActivity class] account:app.activeAccount];
+        
     [app.activeActivity reloadDatasource];
 }
 
@@ -317,7 +317,8 @@
             [[NSURLCache sharedURLCache] setMemoryCapacity:0];
             [[NSURLCache sharedURLCache] setDiskCapacity:0];
             
-            [CCCoreData flushTableActivityAccount:app.activeAccount];
+            [[NCManageDatabase sharedInstance] clearDB:[DBActivity class] account:app.activeAccount];
+
             [CCCoreData flushTableAutomaticUploadAccount:app.activeAccount selector:nil];
             [CCCoreData flushTableCapabilitiesAccount:app.activeAccount];
             [CCCoreData flushTableDirectoryAccount:app.activeAccount];

+ 3 - 1
iOSClient/Settings/CCManageAccount.m

@@ -323,7 +323,9 @@
 - (void)deleteAccount:(NSString *)account
 {
     [CCCoreData flushTableAccount:account];
-    [CCCoreData flushTableActivityAccount:account];
+    
+    [[NCManageDatabase sharedInstance] clearDB:[DBActivity class] account:account];
+    
     [CCCoreData flushTableAutomaticUploadAccount:account selector:nil];
     [CCCoreData flushTableCapabilitiesAccount:account];
     [CCCoreData flushTableDirectoryAccount:account];