[network/ruqola] src/core/localdatabase: Add E2ERoomsDataBase
Laurent Montel <[email protected]> Wed, 5 Aug 2026 05:29:20 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 5f64ec4a84460b884730bb90b3e151c9a3d8a77e by Laurent Montel.
Committed on 05/08/2026 at 05:08.
Pushed by mlaurent into branch 'master'.
Add E2ERoomsDataBase
M +1 -1 src/core/localdatabase/e2eroomsdatabase.cpp
M +1 -1 src/core/localdatabase/e2eroomsdatabase.h
M +9 -0 src/core/localdatabase/localdatabasemanager.cpp
M +4 -0 src/core/localdatabase/localdatabasemanager.h
https://invent.kde.org/network/ruqola/-/commit/5f64ec4a84460b884730bb90b3e151c9a3d8a77e
diff --git a/src/core/localdatabase/e2eroomsdatabase.cpp b/src/core/localdatabase/e2eroomsdatabase.cpp
index 0cadc5e606..618f1bd1ae 100644
--- a/src/core/localdatabase/e2eroomsdatabase.cpp
+++ b/src/core/localdatabase/e2eroomsdatabase.cpp
@@ -95,7 +95,7 @@ bool E2ERoomsDataBase::hasKey(const QString &accountName, const QString &userId)
return query.exec() && query.first();
}
-std::unique_ptr<QSqlTableModel> E2ERoomsDataBase::createE2eModel(const QString &accountName) const
+std::unique_ptr<QSqlTableModel> E2ERoomsDataBase::createE2eRoomsModel(const QString &accountName) const
{
const QString dbName = databaseName(accountName);
QSqlDatabase db = QSqlDatabase::database(dbName);
diff --git a/src/core/localdatabase/e2eroomsdatabase.h b/src/core/localdatabase/e2eroomsdatabase.h
index 025b2c82da..e40e6dd873 100644
--- a/src/core/localdatabase/e2eroomsdatabase.h
+++ b/src/core/localdatabase/e2eroomsdatabase.h
@@ -21,7 +21,7 @@ public:
[[nodiscard]] bool deleteKey(const QString &accountName, const QString &userId);
[[nodiscard]] bool hasKey(const QString &accountName, const QString &userId);
- [[nodiscard]] std::unique_ptr<QSqlTableModel> createE2eModel(const QString &accountName) const;
+ [[nodiscard]] std::unique_ptr<QSqlTableModel> createE2eRoomsModel(const QString &accountName) const;
protected:
[[nodiscard]] QString schemaDataBase() const override;
diff --git a/src/core/localdatabase/localdatabasemanager.cpp b/src/core/localdatabase/localdatabasemanager.cpp
index d0a5f74c7e..8cda578590 100644
--- a/src/core/localdatabase/localdatabasemanager.cpp
+++ b/src/core/localdatabase/localdatabasemanager.cpp
@@ -7,6 +7,7 @@
#include "localdatabasemanager.h"
#include "e2edatabase.h"
#include "localaccountsdatabase.h"
+#include "localdatabase/e2eroomsdatabase.h"
#include "localdatabaseutils.h"
#include "localmessagelogger.h"
#include "localmessagesdatabase.h"
@@ -26,6 +27,7 @@ LocalDatabaseManager::LocalDatabaseManager()
, mAccountDatabase(std::make_unique<LocalAccountsDatabase>())
, mGlobalDatabase(std::make_unique<GlobalDatabase>())
, mE2EDatabase(std::make_unique<E2EDataBase>())
+ , mE2ERoomsDataBase(std::make_unique<E2ERoomsDataBase>())
, mRoomPendingTypedInfoDatabase(std::make_unique<LocalRoomPendingTypedInfoDatabase>())
, mRoomSubscriptionsDatabase(std::make_unique<LocalRoomSubscriptionsDatabase>())
{
@@ -120,6 +122,7 @@ void LocalDatabaseManager::setDatabaseLogger(RocketChatRestApi::AbstractLogger *
mE2EDatabase->setDatabaseLogger(logger);
mRoomPendingTypedInfoDatabase->setDatabaseLogger(logger);
mRoomSubscriptionsDatabase->setDatabaseLogger(logger);
+ mE2ERoomsDataBase->setDatabaseLogger(logger);
}
LocalMessagesDatabase *LocalDatabaseManager::messagesDatabase() const
@@ -161,6 +164,11 @@ QByteArray LocalDatabaseManager::roomId(const QString &accountName, const QByteA
return mRoomSubscriptionsDatabase->roomId(accountName, subscriptionId);
}
+E2ERoomsDataBase *LocalDatabaseManager::e2ERoomsDataBase() const
+{
+ return mE2ERoomsDataBase.get();
+}
+
void LocalDatabaseManager::deleteRoom(const QString &accountName, const QByteArray &roomId)
{
if (RuqolaGlobalConfig::self()->storeMessageInDataBase()) {
@@ -168,6 +176,7 @@ void LocalDatabaseManager::deleteRoom(const QString &accountName, const QByteArr
mMessagesDatabase->deleteDatabaseFromRoomId(accountName, roomId);
mGlobalDatabase->removeTimeStamp(accountName, roomId, GlobalDatabase::TimeStampType::RoomTimeStamp);
mGlobalDatabase->removeTimeStamp(accountName, roomId, GlobalDatabase::TimeStampType::MessageTimeStamp);
+ // TODO remove rooms from mE2ERoomsDataBase
}
}
diff --git a/src/core/localdatabase/localdatabasemanager.h b/src/core/localdatabase/localdatabasemanager.h
index 1503f325de..931c7db9f1 100644
--- a/src/core/localdatabase/localdatabasemanager.h
+++ b/src/core/localdatabase/localdatabasemanager.h
@@ -23,6 +23,7 @@ class LocalRoomSubscriptionsDatabase;
class Message;
class Room;
class LocalRoomPendingTypedInfoDatabase;
+class E2ERoomsDataBase;
namespace RocketChatRestApi
{
class AbstractLogger;
@@ -61,6 +62,8 @@ public:
[[nodiscard]] E2EDataBase *e2EDatabase() const;
+ [[nodiscard]] E2ERoomsDataBase *e2ERoomsDataBase() const;
+
[[nodiscard]] LocalRoomPendingTypedInfoDatabase *roomPendingTypedInfoDatabase() const;
[[nodiscard]] LocalRoomSubscriptionsDatabase *roomSubscriptionsDatabase() const;
@@ -84,6 +87,7 @@ private:
std::unique_ptr<LocalAccountsDatabase> mAccountDatabase;
std::unique_ptr<GlobalDatabase> mGlobalDatabase;
std::unique_ptr<E2EDataBase> mE2EDatabase;
+ std::unique_ptr<E2ERoomsDataBase> mE2ERoomsDataBase;
std::unique_ptr<LocalRoomPendingTypedInfoDatabase> mRoomPendingTypedInfoDatabase;
std::unique_ptr<LocalRoomSubscriptionsDatabase> mRoomSubscriptionsDatabase;
};