mirror of
https://github.com/chatmail/core.git
synced 2026-05-06 06:46:35 +03:00
Create get_configured_provider(), remove delete_server_after == "1" check
This commit is contained in:
@@ -3,7 +3,6 @@
|
|||||||
use strum::{EnumProperty, IntoEnumIterator};
|
use strum::{EnumProperty, IntoEnumIterator};
|
||||||
use strum_macros::{AsRefStr, Display, EnumIter, EnumProperty, EnumString};
|
use strum_macros::{AsRefStr, Display, EnumIter, EnumProperty, EnumString};
|
||||||
|
|
||||||
use crate::blob::BlobObject;
|
|
||||||
use crate::chat::ChatId;
|
use crate::chat::ChatId;
|
||||||
use crate::constants::DC_VERSION_STR;
|
use crate::constants::DC_VERSION_STR;
|
||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
@@ -13,6 +12,10 @@ use crate::job;
|
|||||||
use crate::message::MsgId;
|
use crate::message::MsgId;
|
||||||
use crate::mimefactory::RECOMMENDED_FILE_SIZE;
|
use crate::mimefactory::RECOMMENDED_FILE_SIZE;
|
||||||
use crate::stock::StockMessage;
|
use crate::stock::StockMessage;
|
||||||
|
use crate::{
|
||||||
|
blob::BlobObject,
|
||||||
|
provider::{get_provider_by_id, Provider},
|
||||||
|
};
|
||||||
|
|
||||||
/// The available configuration keys.
|
/// The available configuration keys.
|
||||||
#[derive(
|
#[derive(
|
||||||
@@ -212,6 +215,14 @@ impl Context {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Gets the configured provider, as saved in the `configured_provider` value.
|
||||||
|
///
|
||||||
|
/// The provider is determined by `get_provider_info()` during configuration and then saved
|
||||||
|
/// to the db in `param.save_to_database()`, together with all the other `configured_*` values.
|
||||||
|
pub async fn get_configured_provider(&self) -> Option<&'static Provider> {
|
||||||
|
get_provider_by_id(&self.get_config(Config::ConfiguredProvider).await?)
|
||||||
|
}
|
||||||
|
|
||||||
/// Gets configured "delete_device_after" value.
|
/// Gets configured "delete_device_after" value.
|
||||||
///
|
///
|
||||||
/// `None` means never delete the message, `Some(x)` means delete
|
/// `None` means never delete the message, `Some(x)` means delete
|
||||||
|
|||||||
@@ -3,11 +3,9 @@
|
|||||||
use super::Smtp;
|
use super::Smtp;
|
||||||
use async_smtp::{EmailAddress, Envelope, SendableEmail, Transport};
|
use async_smtp::{EmailAddress, Envelope, SendableEmail, Transport};
|
||||||
|
|
||||||
use crate::config::Config;
|
|
||||||
use crate::constants::DEFAULT_MAX_SMTP_RCPT_TO;
|
use crate::constants::DEFAULT_MAX_SMTP_RCPT_TO;
|
||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
use crate::events::EventType;
|
use crate::events::EventType;
|
||||||
use crate::provider::get_provider_by_id;
|
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
@@ -38,12 +36,7 @@ impl Smtp {
|
|||||||
let message_len_bytes = message.len();
|
let message_len_bytes = message.len();
|
||||||
|
|
||||||
let mut chunk_size = DEFAULT_MAX_SMTP_RCPT_TO;
|
let mut chunk_size = DEFAULT_MAX_SMTP_RCPT_TO;
|
||||||
if let Some(provider) = get_provider_by_id(
|
if let Some(provider) = context.get_configured_provider().await {
|
||||||
&context
|
|
||||||
.get_config(Config::ConfiguredProvider)
|
|
||||||
.await
|
|
||||||
.unwrap_or_default(),
|
|
||||||
) {
|
|
||||||
if let Some(max_smtp_rcpt_to) = provider.max_smtp_rcpt_to {
|
if let Some(max_smtp_rcpt_to) = provider.max_smtp_rcpt_to {
|
||||||
chunk_size = max_smtp_rcpt_to as usize;
|
chunk_size = max_smtp_rcpt_to as usize;
|
||||||
}
|
}
|
||||||
|
|||||||
17
src/sql.rs
17
src/sql.rs
@@ -9,6 +9,7 @@ use std::time::Duration;
|
|||||||
|
|
||||||
use rusqlite::{Connection, Error as SqlError, OpenFlags};
|
use rusqlite::{Connection, Error as SqlError, OpenFlags};
|
||||||
|
|
||||||
|
use crate::chat::add_device_msg;
|
||||||
use crate::config::Config::DeleteServerAfter;
|
use crate::config::Config::DeleteServerAfter;
|
||||||
use crate::constants::{ShowEmails, DC_CHAT_ID_TRASH};
|
use crate::constants::{ShowEmails, DC_CHAT_ID_TRASH};
|
||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
@@ -20,7 +21,6 @@ use crate::param::{Param, Params};
|
|||||||
use crate::peerstate::Peerstate;
|
use crate::peerstate::Peerstate;
|
||||||
use crate::provider::get_provider_by_domain;
|
use crate::provider::get_provider_by_domain;
|
||||||
use crate::stock::StockMessage;
|
use crate::stock::StockMessage;
|
||||||
use crate::{chat::add_device_msg, provider::get_provider_by_id};
|
|
||||||
use crate::{
|
use crate::{
|
||||||
chat::{update_device_icon, update_saved_messages_icon},
|
chat::{update_device_icon, update_saved_messages_icon},
|
||||||
config::Config,
|
config::Config,
|
||||||
@@ -1481,19 +1481,10 @@ CREATE INDEX devmsglabels_index1 ON devmsglabels (label);
|
|||||||
disable_server_delete = true;
|
disable_server_delete = true;
|
||||||
|
|
||||||
// Don't disable server delete if it was on by default (Nauta):
|
// Don't disable server delete if it was on by default (Nauta):
|
||||||
if let Some(provider) = get_provider_by_id(
|
if let Some(provider) = context.get_configured_provider().await {
|
||||||
&context
|
|
||||||
.get_config(Config::ConfiguredProvider)
|
|
||||||
.await
|
|
||||||
.unwrap_or_default(),
|
|
||||||
) {
|
|
||||||
if let Some(defaults) = &provider.config_defaults {
|
if let Some(defaults) = &provider.config_defaults {
|
||||||
if let Some(config) =
|
if defaults.iter().any(|d| d.key == Config::DeleteServerAfter) {
|
||||||
defaults.iter().find(|d| d.key == Config::DeleteServerAfter)
|
disable_server_delete = false;
|
||||||
{
|
|
||||||
if config.value == "1" {
|
|
||||||
disable_server_delete = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user