hyapp-server/api/proto/robot/v1/robot.proto
2026-06-12 19:40:21 +08:00

156 lines
3.5 KiB
Protocol Buffer

syntax = "proto3";
package hyapp.robot.v1;
option go_package = "hyapp.local/api/proto/robot/v1;robotv1";
// RequestMeta 是 robot-service 内部 RPC 的租户和追踪上下文;不要把 app_code 放到业务字段里绕过统一鉴权链路。
message RequestMeta {
string request_id = 1;
string caller = 2;
int64 actor_user_id = 3;
int64 sent_at_ms = 4;
string app_code = 5;
}
message Robot {
string app_code = 1;
string robot_scope = 2;
string game_id = 3;
string room_scene = 4;
int64 user_id = 5;
string status = 6;
int64 created_by_admin_id = 7;
int64 created_at_ms = 8;
int64 updated_at_ms = 9;
int64 last_used_at_ms = 10;
int64 used_count = 11;
}
message ListGameRobotsRequest {
RequestMeta meta = 1;
string game_id = 2;
string status = 3;
int32 page_size = 4;
string cursor = 5;
}
message ListGameRobotsResponse {
repeated Robot robots = 1;
string next_cursor = 2;
int64 server_time_ms = 3;
}
message RegisterGameRobotsRequest {
RequestMeta meta = 1;
string game_id = 2;
repeated int64 user_ids = 3;
}
message RegisterGameRobotsResponse {
repeated Robot robots = 1;
int64 server_time_ms = 2;
}
message PickGameRobotRequest {
RequestMeta meta = 1;
string game_id = 2;
string match_id = 3;
int64 selected_at_ms = 4;
repeated int64 exclude_user_ids = 5;
}
message GameRobotResponse {
Robot robot = 1;
int64 server_time_ms = 2;
}
message SetGameRobotStatusRequest {
RequestMeta meta = 1;
string game_id = 2;
int64 user_id = 3;
string status = 4;
}
message DeleteGameRobotRequest {
RequestMeta meta = 1;
string game_id = 2;
int64 user_id = 3;
}
message DeleteGameRobotResponse {
bool deleted = 1;
int64 server_time_ms = 2;
}
message ListRoomRobotsRequest {
RequestMeta meta = 1;
string room_scene = 2;
string status = 3;
int32 page_size = 4;
string cursor = 5;
}
message ListRoomRobotsResponse {
repeated Robot robots = 1;
string next_cursor = 2;
int64 server_time_ms = 3;
}
message RegisterRoomRobotsRequest {
RequestMeta meta = 1;
string room_scene = 2;
repeated int64 user_ids = 3;
}
message RegisterRoomRobotsResponse {
repeated Robot robots = 1;
int64 server_time_ms = 2;
}
message SetRoomRobotStatusRequest {
RequestMeta meta = 1;
string room_scene = 2;
int64 user_id = 3;
string status = 4;
}
message DeleteRoomRobotRequest {
RequestMeta meta = 1;
string room_scene = 2;
int64 user_id = 3;
}
message DeleteRoomRobotResponse {
bool deleted = 1;
int64 server_time_ms = 2;
}
message PickRoomRobotRequest {
RequestMeta meta = 1;
string room_scene = 2;
string room_id = 3;
int64 selected_at_ms = 4;
}
message RoomRobotResponse {
Robot robot = 1;
int64 server_time_ms = 2;
}
service GameRobotService {
rpc ListGameRobots(ListGameRobotsRequest) returns (ListGameRobotsResponse);
rpc RegisterGameRobots(RegisterGameRobotsRequest) returns (RegisterGameRobotsResponse);
rpc PickGameRobot(PickGameRobotRequest) returns (GameRobotResponse);
rpc SetGameRobotStatus(SetGameRobotStatusRequest) returns (GameRobotResponse);
rpc DeleteGameRobot(DeleteGameRobotRequest) returns (DeleteGameRobotResponse);
}
service RoomRobotService {
rpc ListRoomRobots(ListRoomRobotsRequest) returns (ListRoomRobotsResponse);
rpc RegisterRoomRobots(RegisterRoomRobotsRequest) returns (RegisterRoomRobotsResponse);
rpc PickRoomRobot(PickRoomRobotRequest) returns (RoomRobotResponse);
rpc SetRoomRobotStatus(SetRoomRobotStatusRequest) returns (RoomRobotResponse);
rpc DeleteRoomRobot(DeleteRoomRobotRequest) returns (DeleteRoomRobotResponse);
}