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