| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import Foundation
- import LoopKitUI
- import SwiftDate
- extension Home {
- final class Provider: BaseProvider, HomeProvider {
- @Injected() var apsManager: APSManager!
- @Injected() var glucoseStorage: GlucoseStorage!
- @Injected() var tempTargetsStorage: TempTargetsStorage!
- func pumpTimeZone() -> TimeZone? {
- apsManager.pumpManager?.status.timeZone
- }
- func heartbeatNow() {
- apsManager.heartbeat(date: Date())
- }
- func tempTargets(hours: Int) -> [TempTarget] {
- tempTargetsStorage.recent().filter {
- $0.createdAt.addingTimeInterval(hours.hours.timeInterval) > Date()
- }
- }
- func tempTarget() -> TempTarget? {
- tempTargetsStorage.current()
- }
- func pumpSettings() -> PumpSettings {
- storage.retrieve(OpenAPS.Settings.settings, as: PumpSettings.self)
- ?? PumpSettings(from: OpenAPS.defaults(for: OpenAPS.Settings.settings))
- ?? PumpSettings(insulinActionCurve: 10, maxBolus: 10, maxBasal: 2)
- }
- func pumpReservoir() -> Decimal? {
- storage.retrieve(OpenAPS.Monitor.reservoir, as: Decimal.self)
- }
- func getBasalProfile() async -> [BasalProfileEntry] {
- await storage.retrieveAsync(OpenAPS.Settings.basalProfile, as: [BasalProfileEntry].self)
- ?? [BasalProfileEntry](from: OpenAPS.defaults(for: OpenAPS.Settings.basalProfile))
- ?? []
- }
- func getBGTarget() async -> BGTargets {
- await storage.retrieveAsync(OpenAPS.Settings.bgTargets, as: BGTargets.self)
- ?? BGTargets(from: OpenAPS.defaults(for: OpenAPS.Settings.bgTargets))
- ?? BGTargets(units: .mgdL, userPreferredUnits: .mgdL, targets: [])
- }
- }
- }
|