mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-23 10: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
|
|
@ -258,6 +258,19 @@ PendingCommand *AbstractClient::prepareDeveloperCommand(const ::google::protobuf
|
|||
{
|
||||
CommandContainer cont;
|
||||
DeveloperCommand *c = cont.add_developer_command();
|
||||
c->GetReflection()->MutableMessage(c, cmd.GetDescriptor()->FindExtensionByName("ext"))->CopyFrom(cmd);
|
||||
// A developer command message may also be usable through other command
|
||||
// families, so select the extension scoped to DeveloperCommand rather than
|
||||
// guessing by name.
|
||||
const ::google::protobuf::Descriptor *cmdDescriptor = cmd.GetDescriptor();
|
||||
const ::google::protobuf::Descriptor *developerDescriptor = DeveloperCommand::descriptor();
|
||||
const ::google::protobuf::FieldDescriptor *developerExtension = nullptr;
|
||||
for (int i = 0; i < cmdDescriptor->extension_count(); ++i) {
|
||||
if (cmdDescriptor->extension(i)->containing_type() == developerDescriptor) {
|
||||
developerExtension = cmdDescriptor->extension(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Q_ASSERT(developerExtension != nullptr);
|
||||
c->GetReflection()->MutableMessage(c, developerExtension)->CopyFrom(cmd);
|
||||
return new PendingCommand(cont);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue