Browse Source

lint

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 1 year ago
parent
commit
dab8c9b6d1

+ 1 - 1
.swiftlint.yml

@@ -38,6 +38,7 @@ disabled_rules:
   - nesting
   - shorthand_operator
   - force_try
+  - type_name
     
 excluded:
   - Carthage
@@ -74,7 +75,6 @@ excluded:
   - iOSClient/Data/NCDatabase.swift
   - iOSClient/Data/NCElementsJSON.swift
   - iOSClient/Data/NCManageDatabase+Capabilities.swift
-  - iOSClient/Data/NCManageDatabase+Account.swift
   - iOSClient/Data/NCManageDatabase+Activity.swift
   - iOSClient/Data/NCManageDatabase+Avatar.swift
   - iOSClient/Data/NCManageDatabase+E2EE.swift

+ 91 - 81
iOSClient/Data/NCManageDatabase+Account.swift

@@ -103,9 +103,8 @@ extension NCManageDatabase {
 
     @objc func addAccount(_ account: String, urlBase: String, user: String, password: String) {
 
-        let realm = try! Realm()
-
         do {
+            let realm = try Realm()
             try realm.write {
                 let addObject = tableAccount()
 
@@ -135,9 +134,8 @@ extension NCManageDatabase {
 
     @objc func updateAccount(_ account: tableAccount) {
 
-        let realm = try! Realm()
-
         do {
+            let realm = try Realm()
             try realm.write {
                 realm.add(account, update: .all)
             }
@@ -148,9 +146,8 @@ extension NCManageDatabase {
 
     @objc func deleteAccount(_ account: String) {
 
-        let realm = try! Realm()
-
         do {
+            let realm = try Realm()
             try realm.write {
                 let result = realm.objects(tableAccount.self).filter("account == %@", account)
                 realm.delete(result)
@@ -162,23 +159,27 @@ extension NCManageDatabase {
 
     @objc func getActiveAccount() -> tableAccount? {
 
-        let realm = try! Realm()
-
-        guard let result = realm.objects(tableAccount.self).filter("active == true").first else {
-            return nil
+        do {
+            let realm = try Realm()
+            guard let result = realm.objects(tableAccount.self).filter("active == true").first else { return nil }
+            return tableAccount.init(value: result)
+        } catch let error as NSError {
+            NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
         }
 
-        return tableAccount.init(value: result)
+        return nil
     }
 
     @objc func getAccounts() -> [String]? {
 
-        let realm = try! Realm()
-
-        let results = realm.objects(tableAccount.self).sorted(byKeyPath: "account", ascending: true)
-
-        if results.count > 0 {
-            return Array(results.map { $0.account })
+        do {
+            let realm = try Realm()
+            let results = realm.objects(tableAccount.self).sorted(byKeyPath: "account", ascending: true)
+            if !results.isEmpty {
+                return Array(results.map { $0.account })
+            }
+        } catch let error as NSError {
+            NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
         }
 
         return nil
@@ -186,68 +187,82 @@ extension NCManageDatabase {
 
     @objc func getAccount(predicate: NSPredicate) -> tableAccount? {
 
-        let realm = try! Realm()
-
-        guard let result = realm.objects(tableAccount.self).filter(predicate).first else {
-            return nil
+        do {
+            let realm = try Realm()
+            guard let result = realm.objects(tableAccount.self).filter(predicate).first else { return nil }
+            return tableAccount.init(value: result)
+        } catch let error as NSError {
+            NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
         }
 
-        return tableAccount.init(value: result)
+        return nil
     }
 
     @objc func getAllAccount() -> [tableAccount] {
 
-        let realm = try! Realm()
-
-        let sorted = [SortDescriptor(keyPath: "active", ascending: false), SortDescriptor(keyPath: "user", ascending: true)]
-        let results = realm.objects(tableAccount.self).sorted(by: sorted)
+        do {
+            let realm = try Realm()
+            let sorted = [SortDescriptor(keyPath: "active", ascending: false), SortDescriptor(keyPath: "user", ascending: true)]
+            let results = realm.objects(tableAccount.self).sorted(by: sorted)
+            return Array(results.map { tableAccount.init(value: $0) })
+        } catch let error as NSError {
+            NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
+        }
 
-        return Array(results.map { tableAccount.init(value: $0) })
+        return []
     }
 
     @objc func getAllAccountOrderAlias() -> [tableAccount] {
 
-        let realm = try! Realm()
-
-        let sorted = [SortDescriptor(keyPath: "active", ascending: false), SortDescriptor(keyPath: "alias", ascending: true), SortDescriptor(keyPath: "user", ascending: true)]
-        let results = realm.objects(tableAccount.self).sorted(by: sorted)
+        do {
+            let realm = try Realm()
+            let sorted = [SortDescriptor(keyPath: "active", ascending: false), SortDescriptor(keyPath: "alias", ascending: true), SortDescriptor(keyPath: "user", ascending: true)]
+            let results = realm.objects(tableAccount.self).sorted(by: sorted)
+            return Array(results.map { tableAccount.init(value: $0) })
+        } catch let error as NSError {
+            NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
+        }
 
-        return Array(results.map { tableAccount.init(value: $0) })
+        return []
     }
 
     @objc func getAccountAutoUploadFileName() -> String {
 
-        let realm = try! Realm()
-
-        guard let result = realm.objects(tableAccount.self).filter("active == true").first else {
-            return ""
+        do {
+            let realm = try Realm()
+            guard let result = realm.objects(tableAccount.self).filter("active == true").first else { return "" }
+            if result.autoUploadFileName.isEmpty {
+                return NCBrandOptions.shared.folderDefaultAutoUpload
+            } else {
+                return result.autoUploadFileName
+            }
+        } catch let error as NSError {
+            NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
         }
 
-        if result.autoUploadFileName.count > 0 {
-            return result.autoUploadFileName
-        } else {
-            return NCBrandOptions.shared.folderDefaultAutoUpload
-        }
+        return ""
     }
 
     @objc func getAccountAutoUploadDirectory(urlBase: String, userId: String, account: String) -> String {
 
-        let realm = try! Realm()
-
-        guard let result = realm.objects(tableAccount.self).filter("active == true").first else {
-            return ""
-        }
-
-        if result.autoUploadDirectory.count > 0 {
-            // FIX change webdav -> /dav/files/
-            if result.autoUploadDirectory.contains("/webdav") {
+        do {
+            let realm = try Realm()
+            guard let result = realm.objects(tableAccount.self).filter("active == true").first else { return "" }
+            if result.autoUploadDirectory.isEmpty {
                 return NCUtilityFileSystem.shared.getHomeServer(urlBase: urlBase, userId: userId)
             } else {
-                return result.autoUploadDirectory
+                // FIX change webdav -> /dav/files/
+                if result.autoUploadDirectory.contains("/webdav") {
+                    return NCUtilityFileSystem.shared.getHomeServer(urlBase: urlBase, userId: userId)
+                } else {
+                    return result.autoUploadDirectory
+                }
             }
-        } else {
-            return NCUtilityFileSystem.shared.getHomeServer(urlBase: urlBase, userId: userId)
+        } catch let error as NSError {
+            NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
         }
+
+        return ""
     }
 
     @objc func getAccountAutoUploadPath(urlBase: String, userId: String, account: String) -> String {
@@ -262,22 +277,24 @@ extension NCManageDatabase {
 
     @objc func getAccountAutoUploadSubfolderGranularity() -> Int64 {
 
-        let realm = try! Realm()
-
-        guard let result = realm.objects(tableAccount.self).filter("active == true").first else {
-            return 1
+        do {
+            let realm = try Realm()
+            guard let result = realm.objects(tableAccount.self).filter("active == true").first else { return 1 }
+            return result.autoUploadSubfolderGranularity
+        } catch let error as NSError {
+            NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
         }
 
-        return result.autoUploadSubfolderGranularity
+        return 1
     }
-    
+
     @discardableResult
     @objc func setAccountActive(_ account: String) -> tableAccount? {
 
-        let realm = try! Realm()
         var accountReturn = tableAccount()
 
         do {
+            let realm = try Realm()
             try realm.write {
 
                 let results = realm.objects(tableAccount.self)
@@ -300,9 +317,8 @@ extension NCManageDatabase {
 
     @objc func removePasswordAccount(_ account: String) {
 
-        let realm = try! Realm()
-
         do {
+            let realm = try Realm()
             try realm.write {
 
                 if let result = realm.objects(tableAccount.self).filter("account == %@", account).first {
@@ -316,9 +332,8 @@ extension NCManageDatabase {
 
     @objc func setAccountAutoUploadProperty(_ property: String, state: Bool) {
 
-        let realm = try! Realm()
-
         do {
+            let realm = try Realm()
             try realm.write {
                 if let result = realm.objects(tableAccount.self).filter("active == true").first {
                     if (tableAccount().objectSchema.properties.contains { $0.name == property }) {
@@ -333,9 +348,8 @@ extension NCManageDatabase {
 
     @objc func setAccountAutoUploadGranularity(_ property: String, state: Int64) {
 
-        let realm = try! Realm()
-
         do {
+            let realm = try Realm()
             try realm.write {
                 if let result = realm.objects(tableAccount.self).filter("active == true").first {
                     result.autoUploadSubfolderGranularity = state
@@ -345,12 +359,11 @@ extension NCManageDatabase {
             NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
         }
     }
-    
-    @objc func setAccountAutoUploadFileName(_ fileName: String?) {
 
-        let realm = try! Realm()
+    @objc func setAccountAutoUploadFileName(_ fileName: String?) {
 
         do {
+            let realm = try Realm()
             try realm.write {
                 if let result = realm.objects(tableAccount.self).filter("active == true").first {
                     if let fileName = fileName {
@@ -367,9 +380,8 @@ extension NCManageDatabase {
 
     @objc func setAccountAutoUploadDirectory(_ serverUrl: String?, urlBase: String, userId: String, account: String) {
 
-        let realm = try! Realm()
-
         do {
+            let realm = try Realm()
             try realm.write {
                 if let result = realm.objects(tableAccount.self).filter("active == true").first {
                     if let serverUrl = serverUrl {
@@ -386,9 +398,8 @@ extension NCManageDatabase {
 
     @objc func setAccountUserProfile(account: String, userProfile: NKUserProfile) -> tableAccount? {
 
-        let realm = try! Realm()
-
         do {
+            let realm = try Realm()
             try realm.write {
                 if let result = realm.objects(tableAccount.self).filter("account == %@", account).first {
                     result.address = userProfile.address
@@ -416,21 +427,20 @@ extension NCManageDatabase {
                     result.website = userProfile.website
                 }
             }
+            if let result = realm.objects(tableAccount.self).filter("account == %@", account).first {
+                return tableAccount.init(value: result)
+            }
         } catch let error {
             NextcloudKit.shared.nkCommonInstance.writeLog("Could not write to database: \(error)")
         }
 
-        if let result = realm.objects(tableAccount.self).filter("account == %@", account).first {
-            return tableAccount.init(value: result)
-        } else {
-            return nil
-        }
+        return nil
     }
 
     @objc func setAccountMediaPath(_ path: String, account: String) {
 
-        let realm = try! Realm()
         do {
+            let realm = try Realm()
             try realm.write {
                 if let result = realm.objects(tableAccount.self).filter("account == %@", account).first {
                     result.mediaPath = path
@@ -443,8 +453,8 @@ extension NCManageDatabase {
 
     @objc func setAccountUserStatus(userStatusClearAt: NSDate?, userStatusIcon: String?, userStatusMessage: String?, userStatusMessageId: String?, userStatusMessageIsPredefined: Bool, userStatusStatus: String?, userStatusStatusIsUserDefined: Bool, account: String) {
 
-        let realm = try! Realm()
         do {
+            let realm = try Realm()
             try realm.write {
                 if let result = realm.objects(tableAccount.self).filter("account == %@", account).first {
                     result.userStatusClearAt = userStatusClearAt
@@ -463,10 +473,10 @@ extension NCManageDatabase {
 
     @objc func setAccountAlias(_ alias: String?) {
 
-        let realm = try! Realm()
         let alias = alias?.trimmingCharacters(in: .whitespacesAndNewlines)
 
         do {
+            let realm = try Realm()
             try realm.write {
                 if let result = realm.objects(tableAccount.self).filter("active == true").first {
                     if let alias = alias {

+ 21 - 17
iOSClient/Networking/NCNetworkingProcessUpload.swift

@@ -39,25 +39,29 @@ class NCNetworkingProcessUpload: NSObject {
     private var pauseProcess: Bool = false
 
     func observeTableMetadata() {
-        let realm = try! Realm()
-        let results = realm.objects(tableMetadata.self).filter("session != '' || sessionError != ''")
-        notificationToken = results.observe { [weak self] (changes: RealmCollectionChange) in
-            switch changes {
-            case .initial:
-                print("Initial")
-            case .update(_, let deletions, let insertions, let modifications):
-                if (deletions.count > 0 || insertions.count > 0 || modifications.count > 0) {
-                    self?.invalidateObserveTableMetadata()
-                    self?.start(completition: { items in
-                        print("[LOG] PROCESS-UPLOAD-OBSERVE \(items)")
-                        DispatchQueue.main.async {
-                            self?.observeTableMetadata()
-                        }
-                    })
+        do {
+            let realm = try Realm()
+            let results = realm.objects(tableMetadata.self).filter("session != '' || sessionError != ''")
+            notificationToken = results.observe { [weak self] (changes: RealmCollectionChange) in
+                switch changes {
+                case .initial:
+                    print("Initial")
+                case .update(_, let deletions, let insertions, let modifications):
+                    if (deletions.count > 0 || insertions.count > 0 || modifications.count > 0) {
+                        self?.invalidateObserveTableMetadata()
+                        self?.start(completition: { items in
+                            print("[LOG] PROCESS-UPLOAD-OBSERVE \(items)")
+                            DispatchQueue.main.async {
+                                self?.observeTableMetadata()
+                            }
+                        })
+                    }
+                case .error(let error):
+                    NextcloudKit.shared.nkCommonInstance.writeLog("[ERROR] Could not write to TableMetadata: \(error)")
                 }
-            case .error(let error):
-                NextcloudKit.shared.nkCommonInstance.writeLog("[ERROR] Could not write to TableMetadata: \(error)")
             }
+        } catch let error as NSError {
+            NSLog("Could not access database: ", error)
         }
     }