|
@@ -13,6 +13,7 @@ extension NightscoutConfig {
|
|
|
@Injected() private var healthKitManager: HealthKitManager!
|
|
@Injected() private var healthKitManager: HealthKitManager!
|
|
|
@Injected() private var cgmManager: FetchGlucoseManager!
|
|
@Injected() private var cgmManager: FetchGlucoseManager!
|
|
|
@Injected() private var storage: FileStorage!
|
|
@Injected() private var storage: FileStorage!
|
|
|
|
|
+ @Injected() var unlockmanager: UnlockManager!
|
|
|
|
|
|
|
|
let coredataContext = CoreDataStack.shared.persistentContainer.viewContext
|
|
let coredataContext = CoreDataStack.shared.persistentContainer.viewContext
|
|
|
|
|
|
|
@@ -27,6 +28,7 @@ extension NightscoutConfig {
|
|
|
@Published var useLocalSource = false
|
|
@Published var useLocalSource = false
|
|
|
@Published var localPort: Decimal = 0
|
|
@Published var localPort: Decimal = 0
|
|
|
@Published var units: GlucoseUnits = .mmolL
|
|
@Published var units: GlucoseUnits = .mmolL
|
|
|
|
|
+ @Published var importedHasRun = false
|
|
|
|
|
|
|
|
override func subscribe() {
|
|
override func subscribe() {
|
|
|
url = keychain.getValue(String.self, forKey: Config.urlKey) ?? ""
|
|
url = keychain.getValue(String.self, forKey: Config.urlKey) ?? ""
|
|
@@ -84,6 +86,16 @@ extension NightscoutConfig {
|
|
|
return NightscoutAPI(url: url, secret: secret)
|
|
return NightscoutAPI(url: url, secret: secret)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ func startImport() {
|
|
|
|
|
+ unlockmanager.unlock()
|
|
|
|
|
+ .sink { _ in } receiveValue: { [weak self] _ in
|
|
|
|
|
+ guard let self = self else { return }
|
|
|
|
|
+ importSettings()
|
|
|
|
|
+ importedHasRun = true
|
|
|
|
|
+ }
|
|
|
|
|
+ .store(in: &lifetime)
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
func importSettings() {
|
|
func importSettings() {
|
|
|
guard let nightscout = nightscoutAPI else {
|
|
guard let nightscout = nightscoutAPI else {
|
|
|
saveError("Can't access nightscoutAPI")
|
|
saveError("Can't access nightscoutAPI")
|