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;

  //print(':'+type+ ':'+ uuid + ':' + Storage.geigerIndicatorUUID + ':data'+path);
  Node geigerIndicatorUserScoreNode = NodeImpl(path,'',':'+type+ ':'+ uuid + ':' + Storage.geigerIndicatorUUID + ':data');
  //Node geigerIndicatorUserScoreNode = NodeImpl.createSkeleton(':'+type+ ':'+ uuid + ':' + Storage.geigerIndicatorUUID + ':data:'+path.toString().trim(),'',Storage.controller);
  //print(geigerIndicatorUserScoreNode.path);
  //create node keys: UserScore, ImplementRecommendations
  NodeValue geigerScore =
  NodeValueImpl('GEIGER_score', '0'); //add node name (name of threat)
  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!
      .addOrUpdate(NodeImpl(Storage.geigerIndicatorUUID, '', ':$type:' + uuid));
  await Storage.controller!.addOrUpdate(NodeImpl(
  'data', '', ':$type:' + uuid + ':' + Storage.geigerIndicatorUUID));
  await Storage.controller!.addOrUpdate(geigerIndicatorUserScoreNode);
  } catch (e) {
  //print(await storage.controller!.get(':$type:' + uuid + ':' + storage.GEIGERindicatorUUID + ':data:$path'));
  }
  } else {
  try {
  await Storage.controller!.addOrUpdate(geigerIndicatorUserScoreNode);
  } catch (e) {
  //print(e);
  }
  }
}