DosingDecisionObject+CoreDataProperties.swift 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. //
  2. // DosingDecisionObject+CoreDataProperties.swift
  3. // LoopKit
  4. //
  5. // Created by Darin Krauss on 5/4/20.
  6. // Copyright © 2020 LoopKit Authors. All rights reserved.
  7. //
  8. import Foundation
  9. import CoreData
  10. extension DosingDecisionObject {
  11. @nonobjc public class func fetchRequest() -> NSFetchRequest<DosingDecisionObject> {
  12. return NSFetchRequest<DosingDecisionObject>(entityName: "DosingDecisionObject")
  13. }
  14. @NSManaged public var data: Data
  15. @NSManaged public var date: Date
  16. @NSManaged public var modificationCounter: Int64
  17. }
  18. extension DosingDecisionObject: Encodable {
  19. func encode(to encoder: Encoder) throws {
  20. try EncodableDosingDecisionObject(self).encode(to: encoder)
  21. }
  22. }
  23. fileprivate struct EncodableDosingDecisionObject: Encodable {
  24. var data: StoredDosingDecision
  25. var date: Date
  26. var modificationCounter: Int64
  27. init(_ object: DosingDecisionObject) throws {
  28. self.data = try PropertyListDecoder().decode(StoredDosingDecision.self, from: object.data)
  29. self.date = object.date
  30. self.modificationCounter = object.modificationCounter
  31. }
  32. }