use matrix_sdk::ruma::{OwnedDeviceId, OwnedUserId};
pub enum Credentials {
UserPassword(String, String),
AccessToken {
user_id: OwnedUserId,
device_id: OwnedDeviceId,
access_token: String,
},
}
pub struct Encryption {
pub(crate) recovery_passphrase: Option<String>,
pub(crate) recovery_reset_allowed: bool,
}
impl Encryption {
pub fn new(recovery_passphrase: Option<String>, recovery_reset_allowed: bool) -> Self {
Self {
recovery_passphrase,
recovery_reset_allowed,
}
}
}
pub struct Config {
pub(crate) homeserver_url: String,
pub(crate) credentials: Credentials,
pub(crate) encryption: Option<Encryption>,
pub(crate) device_display_name: String,
}
impl Config {
pub fn new(
homeserver_url: String,
credentials: Credentials,
encryption: Option<Encryption>,
device_display_name: String,
) -> Self {
Self {
homeserver_url,
credentials,
encryption,
device_display_name,
}
}
}