DataTableProvider.swift 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import Foundation
  2. extension DataTable {
  3. final class Provider: BaseProvider, DataTableProvider {
  4. @Injected() var pumpHistoryStorage: PumpHistoryStorage!
  5. @Injected() var tempTargetsStorage: TempTargetsStorage!
  6. @Injected() var glucoseStorage: GlucoseStorage!
  7. @Injected() var carbsStorage: CarbsStorage!
  8. @Injected() var nightscoutManager: NightscoutManager!
  9. @Injected() var healthkitManager: HealthKitManager!
  10. func pumpHistory() -> [PumpHistoryEvent] {
  11. pumpHistoryStorage.recent()
  12. }
  13. func tempTargets() -> [TempTarget] {
  14. tempTargetsStorage.recent()
  15. }
  16. func carbs() -> [CarbsEntry] {
  17. carbsStorage.recent()
  18. }
  19. func fpus() -> [CarbsEntry] {
  20. carbsStorage.recent()
  21. }
  22. func deleteCarbs(_ treatement: Treatment) {
  23. nightscoutManager.deleteCarbs(at: treatement.date)
  24. healthkitManager.deleteCarbs(syncID: treatement.id)
  25. }
  26. func deleteInsulin(_ treatement: Treatment) {
  27. nightscoutManager.deleteInsulin(at: treatement.date)
  28. if let id = treatement.idPumpEvent {
  29. healthkitManager.deleteInsulin(syncID: id)
  30. }
  31. }
  32. func glucose() -> [BloodGlucose] {
  33. glucoseStorage.recent().sorted { $0.date > $1.date }
  34. }
  35. func deleteGlucose(id: String) {
  36. glucoseStorage.removeGlucose(ids: [id])
  37. healthkitManager.deleteGlucose(syncID: id)
  38. }
  39. }
  40. }