diff --git a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h --- a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h +++ b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h @@ -42,6 +42,8 @@ static void initializeTablesForLogMonitoring(); #else static SQLiteConnectionManager connectionManager; + std::vector + transformToWebMessages(const std::vector &messages) const; #endif std::optional getSyncedDatabaseVersion(sqlite3 *db) const; 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 @@ -2835,10 +2835,8 @@ this->replaceThread(thread.toThread()); }; -std::vector -SQLiteQueryExecutor::getInitialMessagesWeb() const { - auto messages = this->getInitialMessages(); - +std::vector SQLiteQueryExecutor::transformToWebMessages( + const std::vector &messages) const { std::vector messageWithMedias; for (auto &messageWithMedia : messages) { messageWithMedias.push_back( @@ -2848,6 +2846,12 @@ return messageWithMedias; } +std::vector +SQLiteQueryExecutor::getInitialMessagesWeb() const { + auto messages = this->getInitialMessages(); + return this->transformToWebMessages(messages); +} + void SQLiteQueryExecutor::replaceMessageWeb(const WebMessage &message) const { this->replaceMessage(message.toMessage()); }; @@ -2865,14 +2869,7 @@ std::vector SQLiteQueryExecutor::getRelatedMessagesWeb(const std::string &messageID) const { auto relatedMessages = this->getRelatedMessages(messageID); - - std::vector relatedMessagesWithMedias; - for (auto &messageWithMedia : relatedMessages) { - relatedMessagesWithMedias.push_back( - {std::move(messageWithMedia.first), messageWithMedia.second}); - } - - return relatedMessagesWithMedias; + return this->transformToWebMessages(relatedMessages); } std::vector SQLiteQueryExecutor::searchMessagesWeb( @@ -2880,16 +2877,9 @@ std::string threadID, std::optional timestampCursor, std::optional messageIDCursor) const { - auto allMessages = + auto messages = this->searchMessages(query, threadID, timestampCursor, messageIDCursor); - - std::vector allMessagesWithMedias; - for (auto &messageWithMedia : allMessages) { - allMessagesWithMedias.push_back( - {std::move(messageWithMedia.first), messageWithMedia.second}); - } - - return allMessagesWithMedias; + return this->transformToWebMessages(messages); } #else void SQLiteQueryExecutor::clearSensitiveData() { 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$@