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;
Node scoreNode;
try {
scoreNode = await Storage.controller!.get(
':$type:' + uuid + ':' + Storage.geigerIndicatorUUID + ':data:$path');
} catch (e) {
print('api527$e');
return;
}
//await crtThreatScore(type);
var geigerScore = 0.0;
try{
Codec<String, String> stringToBase64 = utf8.fuse(base64);
String encoded = stringToBase64.encode(jsonEncode(JsonObject.threatScoreValues)); // dXNlcm5hbWU6cGFzc3dvcmQ=
NodeValue geigerThreatscores = NodeValueImpl(
'threats_score', await crtThreatScore(type));
await scoreNode.addOrUpdateValue(geigerThreatscores);
type == Types.geigerScoreAggregate
? geigerScore = CoreValues.gagg
: geigerScore = double.parse(await crtTotalThreatScore(type));
} catch (e) {
print('api546$e');
return;
}
//GEIGER_score
NodeValue geigerScoreNode =
NodeValueImpl('GEIGER_score', geigerScore.toString());
await scoreNode.addOrUpdateValue(geigerScoreNode);
JsonObject.geigerNode['threatScores'] = JsonObject.threatScoreValues;
JsonObject.geigerNode['geigerScore'] = geigerScore.toString();
var len = 0;
try{
type == Types.devices
? len =
CoreValues.devicePositive.length + CoreValues.deviceNegative.length
: len = CoreValues.userPositive.length + CoreValues.userNegative.length;
} catch (e) {
print('api570$e');
return;
}
var numberMetrics = '';
try{
type == Types.geigerScoreAggregate
? numberMetrics = CoreValues.nagg.toString()
: numberMetrics = len.toString();
} catch (e) {
print('api582$e');
return;
}
NodeValue geigerNumMetrics = NodeValueImpl('number_metrics', numberMetrics);
await scoreNode.addOrUpdateValue(geigerNumMetrics);
if (path != Types.geigerScoreAggregate) {
NodeValue implementedRecommendations =
NodeValueImpl('implementedRecommendations', ''); //?????
scoreNode.addOrUpdateValue(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;
}
try{
String str = json.encode(JsonObject.geigerNodeKey);
Codec<String, String> stringToBase64 = utf8.fuse(base64);
String encoded = stringToBase64.encode(str); // dXNlcm5hbWU6cGFzc3dvcmQ=
NodeValue geigerJsonObject =
NodeValueImpl('geigerJsonObj', encoded);
//await scoreNode.addOrUpdateValue(geigerJsonObject);
}catch(e){
print('api623$e');
}
try{
print(scoreNode);
await Storage.controller!.addOrUpdate(scoreNode);
}
catch(e){
log('794'+e.toString());
}
//log(scoreNode.toString());
//print(scoreNode.toString());
}