| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import CoreData
- import Foundation
- extension DataTable {
- final class Provider: BaseProvider, DataTableProvider {
- @Injected() var nightscoutManager: NightscoutManager!
- @Injected() var healthkitManager: HealthKitManager!
- @Injected() var tidepoolManager: TidepoolManager!
- 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 deleteCarbsFromNightscout(withID id: String) {
- Task {
- await nightscoutManager.deleteCarbs(withID: id)
- }
- }
- func deleteInsulin(with treatmentObjectID: NSManagedObjectID) async {
- let taskContext = CoreDataStack.shared.newTaskContext()
- await taskContext.perform {
- do {
- guard let treatmentToDelete = try taskContext.existingObject(with: treatmentObjectID) as? PumpEventStored
- else {
- debug(.default, "Could not cast the object to PumpEventStored")
- return
- }
- // Delete Insulin from Nightscout
- if let id = treatmentToDelete.id {
- self.deleteInsulinFromNightscout(withID: id)
- }
- // TODO: - Rewrite healthkit implementation
- // let id = treatmentToDelete.id
- // self.healthkitManager.deleteInsulin(syncID: id)
- taskContext.delete(treatmentToDelete)
- try taskContext.save()
- debug(.default, "Successfully deleted the treatment object.")
- } catch {
- debug(.default, "Failed to delete the treatment object: \(error.localizedDescription)")
- }
- }
- }
- func deleteInsulinFromNightscout(withID id: String) {
- Task {
- await nightscoutManager.deleteInsulin(withID: id)
- }
- }
- func deleteManualGlucose(withID id: String) {
- Task {
- await nightscoutManager.deleteManualGlucose(withID: id)
- }
- }
- func deleteGlucoseFromHealth(withSyncID id: String) {
- Task.detached { [weak self] in
- guard let self = self else { return }
- await self.healthkitManager.deleteGlucose(syncID: id)
- }
- }
- }
- }
|