#[derive(Debug, Clone)]
pub enum Credentials {
Root { username: String, password: String },
Namespace {
namespace: String,
username: String,
password: String,
},
Database {
namespace: String,
database: String,
username: String,
password: String,
},
Token(String),
}
impl Credentials {
pub fn root(username: impl Into<String>, password: impl Into<String>) -> Self {
Self::Root {
username: username.into(),
password: password.into(),
}
}
pub fn namespace(
namespace: impl Into<String>,
username: impl Into<String>,
password: impl Into<String>,
) -> Self {
Self::Namespace {
namespace: namespace.into(),
username: username.into(),
password: password.into(),
}
}
pub fn database(
namespace: impl Into<String>,
database: impl Into<String>,
username: impl Into<String>,
password: impl Into<String>,
) -> Self {
Self::Database {
namespace: namespace.into(),
database: database.into(),
username: username.into(),
password: password.into(),
}
}
pub fn token(token: impl Into<String>) -> Self {
Self::Token(token.into())
}
}