diff --git a/native/android/app/CMakeLists.txt b/native/android/app/CMakeLists.txt --- a/native/android/app/CMakeLists.txt +++ b/native/android/app/CMakeLists.txt @@ -74,6 +74,8 @@ ../../cpp/CommonCpp/NativeModules/InternalModules ../../cpp/CommonCpp/NativeModules/PersistentStorageUtilities ../../cpp/CommonCpp/NativeModules/PersistentStorageUtilities/ThreadOperationsUtilities + ../../cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities + ../../cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageSpecs ../../cpp/CommonCpp/DatabaseManagers ../../cpp/CommonCpp/Tools ../../cpp/CommonCpp/grpc/_generated diff --git a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.h b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.h new file mode 100644 --- /dev/null +++ b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.h @@ -0,0 +1,26 @@ +#pragma once + +#include "../../../DatabaseManagers/DatabaseManager.h" +#include "../../../DatabaseManagers/entities/Media.h" +#include "../../../DatabaseManagers/entities/Message.h" + +#include <folly/dynamic.h> +#include <string> +#include <vector> + +namespace comm { +typedef std::pair<Message, std::vector<Media>> ClientDBMessageInfo; +class MessageOperationsUtilities { + static ClientDBMessageInfo translateRawMessageInfoToClientDBMessageInfo( + const folly::dynamic &rawMessageInfo); + static Media translateMediaToClientDBMediaInfo( + const folly::dynamic &rawMediaInfo, + const std::string &container, + const std::string &thread); + +public: + static std::vector<ClientDBMessageInfo> + translateStringToClientDBMessageInfos(std::string &rawMessageInfosString); + static void storeMessageInfos(std::string &rawMessageInfosString); +}; +} // namespace comm