createScoreNode function

Future createScoreNode(
  1. dynamic type,
  2. dynamic path
)

Implementation

Future createScoreNode(var type, var path) async {
  var uuid = '';
  type == Types.users ? uuid = Storage.userUUID : uuid = Storage.deviceUUID;


  Node geigerIndicatorUserScoreNode = NodeImpl(':'+type+ ':'+ uuid + ':' + Storage.geigerIndicatorUUID + ':data:'+path,'');

  NodeValue geigerScore = NodeValueImpl('GEIGER_score', '0');
  await geigerIndicatorUserScoreNode.addValue(geigerScore);

  NodeValue geigerThreatscores = NodeValueImpl('threats_score', '');
  await geigerIndicatorUserScoreNode.addValue(geigerThreatscores);

  NodeValue gegiernumMetrics = NodeValueImpl('number_metrics', '0');
  await geigerIndicatorUserScoreNode.addValue(gegiernumMetrics);

  geigerScore.setDescription('GEIGER user score');
  geigerThreatscores.setDescription('GEIGER threat-specific user score');
  gegiernumMetrics.setDescription('Number of metrics used in calculation of user score');



  if (path != Types.geigerScoreAggregate) {
    NodeValue implementedRecommendations = NodeValueImpl('implementedRecommendations', ''); //add node name (name of threat)
    await geigerIndicatorUserScoreNode.addValue(implementedRecommendations);

    try{
      await Storage.controller!.add(geigerIndicatorUserScoreNode);

    }catch(e){
      log('geiger-data: 483-Exist Recommendation');
    }


  } else {

    try{
    await Storage.controller!.add(geigerIndicatorUserScoreNode);

    }catch(e){
      log('geiger-data: 493-Exist GEIGER Score Node');
    }
  }
}