From 68c784364c39bab022cd510d893b98dc2652e2ef Mon Sep 17 00:00:00 2001
From: hannes <hannes@gfzdfuz.de>
Date: Tue, 18 May 2021 14:15:07 +0200
Subject: [PATCH] not quite finished, but at least mails show up

---
 .../SwiftUI/Inbox/categorized/Home.swift             |  3 +++
 .../DataModel2.xcdatamodel/contents                  |  2 +-
 .../persistentData/PersistentDataProvider.swift      | 12 ++++++++++++
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/enzevalos_iphone/SwiftUI/Inbox/categorized/Home.swift b/enzevalos_iphone/SwiftUI/Inbox/categorized/Home.swift
index edfe86ec..da6db794 100644
--- a/enzevalos_iphone/SwiftUI/Inbox/categorized/Home.swift
+++ b/enzevalos_iphone/SwiftUI/Inbox/categorized/Home.swift
@@ -51,6 +51,9 @@ struct InboxHome: View {
     var body: some View {
         NavigationView{
             VStack{
+                #if DEBUG //&& false
+                Button(action: {PersistentDataProvider.dataProvider.resetCategories()}, label: {Text("reset")})
+                #endif
                 topSection
                 if controller.isHome{ whenHome }else{ whenNotHome }
             }//.animation(.easeInOut)
diff --git a/enzevalos_iphone/persistentData/DataModel.xcdatamodeld/DataModel2.xcdatamodel/contents b/enzevalos_iphone/persistentData/DataModel.xcdatamodeld/DataModel2.xcdatamodel/contents
index 86587bd1..6a049066 100644
--- a/enzevalos_iphone/persistentData/DataModel.xcdatamodeld/DataModel2.xcdatamodel/contents
+++ b/enzevalos_iphone/persistentData/DataModel.xcdatamodeld/DataModel2.xcdatamodel/contents
@@ -75,7 +75,7 @@
         <relationship name="ccAddresses" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="AddressRecord" inverseName="inCCField" inverseEntity="AddressRecord"/>
         <relationship name="decryptionKey" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="SecretKeyRecord" inverseName="decryptedMails" inverseEntity="SecretKeyRecord"/>
         <relationship name="fromAddress" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="AddressRecord" inverseName="inFromField" inverseEntity="AddressRecord"/>
-        <relationship name="inCategory" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="CategoryRecord"/>
+        <relationship name="inCategory" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="CategoryRecord"/>
         <relationship name="includedAttachments" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="AttachmentRecord" inverseName="isPartOfMail" inverseEntity="AttachmentRecord"/>
         <relationship name="inFolder" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="FolderRecord" inverseName="mailsInFolder" inverseEntity="FolderRecord"/>
         <relationship name="signatureKey" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="PublicKeyRecord" inverseName="signedMails" inverseEntity="PublicKeyRecord"/>
diff --git a/enzevalos_iphone/persistentData/PersistentDataProvider.swift b/enzevalos_iphone/persistentData/PersistentDataProvider.swift
index f953d869..0ef76ba3 100644
--- a/enzevalos_iphone/persistentData/PersistentDataProvider.swift
+++ b/enzevalos_iphone/persistentData/PersistentDataProvider.swift
@@ -540,6 +540,18 @@ class PersistentDataProvider {
         
     }
     
+    func resetCategories(){
+        let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: CategoryRecord.entityName)
+        let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
+        do {
+          try self.newTaskContext().execute(deleteRequest)
+            debugPrint("Deleted Entitie - ", CategoryRecord.entityName)
+        } catch let error as NSError {
+            debugPrint("Delete ERROR \(CategoryRecord.entityName)")
+            debugPrint(error)
+        }
+    }
+    
     func reset(){
         persistentContainer.viewContext.reset()
     }
-- 
GitLab