soma_gateway/gateway/
virtual_servers.rs1use crate::config::VirtualServerConfig;
2
3#[derive(Debug, Clone, PartialEq, Eq)]
4pub struct VirtualServerProjection {
5 pub id: String,
6 pub service: String,
7 pub enabled: bool,
8 pub connected: bool,
9 pub mcp_enabled: bool,
10}
11
12pub fn project_virtual_server(
13 server: &VirtualServerConfig,
14 service_connected: bool,
15) -> VirtualServerProjection {
16 VirtualServerProjection {
17 id: server.id.clone(),
18 service: server.service.clone(),
19 enabled: server.enabled,
20 connected: server.enabled && service_connected,
21 mcp_enabled: server.surfaces.mcp,
22 }
23}
24
25#[cfg(test)]
26#[path = "virtual_servers_tests.rs"]
27mod tests;