Browse Source

change obj db

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 years ago
parent
commit
28da2094a6

+ 9 - 9
iOSClient/Activity/NCActivity.swift

@@ -304,7 +304,7 @@ extension NCActivity: UITableViewDataSource {
             }
 
             for key in keys {
-                if let result = NCManageDatabase.shared.getActivitySubjectRich(account: appDelegate.account, idActivity: activity.idActivity, key: key) {
+                if let result = tableActivity().getActivitySubjectRich(account: appDelegate.account, idActivity: activity.idActivity, key: key) {
                     orderKeysId.append(result.id)
                     subject = subject.replacingOccurrences(of: "{\(key)}", with: "<bold>" + result.name + "</bold>")
                 }
@@ -324,7 +324,7 @@ extension NCActivity: UITableViewDataSource {
         }
 
         // CollectionView
-        cell.activityPreviews = NCManageDatabase.shared.getActivityPreview(account: activity.account, idActivity: activity.idActivity, orderKeysId: orderKeysId)
+        cell.activityPreviews = tableActivity().getActivityPreview(account: activity.account, idActivity: activity.idActivity, orderKeysId: orderKeysId)
         if cell.activityPreviews.count == 0 {
             cell.collectionViewHeightConstraint.constant = 0
         } else {
@@ -386,11 +386,11 @@ extension NCActivity {
 
         var newItems = [DateCompareable]()
         if showComments, let metadata = metadata, let account = NCManageDatabase.shared.getActiveAccount() {
-            let comments = NCManageDatabase.shared.getComments(account: account.account, objectId: metadata.fileId)
+            let comments = tableActivity().getComments(account: account.account, objectId: metadata.fileId)
             newItems += comments
         }
 
-        let activities = NCManageDatabase.shared.getActivity(
+        let activities = tableActivity().getActivity(
             predicate: NSPredicate(format: "account == %@", appDelegate.account),
             filterFileId: metadata?.fileId)
         newItems += activities.filter
@@ -409,7 +409,7 @@ extension NCActivity {
 
         NextcloudKit.shared.getComments(fileId: metadata.fileId) { account, comments, data, error in
             if error == .success, let comments = comments {
-                NCManageDatabase.shared.addComments(comments, account: metadata.account, objectId: metadata.fileId)
+                tableActivity().addComments(comments, account: metadata.account, objectId: metadata.fileId)
             } else if error.errorCode != NCGlobal.shared.errorResourceNotFound {
                 NCContentPresenter.shared.showError(error: error)
             }
@@ -424,7 +424,7 @@ extension NCActivity {
 
     /// Check if most recent activivities are loaded, if not trigger reload
     func checkRecentActivity(disptachGroup: DispatchGroup) {
-        guard let result = NCManageDatabase.shared.getLatestActivityId(account: appDelegate.account), metadata == nil, hasActivityToLoad else {
+        guard let result = tableActivity().getLatestActivityId(account: appDelegate.account), metadata == nil, hasActivityToLoad else {
             return self.loadActivity(idActivity: 0, disptachGroup: disptachGroup)
         }
         let resultActivityId = max(result.activityFirstKnown, result.activityLastGiven)
@@ -472,15 +472,15 @@ extension NCActivity {
                     self.hasActivityToLoad = error.errorCode == NCGlobal.shared.errorNotModified ? false : self.hasActivityToLoad
                     return
                 }
-                NCManageDatabase.shared.addActivity(activities, account: account)
+                tableActivity().addActivity(activities, account: account)
 
                 // update most recently loaded activity only when all activities are loaded (not filtered)
                 let largestActivityId = max(activityFirstKnown, activityLastGiven)
-                if let result = NCManageDatabase.shared.getLatestActivityId(account: self.appDelegate.account) {
+                if let result = tableActivity().getLatestActivityId(account: self.appDelegate.account) {
                     resultActivityId = max(result.activityFirstKnown, result.activityLastGiven)
                 }
                 if self.metadata == nil, largestActivityId > resultActivityId {
-                    NCManageDatabase.shared.updateLatestActivityId(activityFirstKnown: activityFirstKnown, activityLastGiven: activityLastGiven, account: account)
+                    tableActivity().updateLatestActivityId(activityFirstKnown: activityFirstKnown, activityLastGiven: activityLastGiven, account: account)
                 }
             }
     }

+ 2 - 2
iOSClient/Activity/NCActivityTableViewCell.swift

@@ -120,7 +120,7 @@ extension NCActivityTableViewCell: UICollectionViewDelegate {
 
         if activityPreview.view == NCGlobal.shared.appName && activityPreview.mimeType != "dir" {
 
-            guard let activitySubjectRich = NCManageDatabase.shared.getActivitySubjectRich(account: activityPreview.account, idActivity: activityPreview.idActivity, id: String(activityPreview.fileId)) else {
+            guard let activitySubjectRich = tableActivity().getActivitySubjectRich(account: activityPreview.account, idActivity: activityPreview.idActivity, id: String(activityPreview.fileId)) else {
                 return
             }
 
@@ -229,7 +229,7 @@ extension NCActivityTableViewCell: UICollectionViewDataSource {
 
             } else {
 
-                if let activitySubjectRich = NCManageDatabase.shared.getActivitySubjectRich(account: activityPreview.account, idActivity: idActivity, id: fileId) {
+                if let activitySubjectRich = tableActivity().getActivitySubjectRich(account: activityPreview.account, idActivity: idActivity, id: fileId) {
 
                     let fileNamePath = CCUtility.getDirectoryUserData() + "/" + activitySubjectRich.name
                     

+ 28 - 31
iOSClient/Data/NCManageDatabase+Activity.swift

@@ -26,35 +26,6 @@ import RealmSwift
 import NextcloudKit
 import SwiftyJSON
 
-class tableActivity: Object, DateCompareable {
-    var dateKey: Date { date as Date }
-
-    @objc dynamic var account = ""
-    @objc dynamic var idPrimaryKey = ""
-    @objc dynamic var action = "Activity"
-    @objc dynamic var date = NSDate()
-    @objc dynamic var idActivity: Int = 0
-    @objc dynamic var app = ""
-    @objc dynamic var type = ""
-    @objc dynamic var user = ""
-    @objc dynamic var subject = ""
-    @objc dynamic var subjectRich = ""
-    let subjectRichItem = List<tableActivitySubjectRich>()
-    @objc dynamic var icon = ""
-    @objc dynamic var link = ""
-    @objc dynamic var message = ""
-    @objc dynamic var objectType = ""
-    @objc dynamic var objectId: Int = 0
-    @objc dynamic var objectName = ""
-    @objc dynamic var note = ""
-    @objc dynamic var selector = ""
-    @objc dynamic var verbose: Bool = false
-
-    override static func primaryKey() -> String {
-        return "idPrimaryKey"
-    }
-}
-
 class tableActivityLatestId: Object {
 
     @objc dynamic var account = ""
@@ -101,8 +72,34 @@ class tableActivitySubjectRich: Object {
     }
 }
 
-extension NCManageDatabase {
-    
+class tableActivity: Object, DateCompareable {
+    var dateKey: Date { date as Date }
+
+    @objc dynamic var account = ""
+    @objc dynamic var idPrimaryKey = ""
+    @objc dynamic var action = "Activity"
+    @objc dynamic var date = NSDate()
+    @objc dynamic var idActivity: Int = 0
+    @objc dynamic var app = ""
+    @objc dynamic var type = ""
+    @objc dynamic var user = ""
+    @objc dynamic var subject = ""
+    @objc dynamic var subjectRich = ""
+    let subjectRichItem = List<tableActivitySubjectRich>()
+    @objc dynamic var icon = ""
+    @objc dynamic var link = ""
+    @objc dynamic var message = ""
+    @objc dynamic var objectType = ""
+    @objc dynamic var objectId: Int = 0
+    @objc dynamic var objectName = ""
+    @objc dynamic var note = ""
+    @objc dynamic var selector = ""
+    @objc dynamic var verbose: Bool = false
+
+    override static func primaryKey() -> String {
+        return "idPrimaryKey"
+    }
+
     func addActivity(_ activities: [NKActivity], account: String) {
 
         let realm = try! Realm()