updateScoreNode function
Future
updateScoreNode(
- dynamic type,
- dynamic path
)
Implementation
Future updateScoreNode(var type, var path) async {
var uuid = '';
type == Types.users ? uuid = Storage.userUUID : uuid = Storage.deviceUUID;
try {
var scoreNode = await Storage.controller!.get(
':$type:' + uuid + ':' + Storage.geigerIndicatorUUID + ':data:$path');
await crtThreatScore(type);
NodeValue geigerThreatscores = NodeValueImpl(
'threats_score', jsonEncode(JsonObject.threatScoreValues));
scoreNode.updateValue(geigerThreatscores);
var geigerScore = 0.0;
type == Types.geigerScoreAggregate
? geigerScore = CoreValues.gagg
: geigerScore = await crtTotalThreatScore(type);
NodeValue geigerScoreNode =
NodeValueImpl('GEIGER_score', geigerScore.toString());
scoreNode.updateValue(geigerScoreNode);
JsonObject.geigerNode['threatScores'] = JsonObject.threatScoreValues;
JsonObject.geigerNode['geigerScore'] = geigerScoreNode;
var len = 0;
type == Types.devices
? len =
CoreValues.devicePositive.length + CoreValues.deviceNegative.length
: len = CoreValues.userPositive.length + CoreValues.userNegative.length;
var numberMetrics = '';
type == Types.geigerScoreAggregate
? numberMetrics = CoreValues.nagg.toString()
: numberMetrics = len.toString();
NodeValue geigerNumMetrics = NodeValueImpl('number_metrics', numberMetrics);
scoreNode.updateValue(geigerNumMetrics);
if (path != Types.geigerScoreAggregate) {
NodeValue implementedRecommendations =
NodeValueImpl('implementedRecommendations', ''); //?????
scoreNode.updateValue(implementedRecommendations);
var objectName = '';
type == Types.devices
? objectName = 'geigerScoreDevice'
: objectName = 'geigerScoreUsers';
JsonObject.geigerNodeKey[objectName] = JsonObject.geigerNode;
type == Types.devices
? JsonObject.geigerScoreDevice = JsonObject.geigerNode
: JsonObject.geigerScoreUser = JsonObject.geigerNode;
} else {
JsonObject.geigerNodeKey['geigerScoreAggregate'] = JsonObject.geigerNode;
JsonObject.geigerScoreAggregate = JsonObject.geigerNode;
}
NodeValue geigerJsonObject =
NodeValueImpl('geigerJsonObj', jsonEncode(JsonObject.geigerNodeKey));
scoreNode.updateValue(geigerJsonObject);
await Storage.controller!.update(scoreNode);
//print(scoreNode);
} catch (e) {
// ignore: avoid_print
print(e);
return;
}
}