Determination+helper.swift 974 B

12345678910111213141516171819202122232425262728293031
  1. import CoreData
  2. import Foundation
  3. extension OrefDetermination {
  4. static func fetch(_ predicate: NSPredicate = .predicateForOneDayAgo) -> NSFetchRequest<OrefDetermination> {
  5. let request = OrefDetermination.fetchRequest()
  6. request.sortDescriptors = [NSSortDescriptor(keyPath: \OrefDetermination.deliverAt, ascending: false)]
  7. request.predicate = predicate
  8. request.fetchLimit = 1
  9. request.returnsObjectsAsFaults = true
  10. return request
  11. }
  12. }
  13. extension OrefDetermination {
  14. var reasonParts: [String] {
  15. reason?.components(separatedBy: "; ").first?.components(separatedBy: ", ") ?? []
  16. }
  17. var reasonConclusion: String {
  18. reason?.components(separatedBy: "; ").last ?? ""
  19. }
  20. }
  21. extension NSPredicate {
  22. static var enactedDetermination: NSPredicate {
  23. let date = Date.halfHourAgo
  24. return NSPredicate(format: "received == %@ AND deliverAt >= %@", true as NSNumber, date as NSDate)
  25. }
  26. }