setGlobalThreatsNode method

Future<void> setGlobalThreatsNode({
  1. Locale? language,
  2. required List<Threat> threats,
})

set all threat in Global:threats node

@param optional language as locale @param list of threat object

Implementation

Future<void> setGlobalThreatsNode(
    {Locale? language, required List<Threat> threats}) async {
  try {
    for (Threat threat in threats) {
      _node =
          await _storageController.get(':Global:threats:${threat.threatId}');
      //create a NodeValue
      _setThreatsNodeValue(language, threat);
    }
  } on StorageException {
    //log(":Global:threats not found");
    Node threatsNode = NodeImpl(":Global:threats", "owner");
    await _storageController.addOrUpdate(threatsNode);

    for (Threat threat in threats) {
      Node threatIdNode =
          NodeImpl(":Global:threats:${threat.threatId}", "owner");
      //create :Global:threats:$threatId
      await _storageController.addOrUpdate(threatIdNode);
      //create a NodeValue
      _setThreatsNodeValueException(language, threat, threatIdNode);
    }
  }
}