use serde::{Deserialize, Serialize};
#[derive(Deserialize, Debug)]
pub struct Membership {
pub cluster_nodes: Vec<String>,
pub all_nodes: Vec<String>,
}
#[derive(Deserialize, Debug)]
pub struct ClusterSetupGetResponse {
pub state: ClusterSetup,
}
#[derive(Serialize, Debug)]
pub struct EnsureDbsExist {
pub ensure_dbs_exist: Vec<String>,
}
impl EnsureDbsExist {
#[must_use]
pub fn with_dbs(ensure_dbs_exist: Vec<String>) -> Self {
Self { ensure_dbs_exist }
}
}
impl Default for EnsureDbsExist {
fn default() -> Self {
Self::with_dbs(vec!["_users".to_string(), "_replicator".to_string()])
}
}
#[derive(Deserialize, Debug, PartialEq, Eq)]
#[serde(rename_all = "snake_case")]
pub enum ClusterSetup {
ClusterDisabled,
SingleNodeDisabled,
SingleNodeEnabled,
ClusterEnabled,
ClusterFinished,
}