From 6e012ec75ff8ed47afd768e60769f5d0877e6738 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 21 May 2021 22:53:49 +0200 Subject: [PATCH] fix dbUpdate --- .../DataSyncSelectorImplementation.kt | 40 +++++++++---------- .../BolusCalculatorResultExtension.kt | 6 +-- .../androidaps/extensions/BolusExtension.kt | 4 +- .../androidaps/extensions/CarbsExtension.kt | 4 +- .../extensions/ExtendedBolusExtension.kt | 12 +++--- .../androidaps/extensions/FoodExtension.kt | 8 ++-- .../extensions/GlucoseValueExtension.kt | 7 ++-- .../extensions/ProfileSwitchExtension.kt | 4 +- .../extensions/TemporaryBasalExtension.kt | 4 +- .../extensions/TemporaryTargetExtension.kt | 4 +- .../extensions/TherapyEventExtension.kt | 4 +- 11 files changed, 46 insertions(+), 51 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt index debcb920a7..5f1e910af8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt +++ b/app/src/main/java/info/nightscout/androidaps/plugins/general/nsclient/DataSyncSelectorImplementation.kt @@ -94,10 +94,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new bolus.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", bolus.first.toJson(dateUtil), DataSyncSelector.PairBolus(bolus.first, bolus.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("treatments", bolus.first.toJson(true, dateUtil), DataSyncSelector.PairBolus(bolus.first, bolus.second), "$startId/$lastDbId") // with nsId = update bolus.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("treatments", bolus.first.interfaceIDs.nightscoutId, bolus.first.toJson(dateUtil), DataSyncSelector.PairBolus(bolus.first, bolus.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("treatments", bolus.first.interfaceIDs.nightscoutId, bolus.first.toJson(false, dateUtil), DataSyncSelector.PairBolus(bolus.first, bolus.second), "$startId/$lastDbId") } return true } @@ -137,10 +137,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new carb.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", carb.first.toJson(dateUtil), DataSyncSelector.PairCarbs(carb.first, carb.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("treatments", carb.first.toJson(true, dateUtil), DataSyncSelector.PairCarbs(carb.first, carb.second), "$startId/$lastDbId") // with nsId = update carb.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("treatments", carb.first.interfaceIDs.nightscoutId, carb.first.toJson(dateUtil), DataSyncSelector.PairCarbs(carb.first, carb.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("treatments", carb.first.interfaceIDs.nightscoutId, carb.first.toJson(false, dateUtil), DataSyncSelector.PairCarbs(carb.first, carb.second), "$startId/$lastDbId") } return true } @@ -180,10 +180,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new bolusCalculatorResult.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", bolusCalculatorResult.first.toJson(dateUtil), DataSyncSelector.PairBolusCalculatorResult(bolusCalculatorResult.first, bolusCalculatorResult.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("treatments", bolusCalculatorResult.first.toJson(true, dateUtil), DataSyncSelector.PairBolusCalculatorResult(bolusCalculatorResult.first, bolusCalculatorResult.second), "$startId/$lastDbId") // with nsId = update bolusCalculatorResult.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("treatments", bolusCalculatorResult.first.interfaceIDs.nightscoutId, bolusCalculatorResult.first.toJson(dateUtil), DataSyncSelector.PairBolusCalculatorResult(bolusCalculatorResult.first, bolusCalculatorResult.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("treatments", bolusCalculatorResult.first.interfaceIDs.nightscoutId, bolusCalculatorResult.first.toJson(false, dateUtil), DataSyncSelector.PairBolusCalculatorResult(bolusCalculatorResult.first, bolusCalculatorResult.second), "$startId/$lastDbId") } return true } @@ -223,10 +223,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new tt.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", tt.first.toJson(profileFunction.getUnits(), dateUtil), DataSyncSelector.PairTemporaryTarget(tt.first, tt.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("treatments", tt.first.toJson(true, profileFunction.getUnits(), dateUtil), DataSyncSelector.PairTemporaryTarget(tt.first, tt.second), "$startId/$lastDbId") // existing with nsId = update tt.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("treatments", tt.first.interfaceIDs.nightscoutId, tt.first.toJson(profileFunction.getUnits(), dateUtil), DataSyncSelector.PairTemporaryTarget(tt.first, tt.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("treatments", tt.first.interfaceIDs.nightscoutId, tt.first.toJson(false, profileFunction.getUnits(), dateUtil), DataSyncSelector.PairTemporaryTarget(tt.first, tt.second), "$startId/$lastDbId") } return true } @@ -266,10 +266,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new food.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("food", food.first.toJson(), DataSyncSelector.PairFood(food.first, food.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("food", food.first.toJson(true), DataSyncSelector.PairFood(food.first, food.second), "$startId/$lastDbId") // with nsId = update food.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("food", food.first.interfaceIDs.nightscoutId, food.first.toJson(), DataSyncSelector.PairFood(food.first, food.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("food", food.first.interfaceIDs.nightscoutId, food.first.toJson(false), DataSyncSelector.PairFood(food.first, food.second), "$startId/$lastDbId") } return true } @@ -310,10 +310,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new gv.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("entries", gv.first.toJson(dateUtil), DataSyncSelector.PairGlucoseValue(gv.first, gv.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("entries", gv.first.toJson(true, dateUtil), DataSyncSelector.PairGlucoseValue(gv.first, gv.second), "$startId/$lastDbId") // with nsId = update gv.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("entries", gv.first.interfaceIDs.nightscoutId, gv.first.toJson(dateUtil), DataSyncSelector.PairGlucoseValue(gv.first, gv.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("entries", gv.first.interfaceIDs.nightscoutId, gv.first.toJson(false, dateUtil), DataSyncSelector.PairGlucoseValue(gv.first, gv.second), "$startId/$lastDbId") } return true } else { @@ -358,10 +358,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new te.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", te.first.toJson(), DataSyncSelector.PairTherapyEvent(te.first, te.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("treatments", te.first.toJson(true), DataSyncSelector.PairTherapyEvent(te.first, te.second), "$startId/$lastDbId") // nsId = update te.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("treatments", te.first.interfaceIDs.nightscoutId, te.first.toJson(), DataSyncSelector.PairTherapyEvent(te.first, te.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("treatments", te.first.interfaceIDs.nightscoutId, te.first.toJson(false), DataSyncSelector.PairTherapyEvent(te.first, te.second), "$startId/$lastDbId") } return true } @@ -445,10 +445,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new tb.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", tb.first.toJson(profile, dateUtil, useAbsolute), DataSyncSelector.PairTemporaryBasal(tb.first, tb.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("treatments", tb.first.toJson(true, profile, dateUtil, useAbsolute), DataSyncSelector.PairTemporaryBasal(tb.first, tb.second), "$startId/$lastDbId") // with nsId = update tb.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("treatments", tb.first.interfaceIDs.nightscoutId, tb.first.toJson(profile, dateUtil, useAbsolute), DataSyncSelector.PairTemporaryBasal(tb.first, tb.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("treatments", tb.first.interfaceIDs.nightscoutId, tb.first.toJson(false, profile, dateUtil, useAbsolute), DataSyncSelector.PairTemporaryBasal(tb.first, tb.second), "$startId/$lastDbId") } return true } else { @@ -496,10 +496,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new eb.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", eb.first.toJson(profile, dateUtil, useAbsolute), DataSyncSelector.PairExtendedBolus(eb.first, eb.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("treatments", eb.first.toJson(true, profile, dateUtil, useAbsolute), DataSyncSelector.PairExtendedBolus(eb.first, eb.second), "$startId/$lastDbId") // with nsId = update eb.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("treatments", eb.first.interfaceIDs.nightscoutId, eb.first.toJson(profile, dateUtil, useAbsolute), DataSyncSelector.PairExtendedBolus(eb.first, eb.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("treatments", eb.first.interfaceIDs.nightscoutId, eb.first.toJson(false, profile, dateUtil, useAbsolute), DataSyncSelector.PairExtendedBolus(eb.first, eb.second), "$startId/$lastDbId") } return true } else { @@ -543,10 +543,10 @@ class DataSyncSelectorImplementation @Inject constructor( when { // without nsId = create new ps.first.interfaceIDs.nightscoutId == null -> - nsClientPlugin.nsClientService?.dbAdd("treatments", ps.first.toJson(dateUtil), DataSyncSelector.PairProfileSwitch(ps.first, ps.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbAdd("treatments", ps.first.toJson(true, dateUtil), DataSyncSelector.PairProfileSwitch(ps.first, ps.second), "$startId/$lastDbId") // with nsId = update ps.first.interfaceIDs.nightscoutId != null -> - nsClientPlugin.nsClientService?.dbUpdate("treatments", ps.first.interfaceIDs.nightscoutId, ps.first.toJson(dateUtil), DataSyncSelector.PairProfileSwitch(ps.first, ps.second), "$startId/$lastDbId") + nsClientPlugin.nsClientService?.dbUpdate("treatments", ps.first.interfaceIDs.nightscoutId, ps.first.toJson(false, dateUtil), DataSyncSelector.PairProfileSwitch(ps.first, ps.second), "$startId/$lastDbId") } return true } diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt index 786f9c7d13..b083c1d238 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BolusCalculatorResultExtension.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.database.entities.TherapyEvent import info.nightscout.androidaps.utils.DateUtil import org.json.JSONObject -fun BolusCalculatorResult.toJson(dateUtil: DateUtil): JSONObject = +fun BolusCalculatorResult.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() .put("eventType", TherapyEvent.Type.BOLUS_WIZARD.text) .put("created_at", dateUtil.toISOString(timestamp)) @@ -16,6 +16,4 @@ fun BolusCalculatorResult.toJson(dateUtil: DateUtil): JSONObject = .put("glucose", glucoseValue) .put("units", Constants.MGDL) .put("notes", note) - .also { - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) - } + .also { if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt index bef74006e9..c89a1c67f2 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/BolusExtension.kt @@ -16,7 +16,7 @@ fun Bolus.iobCalc(activePlugin: ActivePlugin, time: Long, dia: Double): Iob { return insulinInterface.iobCalcForTreatment(this, time, dia) } -fun Bolus.toJson(dateUtil: DateUtil): JSONObject = +fun Bolus.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() .put("eventType", if (type == Bolus.Type.SMB) TherapyEvent.Type.CORRECTION_BOLUS.text else TherapyEvent.Type.MEAL_BOLUS.text) .put("insulin", amount) @@ -28,7 +28,7 @@ fun Bolus.toJson(dateUtil: DateUtil): JSONObject = if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } /* diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt index 54d200e9f6..24aa4f9cf1 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/CarbsExtension.kt @@ -7,7 +7,7 @@ import info.nightscout.androidaps.utils.DateUtil import info.nightscout.androidaps.utils.JsonHelper import org.json.JSONObject -fun Carbs.toJson(dateUtil: DateUtil): JSONObject = +fun Carbs.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() .put("eventType", if (amount < 12) TherapyEvent.Type.CARBS_CORRECTION.text else TherapyEvent.Type.MEAL_BOLUS.text) .put("carbs", amount) @@ -17,7 +17,7 @@ fun Carbs.toJson(dateUtil: DateUtil): JSONObject = if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } /* diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt index 09f5c9d9a5..d64713d0ad 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ExtendedBolusExtension.kt @@ -50,14 +50,14 @@ fun ExtendedBolus.toTemporaryBasal(profile: Profile): TemporaryBasal = type = TemporaryBasal.Type.FAKE_EXTENDED ) -fun ExtendedBolus.toJson(profile: Profile, dateUtil: DateUtil, useAbsolute: Boolean): JSONObject = +fun ExtendedBolus.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil, useAbsolute: Boolean): JSONObject = if (isEmulatingTempBasal) toTemporaryBasal(profile) - .toJson(profile, dateUtil, useAbsolute) - .put("extendedEmulated", toRealJson(dateUtil)) - else toRealJson(dateUtil) + .toJson(isAdd, profile, dateUtil, useAbsolute) + .put("extendedEmulated", toRealJson(isAdd, dateUtil)) + else toRealJson(isAdd, dateUtil) -fun ExtendedBolus.toRealJson(dateUtil: DateUtil): JSONObject = +fun ExtendedBolus.toRealJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() .put("created_at", dateUtil.toISOString(timestamp)) .put("enteredBy", "openaps://" + "AndroidAPS") @@ -74,7 +74,7 @@ fun ExtendedBolus.toRealJson(dateUtil: DateUtil): JSONObject = if (interfaceIDs.endId != null) it.put("endId", interfaceIDs.endId) if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } /* diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt index dfda0de134..fe61aff11e 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/FoodExtension.kt @@ -38,7 +38,7 @@ fun foodFromJson(jsonObject: JSONObject): Food? { return null } -fun Food.toJson(): JSONObject = +fun Food.toJson(isAdd: Boolean): JSONObject = JSONObject() .put("type", "food") .put("name", name) @@ -51,8 +51,6 @@ fun Food.toJson(): JSONObject = .put("energy", energy) .put("protein", protein) .put("fat", fat) - .put("isValid", isValid).also { - if (interfaceIDs.nightscoutId != null) it - .put("_id", interfaceIDs.nightscoutId) - } + .put("isValid", isValid) + .also { if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt index 1d75c3e549..140a409822 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/GlucoseValueExtension.kt @@ -15,13 +15,12 @@ fun GlucoseValue.valueToUnitsString(units: GlucoseUnit): String = if (units == GlucoseUnit.MGDL) DecimalFormatter.to0Decimal(value) else DecimalFormatter.to1Decimal(value * Constants.MGDL_TO_MMOLL) -fun GlucoseValue.toJson(dateUtil: DateUtil): JSONObject = +fun GlucoseValue.toJson(isAdd : Boolean, dateUtil: DateUtil): JSONObject = JSONObject() .put("device", sourceSensor.text) .put("date", timestamp) .put("dateString", dateUtil.toISOString(timestamp)) .put("sgv", value) .put("direction", trendArrow.text) - .put("type", "sgv").also { - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) - } + .put("type", "sgv") + .also { if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt index ae22865f04..12f25fcdcf 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/ProfileSwitchExtension.kt @@ -17,7 +17,7 @@ import info.nightscout.androidaps.utils.T import org.json.JSONObject import java.util.* -fun ProfileSwitch.toJson(dateUtil: DateUtil): JSONObject = +fun ProfileSwitch.toJson(isAdd: Boolean, dateUtil: DateUtil): JSONObject = JSONObject() .put("created_at", dateUtil.toISOString(timestamp)) .put("enteredBy", "openaps://" + "AndroidAPS") @@ -31,7 +31,7 @@ fun ProfileSwitch.toJson(dateUtil: DateUtil): JSONObject = if (interfaceIDs.pumpId != null) it.put("pumpId", interfaceIDs.pumpId) if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } /* NS PS diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt index 48de5abd87..35f3c195eb 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryBasalExtension.kt @@ -62,7 +62,7 @@ fun TemporaryBasal.toStringFull(profile: Profile, dateUtil: DateUtil): String { } } -fun TemporaryBasal.toJson(profile: Profile, dateUtil: DateUtil, useAbsolute: Boolean): JSONObject = +fun TemporaryBasal.toJson(isAdd: Boolean, profile: Profile, dateUtil: DateUtil, useAbsolute: Boolean): JSONObject = JSONObject() .put("created_at", dateUtil.toISOString(timestamp)) .put("enteredBy", "openaps://" + "AndroidAPS") @@ -77,7 +77,7 @@ fun TemporaryBasal.toJson(profile: Profile, dateUtil: DateUtil, useAbsolute: Boo if (interfaceIDs.endId != null) it.put("endId", interfaceIDs.endId) if (interfaceIDs.pumpType != null) it.put("pumpType", interfaceIDs.pumpType!!.name) if (interfaceIDs.pumpSerial != null) it.put("pumpSerial", interfaceIDs.pumpSerial) - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } /* diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt index df7ee5a069..1f7dd4e477 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TemporaryTargetExtension.kt @@ -88,7 +88,7 @@ fun temporaryTargetFromJson(jsonObject: JSONObject): TemporaryTarget? { return tt } -fun TemporaryTarget.toJson(units: GlucoseUnit, dateUtil: DateUtil): JSONObject = +fun TemporaryTarget.toJson(isAdd: Boolean, units: GlucoseUnit, dateUtil: DateUtil): JSONObject = JSONObject() .put("eventType", TherapyEvent.Type.TEMPORARY_TARGET.text) .put("duration", T.msecs(duration).mins()) @@ -100,5 +100,5 @@ fun TemporaryTarget.toJson(units: GlucoseUnit, dateUtil: DateUtil): JSONObject = .put("targetBottom", Profile.fromMgdlToUnits(lowTarget, units)) .put("targetTop", Profile.fromMgdlToUnits(highTarget, units)) .put("units", units.asText) - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) } diff --git a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt index f2f81192b6..54b55f33ab 100644 --- a/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt +++ b/core/src/main/java/info/nightscout/androidaps/extensions/TherapyEventExtension.kt @@ -97,7 +97,7 @@ fun therapyEventFromJson(jsonObject: JSONObject): TherapyEvent? { return te } -fun TherapyEvent.toJson(): JSONObject = +fun TherapyEvent.toJson(isAdd: Boolean): JSONObject = JSONObject() .put("eventType", type.text) .put("created_at", timestamp) @@ -108,7 +108,7 @@ fun TherapyEvent.toJson(): JSONObject = if (note != null) it.put("notes", note) if (glucose != null) it.put("glucose", glucose) if (glucoseType != null) it.put("glucoseType", glucoseType!!.text) - if (interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) + if (isAdd && interfaceIDs.nightscoutId != null) it.put("_id", interfaceIDs.nightscoutId) if (type == TherapyEvent.Type.ANNOUNCEMENT) it.put("isAnnouncement", true) }