[network/ruqola] src/core/localdatabase: Use e2erooms

Laurent Montel <[email protected]> Wed, 5 Aug 2026 05:29:20 +0000 (UTC)
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 1c3d26df1f8421851e14ddc63c6623e12e4badf2 by Laurent Montel.
Committed on 05/08/2026 at 05:04.
Pushed by mlaurent into branch 'master'.

Use e2erooms

M  +4    -0    src/core/localdatabase/autotests/localdatabasebasetest.cpp
M  +9    -9    src/core/localdatabase/e2eroomsdatabase.cpp
M  +3    -0    src/core/localdatabase/localdatabasebase.cpp
M  +1    -0    src/core/localdatabase/localdatabasebase.h

https://invent.kde.org/network/ruqola/-/commit/1c3d26df1f8421851e14ddc63c6623e12e4badf2

diff --git a/src/core/localdatabase/autotests/localdatabasebasetest.cpp b/src/core/localdatabase/autotests/localdatabasebasetest.cpp
index c8798c299b..7e98be867e 100644
--- a/src/core/localdatabase/autotests/localdatabasebasetest.cpp
+++ b/src/core/localdatabase/autotests/localdatabasebasetest.cpp
@@ -64,5 +64,9 @@ void LocalDatabaseBaseTest::shouldHaveDefaultValues()
         TestLocalDatabaseBase w(u"foo/bla/"_s, LocalDatabaseBase::DatabaseType::RoomSubscriptions);
         QCOMPARE(w.currentDatabaseName(u"kde"_s), u"roomsubscriptions-kde"_s);
     }
+    {
+        TestLocalDatabaseBase w(u"foo/bla/"_s, LocalDatabaseBase::DatabaseType::E2ERooms);
+        QCOMPARE(w.currentDatabaseName(u"kde"_s), u"e2e-rooms-kde"_s);
+    }
 }
 #include "moc_localdatabasebasetest.cpp"
diff --git a/src/core/localdatabase/e2eroomsdatabase.cpp b/src/core/localdatabase/e2eroomsdatabase.cpp
index 2eeaae365a..0cadc5e606 100644
--- a/src/core/localdatabase/e2eroomsdatabase.cpp
+++ b/src/core/localdatabase/e2eroomsdatabase.cpp
@@ -13,7 +13,7 @@
 #include <QSqlQuery>
 #include <QSqlTableModel>
 using namespace Qt::Literals::StringLiterals;
