diff --git a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp --- a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp +++ b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp @@ -1435,14 +1435,17 @@ stepResult = sqlite3_step(preparedSQL)) { Message message = Message::fromSQLResult(preparedSQL, 0); if (message.id == prevMsgIdx) { - messages.back().second.push_back(Media::fromSQLResult(preparedSQL, 8)); + messages.back().medias.push_back(Media::fromSQLResult(preparedSQL, 8)); } else { prevMsgIdx = message.id; std::vector mediaForMsg; if (sqlite3_column_type(preparedSQL, 8) != SQLITE_NULL) { mediaForMsg.push_back(Media::fromSQLResult(preparedSQL, 8)); } - messages.push_back(std::make_pair(std::move(message), mediaForMsg)); + MessageEntity entity; + entity.message = std::move(message); + entity.medias = std::move(mediaForMsg); + messages.push_back(std::move(entity)); } } return messages; @@ -2691,7 +2694,7 @@ this->processMessagesResults(preparedSQL); std::vector messageIDs; for (const auto &message : messages) { - messageIDs.push_back(message.first.id); + messageIDs.push_back(message.message.id); } std::vector relatedMessages = this->getRelatedMessagesForSearch(messageIDs); @@ -2828,9 +2831,9 @@ std::vector SQLiteQueryExecutor::transformToWebMessages( const std::vector &messages) const { std::vector messageWithMedias; - for (auto &messageWithMedia : messages) { + for (auto &messageEntity : messages) { messageWithMedias.push_back( - {std::move(messageWithMedia.first), messageWithMedia.second}); + {WebMessage(messageEntity.message), messageEntity.medias}); } return messageWithMedias; diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/Message.h b/native/cpp/CommonCpp/DatabaseManagers/entities/Message.h --- a/native/cpp/CommonCpp/DatabaseManagers/entities/Message.h +++ b/native/cpp/CommonCpp/DatabaseManagers/entities/Message.h @@ -86,6 +86,9 @@ std::vector medias; }; -using MessageEntity = std::pair>; +struct MessageEntity { + Message message; + std::vector medias; +}; } // namespace comm diff --git a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.h b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.h --- a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.h +++ b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.h @@ -9,7 +9,7 @@ #include namespace comm { -typedef std::pair> ClientDBMessageInfo; +typedef MessageEntity ClientDBMessageInfo; class MessageOperationsUtilities { static ClientDBMessageInfo translateRawMessageInfoToClientDBMessageInfo( const folly::dynamic &rawMessageInfo); diff --git a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.cpp b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.cpp --- a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.cpp +++ b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/MessageOperationsUtilities/MessageOperationsUtilities.cpp @@ -47,17 +47,18 @@ translateMediaToClientDBMediaInfo(media, id, thread)); } } - return { - Message{ - id, - std::move(localID), - thread, - user, - type, - std::move(futureType), - std::move(content), - time}, - std::move(mediaVector)}; + MessageEntity entity; + entity.message = Message{ + id, + std::move(localID), + thread, + user, + type, + std::move(futureType), + std::move(content), + time}; + entity.medias = std::move(mediaVector); + return entity; } Media MessageOperationsUtilities::translateMediaToClientDBMediaInfo( @@ -115,8 +116,8 @@ translateStringToClientDBMessageInfos(rawMessageInfosString); for (const auto &clientDBMessageInfo : clientDBMessageInfos) { DatabaseManager::getQueryExecutor().replaceMessage( - clientDBMessageInfo.first); - for (const auto &mediaInfo : clientDBMessageInfo.second) { + clientDBMessageInfo.message); + for (const auto &mediaInfo : clientDBMessageInfo.medias) { DatabaseManager::getQueryExecutor().replaceMedia(mediaInfo); } } diff --git a/web/shared-worker/_generated/comm_query_executor.wasm b/web/shared-worker/_generated/comm_query_executor.wasm index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@