gitdataai/libs/rpc/build.rs
ZhenYi 4fb58de1a0 chore(rpc): remove metrics-related RPC endpoints
- Drop GetMetrics and ExportMetricsCsv from proto, build.rs, client
- These endpoints are no longer needed in the admin gRPC service
2026-04-24 13:21:55 +08:00

94 lines
3.9 KiB
Rust

fn main() -> Result<(), Box<dyn std::error::Error>> {
let proto_file = "proto/admin.proto";
let out_dir = "admin/generated";
std::fs::create_dir_all(out_dir)?;
tonic_prost_build::configure()
.out_dir(out_dir)
.compile_protos(&[proto_file], &["proto/"])?;
let service = tonic_prost_build::manual::Service::builder()
.name("SessionAdmin")
.package("admin")
.method(
tonic_prost_build::manual::Method::builder()
.name("list_workspace_sessions")
.route_name("ListWorkspaceSessions")
.input_type("crate::admin::generated::admin::ListWorkspaceSessionsRequest")
.output_type("crate::admin::generated::admin::ListWorkspaceSessionsResponse")
.codec_path("tonic_prost::ProstCodec")
.build(),
)
.method(
tonic_prost_build::manual::Method::builder()
.name("list_user_sessions")
.route_name("ListUserSessions")
.input_type("crate::admin::generated::admin::ListUserSessionsRequest")
.output_type("crate::admin::generated::admin::ListUserSessionsResponse")
.codec_path("tonic_prost::ProstCodec")
.build(),
)
.method(
tonic_prost_build::manual::Method::builder()
.name("kick_user_from_workspace")
.route_name("KickUserFromWorkspace")
.input_type("crate::admin::generated::admin::KickUserFromWorkspaceRequest")
.output_type("crate::admin::generated::admin::KickUserFromWorkspaceResponse")
.codec_path("tonic_prost::ProstCodec")
.build(),
)
.method(
tonic_prost_build::manual::Method::builder()
.name("kick_user")
.route_name("KickUser")
.input_type("crate::admin::generated::admin::KickUserRequest")
.output_type("crate::admin::generated::admin::KickUserResponse")
.codec_path("tonic_prost::ProstCodec")
.build(),
)
.method(
tonic_prost_build::manual::Method::builder()
.name("get_user_status")
.route_name("GetUserStatus")
.input_type("crate::admin::generated::admin::GetUserStatusRequest")
.output_type("crate::admin::generated::admin::GetUserStatusResponse")
.codec_path("tonic_prost::ProstCodec")
.build(),
)
.method(
tonic_prost_build::manual::Method::builder()
.name("get_user_info")
.route_name("GetUserInfo")
.input_type("crate::admin::generated::admin::GetUserInfoRequest")
.output_type("crate::admin::generated::admin::GetUserInfoResponse")
.codec_path("tonic_prost::ProstCodec")
.build(),
)
.method(
tonic_prost_build::manual::Method::builder()
.name("get_workspace_online_users")
.route_name("GetWorkspaceOnlineUsers")
.input_type("crate::admin::generated::admin::GetWorkspaceOnlineUsersRequest")
.output_type("crate::admin::generated::admin::GetWorkspaceOnlineUsersResponse")
.codec_path("tonic_prost::ProstCodec")
.build(),
)
.method(
tonic_prost_build::manual::Method::builder()
.name("is_user_online")
.route_name("IsUserOnline")
.input_type("crate::admin::generated::admin::IsUserOnlineRequest")
.output_type("crate::admin::generated::admin::IsUserOnlineResponse")
.codec_path("tonic_prost::ProstCodec")
.build(),
)
.build();
tonic_prost_build::manual::Builder::new()
.out_dir(out_dir)
.build_transport(true)
.compile(&[service]);
Ok(())
}