}
-UserId PostgreSqlStorage::addUser(const QString &user, const QString &password)
+UserId PostgreSqlStorage::addUser(const QString &user, const QString &password, const QString &authenticator)
{
QSqlQuery query(logDb());
query.prepare(queryString("insert_quasseluser"));
query.bindValue(":username", user);
query.bindValue(":password", hashPassword(password));
query.bindValue(":hashversion", Storage::HashVersion::Latest);
+ query.bindValue(":authenticator", authenticator);
safeExec(query);
if (!watchQuery(query))
return 0;
}
}
+QString PostgreSqlStorage::getUserAuthenticator(const UserId userid)
+{
+ QSqlQuery query(logDb());
+ query.prepare(queryString("select_authenticator"));
+ query.bindValue(":userid", userid.toInt());
+ safeExec(query);
+ watchQuery(query);
+
+ if (query.first()) {
+ return query.value(0).toString();
+ }
+ else {
+ return QString("");
+ }
+}
UserId PostgreSqlStorage::internalUser()
{
return markerLineHash;
}
-void PostgreSqlStorage::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 PostgreSqlStorage::logMessage(Message &msg)
{
QSqlDatabase db = logDb();
db.commit();
if (msgId.isValid()) {
msg.setMsgId(msgId);
-
- setBufferLastMsg(msg.bufferInfo().bufferId(), msgId);
-
return true;
}
else {
bindValue(1, user.username);
bindValue(2, user.password);
bindValue(3, user.hashversion);
+ bindValue(4, user.authenticator);
return exec();
}