--- /dev/null
+SELECT min(userid)
+FROM quasseluser
setupCoreForInternalUsage();
}
- UserId uid = 3; // FIXME!!!11
+ mutex.lock();
+ UserId uid = storage->internalUser();
+ mutex.unlock();
+
// Find or create session for validated user
SessionThread *sess;
if(sessions.contains(uid))
<file>./SQL/SQLite/11/select_buffers.sql</file>
<file>./SQL/SQLite/11/select_buffers_for_network.sql</file>
<file>./SQL/SQLite/11/select_connected_networks.sql</file>
+ <file>./SQL/SQLite/11/select_internaluser.sql</file>
<file>./SQL/SQLite/11/select_messageRange.sql</file>
<file>./SQL/SQLite/11/select_messages.sql</file>
<file>./SQL/SQLite/11/select_messagesOffset.sql</file>
}
}
+UserId SqliteStorage::internalUser() {
+ QSqlQuery query(logDb());
+ query.prepare(queryString("select_internaluser"));
+ query.exec();
+
+ if(query.first()) {
+ return query.value(0).toInt();
+ } else {
+ return 0;
+ }
+}
+
void SqliteStorage::delUser(UserId user) {
QSqlQuery query(logDb());
query.prepare(queryString("delete_backlog_by_uid"));
virtual void updateUser(UserId user, const QString &password);
virtual void renameUser(UserId user, const QString &newName);
virtual UserId validateUser(const QString &user, const QString &password);
+ virtual UserId internalUser();
virtual void delUser(UserId user);
virtual void setUserSetting(UserId userId, const QString &settingName, const QVariant &data);
virtual QVariant getUserSetting(UserId userId, const QString &settingName, const QVariant &defaultData = QVariant());
*/
virtual UserId validateUser(const QString &user, const QString &password) = 0;
+ //! Determine the UserId of the internal user
+ /** \return A valid UserId if the password matches the username; 0 else
+ */
+ virtual UserId internalUser() = 0;
+
//! Remove a core user from storage.
/** \param user The userid to delete
*/