Cockatrice/libcockatrice_protocol/libcockatrice/protocol/pb/moderator_commands.proto
BruebachL 2914874720
Some checks are pending
Build Desktop / Configure (push) Waiting to run
Build Desktop / Debian 13 (push) Blocked by required conditions
Build Desktop / Debian 12 (push) Blocked by required conditions
Build Desktop / Fedora 44 (push) Blocked by required conditions
Build Desktop / Fedora 43 (push) Blocked by required conditions
Build Desktop / Servatrice_Debian 12 (push) Blocked by required conditions
Build Desktop / Ubuntu 26.04 (push) Blocked by required conditions
Build Desktop / Ubuntu 24.04 (push) Blocked by required conditions
Build Desktop / Arch (push) Blocked by required conditions
Build Desktop / macOS 14 (push) Blocked by required conditions
Build Desktop / macOS 15 (push) Blocked by required conditions
Build Desktop / macOS 13 Intel (push) Blocked by required conditions
Build Desktop / macOS 15 Debug (push) Blocked by required conditions
Build Desktop / Windows 10 (push) Blocked by required conditions
Build Docker Image / amd64 & arm64 (push) Waiting to run
[Room][UserList] Introduce style delegate (#6981)
* [Room] Additionally show a tab for friends and ignored users instead of just all online users.

Took 21 minutes


Took 12 minutes

* [Room][UserList] Introduce style delegate for user list
- Allow users to set a card name and parameters as their background banner
- Allow mods to white/blacklist cards
- Allow toggling back to the old display style

Took 7 minutes

Took 28 seconds

Took 2 minutes

Took 2 minutes

* Right checkstate.

Took 14 minutes


Took 2 minutes

* Utility for test.

Took 9 minutes

Took 8 seconds

Took 2 seconds

* Lint.

Took 10 minutes

* Algorithm for sql schema migration

Took 13 minutes

* Use {prefix}, bound card name, return errors.

Took 27 seconds

* Convert queue to while loop.

Took 19 seconds

* Hover popup.

Took 36 minutes

Took 1 minute

* More granular signals, popup for user info.

Took 25 minutes

Took 8 seconds

Took 16 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-06-26 20:52:24 -04:00

135 lines
3.7 KiB
Protocol Buffer

syntax = "proto2";
message ModeratorCommand {
enum ModeratorCommandType {
BAN_FROM_SERVER = 1000;
BAN_HISTORY = 1001;
WARN_USER = 1002;
WARN_HISTORY = 1003;
WARN_LIST = 1004;
VIEWLOG_HISTORY = 1005;
GRANT_REPLAY_ACCESS = 1006;
FORCE_ACTIVATE_USER = 1007;
GET_ADMIN_NOTES = 1008;
UPDATE_ADMIN_NOTES = 1009;
ADD_CARD_ART_RULE = 1010;
REMOVE_CARD_ART_RULE = 1011;
LIST_CARD_ART_RULES = 1012;
}
extensions 100 to max;
}
message Command_BanFromServer {
extend ModeratorCommand {
optional Command_BanFromServer ext = 1000;
}
optional string user_name = 1;
optional string address = 2;
optional uint32 minutes = 3;
optional string reason = 4;
optional string visible_reason = 5;
optional string clientid = 6;
optional uint32 remove_messages = 7;
}
message Command_GetBanHistory {
extend ModeratorCommand {
optional Command_GetBanHistory ext = 1001;
}
optional string user_name = 1;
}
message Command_WarnUser {
extend ModeratorCommand {
optional Command_WarnUser ext = 1002;
}
optional string user_name = 1;
optional string reason = 2;
optional string clientid = 3;
optional uint32 remove_messages = 4;
}
message Command_GetWarnHistory {
extend ModeratorCommand {
optional Command_GetWarnHistory ext = 1003;
}
optional string user_name = 1;
}
message Command_GetWarnList {
extend ModeratorCommand {
optional Command_GetWarnList ext = 1004;
}
optional string mod_name = 1;
optional string user_name = 2;
optional string user_clientid = 3;
}
message Command_ViewLogHistory {
extend ModeratorCommand {
optional Command_ViewLogHistory ext = 1005;
}
optional string user_name = 1; // user that created message
optional string ip_address = 2; // ip address of user that created message
optional string game_name = 3; // client id of user that created the message
optional string game_id = 4; // game number the message was sent to
optional string message = 5; // raw message that was sent
repeated string log_location = 6; // destination of message (ex: main room, game room, private chat)
required uint32 date_range = 7; // the length of time (in minutes) to look back for
optional uint32 maximum_results = 8; // the maximum number of query results
}
message Command_GrantReplayAccess {
extend ModeratorCommand {
optional Command_GrantReplayAccess ext = 1006;
}
optional uint32 replay_id = 1;
optional string moderator_name = 2;
}
message Command_ForceActivateUser {
extend ModeratorCommand {
optional Command_ForceActivateUser ext = 1007;
}
optional string username_to_activate = 1;
optional string moderator_name = 2;
}
message Command_GetAdminNotes {
extend ModeratorCommand {
optional Command_GetAdminNotes ext = 1008;
}
optional string user_name = 1;
}
message Command_UpdateAdminNotes {
extend ModeratorCommand {
optional Command_UpdateAdminNotes ext = 1009;
}
optional string user_name = 1;
optional string notes = 2;
}
message Command_AddCardArtRule {
extend ModeratorCommand {
optional Command_AddCardArtRule ext = 1010;
}
optional string card_name = 1;
optional string mode = 2; // "ALLOW" or "DENY"
optional string reason = 3;
}
message Command_RemoveCardArtRule {
extend ModeratorCommand {
optional Command_RemoveCardArtRule ext = 1011;
}
optional string card_name = 1;
}
message Command_ListCardArtRules {
extend ModeratorCommand {
optional Command_ListCardArtRules ext = 1012;
}
}