DataTableProvider.swift 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. @Injected() var tidePoolManager: TidePoolManager!
  11. func pumpHistory() -> [PumpHistoryEvent] {
  12. pumpHistoryStorage.recent()
  13. }
  14. func tempTargets() -> [TempTarget] {
  15. tempTargetsStorage.recent()
  16. }
  17. func carbs() -> [CarbsEntry] {
  18. carbsStorage.recent()
  19. }
  20. func fpus() -> [CarbsEntry] {
  21. carbsStorage.recent()
  22. }
  23. func deleteCarbs(_ treatement: Treatment) {
  24. // need to start with tidePool because Nightscout delete data
  25. // probably to revise the logic
  26. // TODO:
  27. tidePoolManager.deleteCarbs(
  28. at: treatement.date,
  29. isFPU: treatement.isFPU,
  30. fpuID: treatement.fpuID,
  31. syncID: treatement.id
  32. )
  33. nightscoutManager.deleteCarbs(
  34. at: treatement.date,
  35. isFPU: treatement.isFPU,
  36. fpuID: treatement.fpuID,
  37. syncID: treatement.id
  38. )
  39. }
  40. func deleteInsulin(_ treatement: Treatment) {
  41. // delete tidePoolManager before NS - TODO
  42. tidePoolManager.deleteInsulin(at: treatement.date)
  43. nightscoutManager.deleteInsulin(at: treatement.date)
  44. if let id = treatement.idPumpEvent {
  45. healthkitManager.deleteInsulin(syncID: id)
  46. }
  47. }
  48. func glucose() -> [BloodGlucose] {
  49. glucoseStorage.recent().sorted { $0.date > $1.date }
  50. }
  51. func deleteGlucose(id: String) {
  52. glucoseStorage.removeGlucose(ids: [id])
  53. healthkitManager.deleteGlucose(syncID: id)
  54. }
  55. }
  56. }