use crate::prelude::{SecBuffer, UserIdentifier};
use std::net::SocketAddr;
use uuid::Uuid;
#[derive(Debug, Clone)]
pub enum AuthenticationRequest {
Credentialed {
id: UserIdentifier,
password: SecBuffer,
},
Passwordless {
username: String,
server_addr: SocketAddr,
},
}
impl AuthenticationRequest {
pub fn credentialed<T: Into<UserIdentifier>, V: Into<SecBuffer>>(id: T, password: V) -> Self {
Self::Credentialed {
id: id.into(),
password: password.into(),
}
}
pub fn passwordless(uuid: Uuid, server_addr: SocketAddr) -> Self {
Self::Passwordless {
username: uuid.to_string(),
server_addr,
}
}
}