mirror of
https://github.com/chatmail/core.git
synced 2026-05-14 20:36:30 +03:00
fix: do not use deprecated ConfiguredProvider in get_configured_provider
This commit is contained in:
@@ -18,7 +18,7 @@ use crate::context::Context;
|
|||||||
use crate::events::EventType;
|
use crate::events::EventType;
|
||||||
use crate::log::LogExt;
|
use crate::log::LogExt;
|
||||||
use crate::mimefactory::RECOMMENDED_FILE_SIZE;
|
use crate::mimefactory::RECOMMENDED_FILE_SIZE;
|
||||||
use crate::provider::{Provider, get_provider_by_id};
|
use crate::provider::Provider;
|
||||||
use crate::sync::{self, Sync::*, SyncData};
|
use crate::sync::{self, Sync::*, SyncData};
|
||||||
use crate::tools::get_abs_path;
|
use crate::tools::get_abs_path;
|
||||||
use crate::transport::ConfiguredLoginParam;
|
use crate::transport::ConfiguredLoginParam;
|
||||||
@@ -646,15 +646,14 @@ impl Context {
|
|||||||
Ok(val)
|
Ok(val)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Gets the configured provider, as saved in the `configured_provider` value.
|
/// Gets the configured provider.
|
||||||
///
|
///
|
||||||
/// The provider is determined by `get_provider_info()` during configuration and then saved
|
/// The provider is determined by the current primary transport.
|
||||||
/// to the db in `param.save_to_database()`, together with all the other `configured_*` values.
|
|
||||||
pub async fn get_configured_provider(&self) -> Result<Option<&'static Provider>> {
|
pub async fn get_configured_provider(&self) -> Result<Option<&'static Provider>> {
|
||||||
if let Some(cfg) = self.get_config(Config::ConfiguredProvider).await? {
|
let provider = ConfiguredLoginParam::load(self)
|
||||||
return Ok(get_provider_by_id(&cfg));
|
.await?
|
||||||
}
|
.and_then(|(_transport_id, param)| param.provider);
|
||||||
Ok(None)
|
Ok(provider)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Gets configured "delete_device_after" value.
|
/// Gets configured "delete_device_after" value.
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ use crate::context::Context;
|
|||||||
use crate::events::{Event, EventEmitter, EventType, Events};
|
use crate::events::{Event, EventEmitter, EventType, Events};
|
||||||
use crate::key::{self, DcKey, DcSecretKey, self_fingerprint};
|
use crate::key::{self, DcKey, DcSecretKey, self_fingerprint};
|
||||||
use crate::log::warn;
|
use crate::log::warn;
|
||||||
|
use crate::login_param::EnteredLoginParam;
|
||||||
use crate::message::{Message, MessageState, MsgId, update_msg_state};
|
use crate::message::{Message, MessageState, MsgId, update_msg_state};
|
||||||
use crate::mimeparser::{MimeMessage, SystemMessage};
|
use crate::mimeparser::{MimeMessage, SystemMessage};
|
||||||
use crate::pgp::KeyPair;
|
use crate::pgp::KeyPair;
|
||||||
@@ -200,6 +201,18 @@ impl TestContextManager {
|
|||||||
"{} changes her self address and reconfigures",
|
"{} changes her self address and reconfigures",
|
||||||
test_context.name()
|
test_context.name()
|
||||||
));
|
));
|
||||||
|
|
||||||
|
// Insert a transport for the new address.
|
||||||
|
test_context.sql
|
||||||
|
.execute(
|
||||||
|
"INSERT OR IGNORE INTO transports (addr, entered_param, configured_param) VALUES (?, ?, ?)",
|
||||||
|
(
|
||||||
|
new_addr,
|
||||||
|
serde_json::to_string(&EnteredLoginParam::default()).unwrap(),
|
||||||
|
format!(r#"{{"addr":"{new_addr}","imap":[],"imap_user":"","imap_password":"","smtp":[],"smtp_user":"","smtp_password":"","certificate_checks":"Automatic","oauth2":false}}"#)
|
||||||
|
),
|
||||||
|
).await.unwrap();
|
||||||
|
|
||||||
test_context.set_primary_self_addr(new_addr).await.unwrap();
|
test_context.set_primary_self_addr(new_addr).await.unwrap();
|
||||||
// ensure_secret_key_exists() is called during configure
|
// ensure_secret_key_exists() is called during configure
|
||||||
crate::e2ee::ensure_secret_key_exists(test_context)
|
crate::e2ee::ensure_secret_key_exists(test_context)
|
||||||
|
|||||||
Reference in New Issue
Block a user