Page MenuHomePhorge

D3984.1765267208.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D3984.1765267208.diff

diff --git a/native/cpp/CommonCpp/NativeModules/MessageOperationsUtilities/MessageOperationsUtilities.cpp b/native/cpp/CommonCpp/NativeModules/MessageOperationsUtilities/MessageOperationsUtilities.cpp
--- a/native/cpp/CommonCpp/NativeModules/MessageOperationsUtilities/MessageOperationsUtilities.cpp
+++ b/native/cpp/CommonCpp/NativeModules/MessageOperationsUtilities/MessageOperationsUtilities.cpp
@@ -1,7 +1,10 @@
#include "MessageOperationsUtilities.h"
+#include "Logger.h"
#include "MessageSpecs.h"
#include <folly/String.h>
+#include <folly/json.h>
+#include <stdexcept>
namespace comm {
ClientDBMessageInfo
@@ -72,4 +75,36 @@
return Media{id, container, thread, uri, type, extras};
}
+std::vector<ClientDBMessageInfo>
+MessageOperationsUtilities::translateStringToClientDBMessageInfos(
+ std::string &rawMessageInfoString) {
+ std::vector<ClientDBMessageInfo> clientDBMessageInfos;
+ folly::dynamic rawMessageInfos;
+ try {
+ rawMessageInfos =
+ folly::parseJson(folly::trimWhitespace(rawMessageInfoString));
+ } catch (const folly::json::parse_error &e) {
+ Logger::log(
+ "Failed to convert message into JSON object. Details: " +
+ std::string(e.what()));
+ return clientDBMessageInfos;
+ }
+ for (const auto &messageInfo : rawMessageInfos) {
+ try {
+ clientDBMessageInfos.push_back(
+ translateRawMessageInfoToClientDBMessageInfo(messageInfo));
+ } catch (const folly::TypeError &e) {
+ Logger::log(
+ "Invalid type conversion when parsing message. Details: " +
+ std::string(e.what()));
+ } catch (const std::out_of_range &e) {
+ Logger::log(
+ "Non-existing key accessed when parsing message. Details: " +
+ std::string(e.what()));
+ }
+ }
+
+ return clientDBMessageInfos;
+}
+
} // namespace comm

File Metadata

Mime Type
text/plain
Expires
Tue, Dec 9, 8:00 AM (12 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5853386
Default Alt Text
D3984.1765267208.diff (1 KB)

Event Timeline