setUserImplementedRecommendation method
get UserRecommendation from recommendation node and set in :users node
@param optional language as locale @param threat objectImplementation
// 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;
}
}