setUserImplementedRecommendation method

Future<bool> setUserImplementedRecommendation({
  1. required Recommendations recommendation,
})

get UserRecommendation from recommendation node and set in :users node

@param optional language as locale @param threat object

Implementation

// Future<void> setUserThreatRecommendation({Locale? language}) async {
//   User currentUser = await getUserInfo;
//
//   List<Recommendations> userRecommendations =
//       await getThreatRecommendation(recommendationType: "user");
//   try {
//     _node = await _storageController
//         .get(":Users:${currentUser.userId}:gi:data:recommendations");
//
//     NodeValue threatRecomValue = NodeValueImpl("userRecommendation",
//         Recommendations.convertToJson(userRecommendations));
//
//     if (language != null) {
//       //translations
//       threatRecomValue.setValue(
//           Recommendations.convertToJson(userRecommendations), language);
//     }
//
//     await _node!.addOrUpdateValue(threatRecomValue);
//     await _storageController.update(_node!);
//   } on StorageException {
//     Node userRecommendationNode = NodeImpl(
//         ":Users:${currentUser.userId}:gi:data:recommendations", "owner");
//     await _storageController.add(userRecommendationNode);
//
//     NodeValue threatRecomValue = NodeValueImpl("userRecommendation",
//         Recommendations.convertToJson(userRecommendations));
//
//     if (language != null) {
//       //translations
//       threatRecomValue.setValue(
//           Recommendations.convertToJson(userRecommendations), language);
//     }
//
//     await userRecommendationNode.addOrUpdateValue(threatRecomValue);
//
//     _storageController.update(userRecommendationNode);
//   }
// }
Future<bool> setUserImplementedRecommendation(
    {required Recommendations recommendation}) async {
  User currentUser = await getUserInfo;

  List<Recommendations> implementedRecommendations = [];
  try {
    _node = await _storageController
        .get(":Users:${currentUser.userId}:gi:data:GeigerScoreUser");
    implementedRecommendations.add(recommendation);

    NodeValue implementedRecom = NodeValueImpl("implementedRecommendations",
        Recommendations.convertToJson(implementedRecommendations));
    await _node!.addOrUpdateValue(implementedRecom);

    await _storageController.update(_node!);
    return true;
  } catch (e) {
    log("failed to addOrUpdate implementedRecommendations NodeValue");
    return false;
  }
}