updateScoreNode function

Future updateScoreNode(
  1. dynamic type,
  2. 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());

}