mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-22 09:35:08 -07:00
[Server/Client/Protocol] Add developer staff role
Introduce a Developer staff level (proto flag 32, DB admin bit 8) that sits between admin and moderator: no kick/ban/warn/report/admin powers, but gets server log access via a new developer command container family (GET_SERVER_STATS, VIEWLOG_HISTORY) and an idle-timeout exemption. - Protocol: IsDeveloper flag, developer_commands.proto envelope, Command_GetServerStats/Command_GetLogHistory, Response_GetServerStats, Command_AdjustMod.should_be_developer - Servatrice: fail-closed developer dispatcher, uptime snapshot handler, shared log history handler reuse, bit-8 DB mapping - Client: burgundy pawn/badge/labels/sort order, prepareDeveloperCommand, minimal Developer stats tab, log tab access, promote/demote actions Took 24 minutes Took 18 seconds # Commit time for manual adjustment: # Took 15 minutes
This commit is contained in:
parent
704611fc1f
commit
124990239c
31 changed files with 510 additions and 19 deletions
43
cockatrice/src/interface/widgets/tabs/tab_developer.h
Normal file
43
cockatrice/src/interface/widgets/tabs/tab_developer.h
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* @file tab_developer.h
|
||||
* @ingroup ServerTabs
|
||||
*/
|
||||
//! \todo Document this file.
|
||||
|
||||
#ifndef TAB_DEVELOPER_H
|
||||
#define TAB_DEVELOPER_H
|
||||
|
||||
#include "tab.h"
|
||||
|
||||
class AbstractClient;
|
||||
class QLabel;
|
||||
class QPushButton;
|
||||
class QTableWidget;
|
||||
class Response;
|
||||
|
||||
class TabDeveloper : public Tab
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
AbstractClient *client;
|
||||
QTableWidget *statsTable;
|
||||
QPushButton *refreshButton;
|
||||
QLabel *statusLabel;
|
||||
|
||||
void appendStatRow(const QString &name, const QString &value);
|
||||
static QString formatBytes(quint64 bytes);
|
||||
|
||||
private slots:
|
||||
void refreshClicked();
|
||||
void serverStatsResponse(const Response &resp);
|
||||
|
||||
public:
|
||||
explicit TabDeveloper(TabSupervisor *_tabSupervisor, AbstractClient *_client);
|
||||
void retranslateUi() override;
|
||||
[[nodiscard]] QString getTabText() const override
|
||||
{
|
||||
return tr("Developer");
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue