mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-21 09:05:10 -07:00
[Server/Client/Protocol] Address developer role review feedback
Address ZeizaZach's review of the developer staff role: - Nudge the developer log query to exclude private chat and sender IPs (the ModeratorCommand path still sees everything). - Deduplicate Command_GetLogHistory into Command_ViewLogHistory, which now extends both ModeratorCommand (ext) and DeveloperCommand (dev_ext); the client picks the DeveloperCommand-scoped extension by extendee, and the server reads it via the extension number. - Pull the uptime snapshot SQL into Servatrice_DatabaseInterface as getLatestUptimeSnapshot() and widen the reported counters to 64-bit. - Document the admin bitfield (1 admin, 2 moderator, 4 judge, 8 developer) and add a server-side test for the developer command path.
This commit is contained in:
parent
1ff7ffcaa4
commit
1dc20176b3
14 changed files with 251 additions and 76 deletions
|
|
@ -1487,6 +1487,38 @@ QList<ServerInfo_ModeratorLogin> Servatrice_DatabaseInterface::getModeratorLastL
|
|||
return results;
|
||||
}
|
||||
|
||||
Servatrice_DatabaseInterface::UptimeSnapshot Servatrice_DatabaseInterface::getLatestUptimeSnapshot(int serverId)
|
||||
{
|
||||
UptimeSnapshot snapshot;
|
||||
|
||||
if (!checkSql()) {
|
||||
return snapshot;
|
||||
}
|
||||
|
||||
QSqlQuery *query = prepareQuery("SELECT users_count, mods_count, games_count, tx_bytes, rx_bytes, uptime, "
|
||||
"UNIX_TIMESTAMP(timest) FROM {prefix}_uptime "
|
||||
"WHERE id_server = :id_server ORDER BY timest DESC LIMIT 1");
|
||||
query->bindValue(":id_server", serverId);
|
||||
|
||||
if (!execSqlQuery(query)) {
|
||||
qCWarning(DatabaseInterfaceLog) << "Failed to collect server stats snapshot: SQL Error";
|
||||
return snapshot;
|
||||
}
|
||||
|
||||
if (query->next()) {
|
||||
snapshot.valid = true;
|
||||
snapshot.usersCount = query->value(0).toULongLong();
|
||||
snapshot.modsCount = query->value(1).toULongLong();
|
||||
snapshot.gamesCount = query->value(2).toULongLong();
|
||||
snapshot.txBytes = query->value(3).toULongLong();
|
||||
snapshot.rxBytes = query->value(4).toULongLong();
|
||||
snapshot.uptimeSecs = query->value(5).toULongLong();
|
||||
snapshot.timest = query->value(6).toULongLong();
|
||||
}
|
||||
|
||||
return snapshot;
|
||||
}
|
||||
|
||||
bool Servatrice_DatabaseInterface::removeUserAvatar(const QString &userName)
|
||||
{
|
||||
if (!checkSql()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue