use holochain_types::websocket::AllowedOrigins;
use serde::Deserialize;
use serde::Serialize;
#[derive(Clone, Deserialize, Serialize, Debug, PartialEq)]
pub struct AdminInterfaceConfig {
pub driver: InterfaceDriver,
}
#[derive(Clone, Deserialize, Serialize, Debug, PartialEq)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum InterfaceDriver {
Websocket {
port: u16,
allowed_origins: AllowedOrigins,
},
}
impl InterfaceDriver {
pub fn port(&self) -> u16 {
match self {
InterfaceDriver::Websocket { port, .. } => *port,
}
}
pub fn allowed_origins(&self) -> &AllowedOrigins {
match self {
InterfaceDriver::Websocket {
allowed_origins, ..
} => allowed_origins,
}
}
}