diff --git a/TidepoolServiceKit/Extensions/StoredDosingDecision.swift b/TidepoolServiceKit/Extensions/StoredDosingDecision.swift index 6c963d4..142d979 100644 --- a/TidepoolServiceKit/Extensions/StoredDosingDecision.swift +++ b/TidepoolServiceKit/Extensions/StoredDosingDecision.swift @@ -35,6 +35,7 @@ import TidepoolKit - manualBolusRequested Double? TDosingDecisionDatum.requestedBolus - warnings [Issue] TDosingDecisionDatum.warnings - errors [Issue] TDosingDecisionDatum.errors + - algorithmExperiments [AlgorithmExperiment]? TDosingDecisionDatum.payload["algorithmExperiments"] - syncIdentifier UUID .id, .origin, .payload["syncIdentifier"] Notes: @@ -82,7 +83,7 @@ extension StoredDosingDecision: IdentifiableDatum { timeZone: datumTimeZone, timeZoneOffset: datumTimeZoneOffset, associations: associations, - payload: datumPayload, + payload: datumDosingDecisionPayload, origin: origin) } @@ -276,6 +277,12 @@ extension StoredDosingDecision: IdentifiableDatum { dictionary["syncIdentifier"] = syncIdentifier.uuidString return dictionary } + + private var datumDosingDecisionPayload: TDictionary { + var dictionary = datumPayload + dictionary["algorithmExperiments"] = algorithmExperiments?.map { $0.jsonObject } + return dictionary + } } extension StoredDosingDecision.Settings: IdentifiableDatum {