X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.cpp;h=3457c1efdfe98c4edfbb8dbf071c2b6ff15f869d;hb=fdf6853d42bbd3279d5bc85df9006145382b0ea6;hp=99e97b54cfa1208a8c2b48150c32c7546e0a04fe;hpb=31c1e758654388b080ce1dee7065afa053efc1b8;p=quassel.git diff --git a/src/core/sqlitestorage.cpp b/src/core/sqlitestorage.cpp index 99e97b54..3457c1ef 100644 --- a/src/core/sqlitestorage.cpp +++ b/src/core/sqlitestorage.cpp @@ -116,7 +116,7 @@ bool SqliteStorage::setupSchemaVersion(int version) } -UserId SqliteStorage::addUser(const QString &user, const QString &password) +UserId SqliteStorage::addUser(const QString &user, const QString &password, const QString &authenticator) { QSqlDatabase db = logDb(); UserId uid; @@ -131,6 +131,7 @@ UserId SqliteStorage::addUser(const QString &user, const QString &password) query.bindValue(":username", user); query.bindValue(":password", hashPassword(password)); query.bindValue(":hashversion", Storage::HashVersion::Latest); + query.bindValue(":authenticator", authenticator); lockForWrite(); safeExec(query); if (query.lastError().isValid() && query.lastError().number() == 19) { // user already exists - sadly 19 seems to be the general constraint violation error... @@ -240,6 +241,26 @@ UserId SqliteStorage::getUserId(const QString &username) return userId; } +QString SqliteStorage::getUserAuthenticator(const UserId userid) +{ + QString authenticator = QString(""); + + { + QSqlQuery query(logDb()); + query.prepare(queryString("select_authenticator")); + query.bindValue(":userid", userid.toInt()); + + lockForRead(); + safeExec(query); + + if (query.first()) { + authenticator = query.value(0).toString(); + } + } + unlock(); + + return authenticator; +} UserId SqliteStorage::internalUser() { @@ -1475,17 +1496,6 @@ QHash SqliteStorage::bufferMarkerLineMsgIds(UserId user) return markerLineHash; } -void SqliteStorage::setBufferLastMsg(const BufferId &bufferId, const MsgId &msgId) -{ - QSqlQuery query(logDb()); - query.prepare(queryString("update_buffer_lastmsgid")); - - query.bindValue(":bufferid", bufferId.toInt()); - query.bindValue(":lastmsgid", msgId.toInt()); - safeExec(query); - watchQuery(query); -} - bool SqliteStorage::logMessage(Message &msg) { QSqlDatabase db = logDb(); @@ -1524,8 +1534,6 @@ bool SqliteStorage::logMessage(Message &msg) MsgId msgId = logMessageQuery.lastInsertId().toInt(); if (msgId.isValid()) { msg.setMsgId(msgId); - - setBufferLastMsg(msg.bufferInfo().bufferId(), msgId); } else { error = true; @@ -1930,10 +1938,11 @@ bool SqliteMigrationReader::readMo(BufferMO &buffer) buffer.buffername = value(4).toString(); buffer.buffercname = value(5).toString(); buffer.buffertype = value(6).toInt(); - buffer.lastseenmsgid = value(7).toInt(); - buffer.markerlinemsgid = value(8).toInt(); - buffer.key = value(9).toString(); - buffer.joined = value(10).toInt() == 1 ? true : false; + buffer.lastmsgid = value(7).toInt(); + buffer.lastseenmsgid = value(8).toInt(); + buffer.markerlinemsgid = value(9).toInt(); + buffer.key = value(10).toString(); + buffer.joined = value(11).toInt() == 1 ? true : false; return true; }