| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import Foundation
- import LoopKitUI
- import SwiftDate
- extension Home {
- final class Provider: BaseProvider, HomeProvider {
- @Injected() var apsManager: APSManager!
- @Injected() var glucoseStorage: GlucoseStorage!
- @Injected() var pumpHistoryStorage: PumpHistoryStorage!
- @Injected() var tempTargetsStorage: TempTargetsStorage!
- @Injected() var carbsStorage: CarbsStorage!
- @Injected() var announcementStorage: AnnouncementsStorage!
- var suggestion: Suggestion? {
- storage.retrieve(OpenAPS.Enact.suggested, as: Suggestion.self)
- }
- var enactedSuggestion: Suggestion? {
- storage.retrieve(OpenAPS.Enact.enacted, as: Suggestion.self)
- }
- func pumpTimeZone() -> TimeZone? {
- apsManager.pumpManager?.status.timeZone
- }
- func heartbeatNow() {
- apsManager.heartbeat(date: Date())
- }
- func filteredGlucose(hours: Int) -> [BloodGlucose] {
- glucoseStorage.recent().filter {
- $0.dateString.addingTimeInterval(hours.hours.timeInterval) > Date()
- }
- }
- func pumpHistory(hours: Int) -> [PumpHistoryEvent] {
- pumpHistoryStorage.recent().filter {
- $0.timestamp.addingTimeInterval(hours.hours.timeInterval) > Date()
- }
- }
- func tempTargets(hours: Int) -> [TempTarget] {
- tempTargetsStorage.recent().filter {
- $0.createdAt.addingTimeInterval(hours.hours.timeInterval) > Date()
- }
- }
- func tempTarget() -> TempTarget? {
- tempTargetsStorage.current()
- }
- func carbs(hours: Int) -> [CarbsEntry] {
- carbsStorage.recent().filter {
- $0.createdAt.addingTimeInterval(hours.hours.timeInterval) > Date()
- }
- }
- func announcement(_ hours: Int) -> [Announcement] {
- announcementStorage.validate().filter {
- $0.createdAt.addingTimeInterval(hours.hours.timeInterval) > Date()
- }
- }
- func pumpSettings() -> PumpSettings {
- storage.retrieve(OpenAPS.Settings.settings, as: PumpSettings.self)
- ?? PumpSettings(from: OpenAPS.defaults(for: OpenAPS.Settings.settings))
- ?? PumpSettings(insulinActionCurve: 6, maxBolus: 10, maxBasal: 2)
- }
- func pumpBattery() -> Battery? {
- storage.retrieve(OpenAPS.Monitor.battery, as: Battery.self)
- }
- func pumpReservoir() -> Decimal? {
- storage.retrieve(OpenAPS.Monitor.reservoir, as: Decimal.self)
- }
- func autotunedBasalProfile() -> [BasalProfileEntry] {
- storage.retrieve(OpenAPS.Settings.profile, as: Autotune.self)?.basalProfile
- ?? storage.retrieve(OpenAPS.Settings.pumpProfile, as: Autotune.self)?.basalProfile
- ?? [BasalProfileEntry(start: "00:00", minutes: 0, rate: 1)]
- }
- func basalProfile() -> [BasalProfileEntry] {
- storage.retrieve(OpenAPS.Settings.pumpProfile, as: Autotune.self)?.basalProfile
- ?? [BasalProfileEntry(start: "00:00", minutes: 0, rate: 1)]
- }
- }
- }
|