Storage.swift 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //
  2. // Storage.swift
  3. // LoopFollow
  4. //
  5. // Created by Jonas Björkert on 2024-08-25.
  6. // Copyright © 2024 Jon Fawcett. All rights reserved.
  7. //
  8. import Foundation
  9. import HealthKit
  10. class Storage {
  11. var remoteType = StorageValue<RemoteType>(key: "remoteType", default: .nightscout)
  12. var deviceToken = StorageValue<String>(key: "deviceToken", default: "")
  13. var sharedSecret = StorageValue<String>(key: "sharedSecret", default: "")
  14. var productionEnvironment = StorageValue<Bool>(key: "productionEnvironment", default: true)
  15. var token = StorageValue<String>(key: "token", default: "")
  16. var apnsKey = StorageValue<String>(key: "apnsKey", default: "")
  17. var teamId = StorageValue<String>(key: "teamId", default: "")
  18. var keyId = StorageValue<String>(key: "keyId", default: "")
  19. var bundleId = StorageValue<String>(key: "bundleId", default: "")
  20. var user = StorageValue<String>(key: "user", default: "")
  21. var maxBolus = SecureStorageValue<HKQuantity>(key: "maxBolus", default: HKQuantity(unit: .internationalUnit(), doubleValue: 1.0))
  22. var maxCarbs = SecureStorageValue<HKQuantity>(key: "maxCarbs", default: HKQuantity(unit: .gram(), doubleValue: 30.0))
  23. var maxProtein = SecureStorageValue<HKQuantity>(key: "maxProtein", default: HKQuantity(unit: .gram(), doubleValue: 30.0))
  24. var maxFat = SecureStorageValue<HKQuantity>(key: "maxFat", default: HKQuantity(unit: .gram(), doubleValue: 30.0))
  25. static let shared = Storage()
  26. private init() {
  27. if apnsKey.value.isEmpty && !token.value.isEmpty {
  28. apnsKey = token // Migrate the old `token` value to `apnsKey` TODO: Remove this code later on.
  29. }
  30. }
  31. }