setGeigerUserScore method

Future<void> setGeigerUserScore({
  1. Locale? language,
  2. required GeigerScoreThreats geigerScoreThreats,
  3. String geigerScore = "0",
})

set GeigerUserScore.

@param option language as locale @param list of threatScore object @param optional geigerScore as string

Implementation

Future<void> setGeigerUserScore(
    {Locale? language,
    required GeigerScoreThreats geigerScoreThreats,
    String geigerScore: "0"}) async {
  User currentUser = await getUserInfo;

  try {
    _node = await _storageController
        .get(":Users:${currentUser.userId}:gi:data:GeigerScoreUser");
    _setUserNodeValues(language, geigerScoreThreats.threatScores,
        geigerScore: geigerScore);
  } on StorageException {
    Node userNode = NodeImpl(":Users:${currentUser.userId}", " owner");
    await _storageController.addOrUpdate(userNode);

    Node giNode = NodeImpl(":Users:${currentUser.userId}:gi", "owner");
    await _storageController.addOrUpdate(giNode);

    Node nodeData = NodeImpl(":Users:${currentUser.userId}:gi:data", "owner");
    await _storageController.addOrUpdate(nodeData);

    Node userScoreNode = NodeImpl(
        ":Users:${currentUser.userId}:gi:data:GeigerScoreUser", "owner");

    await _storageController.add(userScoreNode);
    _setUserNodeValuesException(language, userScoreNode,
        geigerScoreThreats.threatScores, geigerScoreThreats.geigerScore);
  }
}