mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-10 03:53:26 -08:00
[Server] Serve admin actions through the database interface (#7847)
cmdBanFromServer, the admin-flag helpers, cmdForceActivateUser and the admin-notes commands still prepared their statements inline through Servatrice_DatabaseInterface, and addWarning was only reachable through the concrete Servatrice class. Add setAdminFlag, getUserToken, getAdminNotes, setAdminNotes, addBan and getUserNamesByClientId to Server_DatabaseInterface with fail-closed defaults, promote addWarning, and model the outcomes as UserFieldResult and AdminFlagUpdateResult. Notifications, the audit record, the ban disconnect fan-out and every response code stay in the handler.
This commit is contained in:
parent
948035af06
commit
8c8dd0c072
4 changed files with 244 additions and 66 deletions
|
|
@ -224,8 +224,22 @@ public:
|
|||
bool newPasswordNeedsHash) override;
|
||||
void setForcePasswordChange(const QString &user, bool force) override;
|
||||
QList<ServerInfo_Ban> getUserBanHistory(const QString &userName) override;
|
||||
bool
|
||||
addWarning(const QString userName, const QString adminName, const QString warningReason, const QString clientID);
|
||||
bool addWarning(const QString userName,
|
||||
const QString adminName,
|
||||
const QString warningReason,
|
||||
const QString clientID) override;
|
||||
Server_DatabaseInterface::AdminFlagUpdateResult setAdminFlag(const QString &userName, int flag, bool add) override;
|
||||
Server_DatabaseInterface::UserFieldResult getUserToken(const QString &userName, QString &token) override;
|
||||
Server_DatabaseInterface::UserFieldResult getAdminNotes(const QString &userName, QString ¬es) override;
|
||||
Server_DatabaseInterface::UserFieldResult setAdminNotes(const QString &userName, const QString ¬es) override;
|
||||
bool addBan(const QString &userName,
|
||||
const QString &address,
|
||||
int adminId,
|
||||
int minutes,
|
||||
const QString &reason,
|
||||
const QString &visibleReason,
|
||||
const QString &clientId) override;
|
||||
bool getUserNamesByClientId(const QString &clientId, QList<QString> &userNames) override;
|
||||
QList<ServerInfo_Warning> getUserWarnHistory(const QString &userName) override;
|
||||
QList<ServerInfo_ChatMessage> getMessageLogHistory(const QString &user,
|
||||
const QString &ipaddress,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue