OverrideStatus.swift 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // OverrideStatus.swift
  3. // NightscoutUploadKit
  4. //
  5. // Created by Kenneth Stack on 5/6/19.
  6. // Copyright © 2019 Pete Schwamb. All rights reserved.
  7. //
  8. import Foundation
  9. import HealthKit
  10. public struct OverrideStatus {
  11. let name: String?
  12. let timestamp: Date
  13. let active: Bool
  14. let currentCorrectionRange: CorrectionRange?
  15. let duration: TimeInterval?
  16. let multiplier: Double?
  17. public init(name: String? = nil, timestamp: Date, active: Bool, currentCorrectionRange: CorrectionRange? = nil, duration: TimeInterval? = nil, multiplier: Double? = nil) {
  18. self.name = name
  19. self.timestamp = timestamp
  20. self.active = active
  21. self.currentCorrectionRange = currentCorrectionRange
  22. self.duration = duration
  23. self.multiplier = multiplier
  24. }
  25. public var dictionaryRepresentation: [String: Any] {
  26. var rval = [String: Any]()
  27. rval["timestamp"] = TimeFormat.timestampStrFromDate(timestamp)
  28. rval["active"] = active
  29. if let name = name {
  30. rval["name"] = name
  31. }
  32. if let currentCorrectionRange = currentCorrectionRange {
  33. rval["currentCorrectionRange"] = currentCorrectionRange.dictionaryRepresentation
  34. }
  35. if let duration = duration {
  36. rval["duration"] = duration
  37. }
  38. if let multiplier = multiplier {
  39. rval["multiplier"] = multiplier
  40. }
  41. return rval
  42. }
  43. }