BolusProvider.swift 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. import CoreData
  2. extension Bolus {
  3. final class Provider: BaseProvider, BolusProvider {
  4. let coredataContext = CoreDataStack.shared.persistentContainer.viewContext
  5. var suggestion: Suggestion? {
  6. storage.retrieve(OpenAPS.Enact.suggested, as: Suggestion.self)
  7. }
  8. func pumpSettings() -> PumpSettings {
  9. storage.retrieve(OpenAPS.Settings.settings, as: PumpSettings.self)
  10. ?? PumpSettings(from: OpenAPS.defaults(for: OpenAPS.Settings.settings))
  11. ?? PumpSettings(insulinActionCurve: 6, maxBolus: 10, maxBasal: 2)
  12. }
  13. func fetchGlucose() -> [Readings] {
  14. var fetchGlucose = [Readings]()
  15. coredataContext.performAndWait {
  16. let requestReadings = Readings.fetchRequest() as NSFetchRequest<Readings>
  17. let sort = NSSortDescriptor(key: "date", ascending: true)
  18. requestReadings.sortDescriptors = [sort]
  19. requestReadings.predicate = NSPredicate(
  20. format: "glucose > 0 AND date > %@",
  21. Date().addingTimeInterval(-1.hours.timeInterval) as NSDate
  22. )
  23. try? fetchGlucose = self.coredataContext.fetch(requestReadings)
  24. }
  25. return fetchGlucose
  26. }
  27. }
  28. }