PumpEvent+CoreDataProperties.swift 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // PumpEvent+CoreDataProperties.swift
  3. // LoopKit
  4. //
  5. // Created by Nate Racklyeft on 8/1/16.
  6. // Copyright © 2017 LoopKit Authors. All rights reserved.
  7. //
  8. import Foundation
  9. import CoreData
  10. extension PumpEvent {
  11. @nonobjc class func fetchRequest() -> NSFetchRequest<PumpEvent> {
  12. return NSFetchRequest<PumpEvent>(entityName: "PumpEvent")
  13. }
  14. @NSManaged var createdAt: Date!
  15. @NSManaged var date: Date!
  16. @NSManaged var primitiveDoseType: String?
  17. @NSManaged var primitiveDuration: NSNumber?
  18. @NSManaged var primitiveType: String?
  19. @NSManaged var primitiveUnit: String?
  20. @NSManaged var primitiveUploaded: NSNumber?
  21. @NSManaged var primitiveValue: NSNumber?
  22. @NSManaged var primitiveDeliveredUnits: NSNumber?
  23. @NSManaged var mutable: Bool
  24. @NSManaged var raw: Data?
  25. @NSManaged var title: String?
  26. @NSManaged var modificationCounter: Int64
  27. @NSManaged var primitiveInsulinType: NSNumber?
  28. @NSManaged var primitiveAutomatic: NSNumber?
  29. }
  30. extension PumpEvent: Encodable {
  31. public func encode(to encoder: Encoder) throws {
  32. var container = encoder.container(keyedBy: CodingKeys.self)
  33. try container.encode(createdAt, forKey: .createdAt)
  34. try container.encode(date, forKey: .date)
  35. try container.encodeIfPresent(doseType?.rawValue, forKey: .doseType)
  36. try container.encode(duration, forKey: .duration)
  37. try container.encodeIfPresent(type?.rawValue, forKey: .type)
  38. try container.encodeIfPresent(unit?.rawValue, forKey: .unit)
  39. try container.encode(uploaded, forKey: .uploaded)
  40. try container.encodeIfPresent(value, forKey: .value)
  41. try container.encodeIfPresent(deliveredUnits, forKey: .deliveredUnits)
  42. try container.encode(mutable, forKey: .mutable)
  43. try container.encodeIfPresent(raw?.base64EncodedString(), forKey: .raw)
  44. try container.encodeIfPresent(title, forKey: .title)
  45. try container.encode(modificationCounter, forKey: .modificationCounter)
  46. try container.encodeIfPresent(insulinType?.rawValue, forKey: .insulinType)
  47. }
  48. private enum CodingKeys: String, CodingKey {
  49. case createdAt
  50. case date
  51. case doseType
  52. case duration
  53. case type
  54. case unit
  55. case uploaded
  56. case value
  57. case deliveredUnits
  58. case mutable
  59. case raw
  60. case title
  61. case modificationCounter
  62. case insulinType
  63. }
  64. }