-static const char s_schemaE2EKeyStore[] = "CREATE TABLE E2EKEYS (userId TEXT PRIMARY KEY NOT NULL, encryptedPrivateKey BLOB, publicKey BLOB)";
+static const char s_schemaE2ERoomsKeysStore[] = "CREATE TABLE E2EROOMSKEYS (userId TEXT PRIMARY KEY NOT NULL, encryptedPrivateKey BLOB, publicKey BLOB)";
 enum class E2EFields {
     UserId,
     EncryptedPrivateKey,
@@ -21,7 +21,7 @@ enum class E2EFields {
 }; // in the same order as the table
 
 E2ERoomsDataBase::E2ERoomsDataBase()
-    : LocalDatabaseBase(LocalDatabaseUtils::localE2EDatabasePath(), LocalDatabaseBase::DatabaseType::E2E)
+    : LocalDatabaseBase(LocalDatabaseUtils::localE2EDatabasePath(), LocalDatabaseBase::DatabaseType::E2ERooms)
 {
 }
 
@@ -29,7 +29,7 @@ E2ERoomsDataBase::~E2ERoomsDataBase() = default;
 
 QString E2ERoomsDataBase::schemaDataBase() const
 {
-    return QString::fromLatin1(s_schemaE2EKeyStore);
+    return QString::fromLatin1(s_schemaE2ERoomsKeysStore);
 }
 
 bool E2ERoomsDataBase::saveKey(const QString &accountName, const QString &userId, const QByteArray &encryptedPrivateKey, const QByteArray &publicKey)
@@ -39,12 +39,12 @@ bool E2ERoomsDataBase::saveKey(const QString &accountName, const QString &userId
         return false;
     }
     QSqlQuery query(db);
-    query.prepare(QStringLiteral("INSERT OR REPLACE INTO E2EKEYS (userId, encryptedPrivateKey, publicKey) VALUES (?, ?, ?)"));
+    query.prepare(QStringLiteral("INSERT OR REPLACE INTO E2EROOMSKEYS (userId, encryptedPrivateKey, publicKey) VALUES (?, ?, ?)"));
     query.addBindValue(userId);
     query.addBindValue(encryptedPrivateKey);
     query.addBindValue(publicKey);
     if (!query.exec()) {
-        qCWarning(RUQOLA_DATABASE_LOG) << "Couldn't insert-or-replace in E2EKEYS table" << db.databaseName() << query.lastError();
+        qCWarning(RUQOLA_DATABASE_LOG) << "Couldn't insert-or-replace in E2EROOMSKEYS table" << db.databaseName() << query.lastError();
         return false;
     }
     return true;
@@ -57,7 +57,7 @@ bool E2ERoomsDataBase::loadKey(const QString &accountName, const QString &userId
         return false;
     }
     QSqlQuery query(db);
-    query.prepare(QStringLiteral("SELECT encryptedPrivateKey, publicKey FROM E2EKEYS WHERE userId = ?"));
+    query.prepare(QStringLiteral("SELECT encryptedPrivateKey, publicKey FROM E2EROOMSKEYS WHERE userId = ?"));
     query.addBindValue(userId);
     if (query.exec() && query.first()) {
         encryptedPrivateKey = query.value(0).toByteArray();
@@ -74,7 +74,7 @@ bool E2ERoomsDataBase::deleteKey(const QString &accountName, const QString &user
         return false;
     }
     QSqlQuery query(db);
-    query.prepare(QStringLiteral("DELETE FROM E2EKEYS WHERE userId = ?"));
+    query.prepare(QStringLiteral("DELETE FROM E2EROOMSKEYS WHERE userId = ?"));
     query.addBindValue(userId);
     if (!query.exec()) {
         qCWarning(RUQOLA_DATABASE_LOG) << "Couldn't delete from E2EKEYS table" << db.databaseName() << query.lastError();
@@ -90,7 +90,7 @@ bool E2ERoomsDataBase::hasKey(const QString &accountName, const QString &userId)
         return false;
     }
     QSqlQuery query(db);
-    query.prepare(QStringLiteral("SELECT 1 FROM E2EKEYS WHERE userId = ?"));
+    query.prepare(QStringLiteral("SELECT 1 FROM E2EROOMSKEYS WHERE userId = ?"));
     query.addBindValue(userId);
     return query.exec() && query.first();
 }
@@ -117,7 +117,7 @@ std::unique_ptr<QSqlTableModel> E2ERoomsDataBase::createE2eModel(const QString &
     Q_ASSERT(db.isValid());
     Q_ASSERT(db.isOpen());
     auto model = std::make_unique<QSqlTableModel>(nullptr, db);
-    model->setTable(u"E2EKEYS"_s);
+    model->setTable(u"E2EROOMSKEYS"_s);
     model->setSort(int(E2EFields::UserId), Qt::AscendingOrder);
     model->select();
     return model;
diff --git a/src/core/localdatabase/localdatabasebase.cpp b/src/core/localdatabase/localdatabasebase.cpp
index 32fa389b2a..45c072f0e6 100644
--- a/src/core/localdatabase/localdatabasebase.cpp
+++ b/src/core/localdatabase/localdatabasebase.cpp
@@ -79,6 +79,9 @@ QString LocalDatabaseBase::databaseName(const QString &name) const
     case DatabaseType::RoomSubscriptions:
         prefix = u"roomsubscriptions-"_s;
         break;
+    case DatabaseType::E2ERooms:
+        prefix = u"e2e-rooms-"_s;
+        break;
     case DatabaseType::Logger:
         break;
     }
diff --git a/src/core/localdatabase/localdatabasebase.h b/src/core/localdatabase/localdatabasebase.h
index ff293498a4..8ac6743539 100644
--- a/src/core/localdatabase/localdatabasebase.h
+++ b/src/core/localdatabase/localdatabasebase.h
@@ -21,6 +21,7 @@ public:
         Logger,
         Global,
         E2E,
+        E2ERooms,
         PendingTypedInfo,
         RoomSubscriptions,
     };