mirror of
https://github.com/chatmail/core.git
synced 2026-05-16 13:26:38 +03:00
refactor: flatten and simplify imports
This commit is contained in:
@@ -32,6 +32,7 @@ use deltachat::imex::BackupProvider;
|
|||||||
use deltachat::key::DcKey;
|
use deltachat::key::DcKey;
|
||||||
use deltachat::message::MsgId;
|
use deltachat::message::MsgId;
|
||||||
use deltachat::net::read_url_blob;
|
use deltachat::net::read_url_blob;
|
||||||
|
use deltachat::pgp::KeyPair;
|
||||||
use deltachat::qr_code_generator::{generate_backup_qr, get_securejoin_qr_svg};
|
use deltachat::qr_code_generator::{generate_backup_qr, get_securejoin_qr_svg};
|
||||||
use deltachat::reaction::{get_msg_reactions, send_reaction, Reactions};
|
use deltachat::reaction::{get_msg_reactions, send_reaction, Reactions};
|
||||||
use deltachat::stock_str::StockMessage;
|
use deltachat::stock_str::StockMessage;
|
||||||
@@ -799,7 +800,7 @@ pub unsafe extern "C" fn dc_preconfigure_keypair(
|
|||||||
let addr = tools::EmailAddress::new(&to_string_lossy(addr))?;
|
let addr = tools::EmailAddress::new(&to_string_lossy(addr))?;
|
||||||
let public = key::SignedPublicKey::from_asc(&to_string_lossy(public_data))?.0;
|
let public = key::SignedPublicKey::from_asc(&to_string_lossy(public_data))?.0;
|
||||||
let secret = key::SignedSecretKey::from_asc(&to_string_lossy(secret_data))?.0;
|
let secret = key::SignedSecretKey::from_asc(&to_string_lossy(secret_data))?.0;
|
||||||
let keypair = key::KeyPair {
|
let keypair = KeyPair {
|
||||||
addr,
|
addr,
|
||||||
public,
|
public,
|
||||||
secret,
|
secret,
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ use crate::debug_logging::maybe_set_logging_xdc;
|
|||||||
use crate::ephemeral::Timer as EphemeralTimer;
|
use crate::ephemeral::Timer as EphemeralTimer;
|
||||||
use crate::events::EventType;
|
use crate::events::EventType;
|
||||||
use crate::html::new_html_mimepart;
|
use crate::html::new_html_mimepart;
|
||||||
|
use crate::location;
|
||||||
use crate::message::{self, Message, MessageState, MsgId, Viewtype};
|
use crate::message::{self, Message, MessageState, MsgId, Viewtype};
|
||||||
use crate::mimefactory::MimeFactory;
|
use crate::mimefactory::MimeFactory;
|
||||||
use crate::mimeparser::SystemMessage;
|
use crate::mimeparser::SystemMessage;
|
||||||
@@ -33,6 +34,7 @@ use crate::peerstate::{Peerstate, PeerstateVerifiedStatus};
|
|||||||
use crate::receive_imf::ReceivedMsg;
|
use crate::receive_imf::ReceivedMsg;
|
||||||
use crate::scheduler::InterruptInfo;
|
use crate::scheduler::InterruptInfo;
|
||||||
use crate::smtp::send_msg_to_smtp;
|
use crate::smtp::send_msg_to_smtp;
|
||||||
|
use crate::sql;
|
||||||
use crate::stock_str;
|
use crate::stock_str;
|
||||||
use crate::tools::{
|
use crate::tools::{
|
||||||
buf_compress, create_id, create_outgoing_rfc724_mid, create_smeared_timestamp,
|
buf_compress, create_id, create_outgoing_rfc724_mid, create_smeared_timestamp,
|
||||||
@@ -40,7 +42,6 @@ use crate::tools::{
|
|||||||
strip_rtlo_characters, time, IsNoneOrEmpty,
|
strip_rtlo_characters, time, IsNoneOrEmpty,
|
||||||
};
|
};
|
||||||
use crate::webxdc::WEBXDC_SUFFIX;
|
use crate::webxdc::WEBXDC_SUFFIX;
|
||||||
use crate::{location, sql};
|
|
||||||
|
|
||||||
/// An chat item, such as a message or a marker.
|
/// An chat item, such as a message or a marker.
|
||||||
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
#[derive(Debug, Copy, Clone, PartialEq, Eq)]
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
//! Forward log messages to logging webxdc
|
//! Forward log messages to logging webxdc
|
||||||
use crate::{
|
use crate::chat::ChatId;
|
||||||
chat::ChatId,
|
use crate::config::Config;
|
||||||
config::Config,
|
use crate::context::Context;
|
||||||
context::Context,
|
use crate::events::EventType;
|
||||||
message::{Message, MsgId, Viewtype},
|
use crate::message::{Message, MsgId, Viewtype};
|
||||||
param::Param,
|
use crate::param::Param;
|
||||||
tools::time,
|
use crate::tools::time;
|
||||||
webxdc::StatusUpdateItem,
|
use crate::webxdc::StatusUpdateItem;
|
||||||
EventType,
|
|
||||||
};
|
|
||||||
use async_channel::{self as channel, Receiver, Sender};
|
use async_channel::{self as channel, Receiver, Sender};
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ use lettre_email::mime::{self, Mime};
|
|||||||
use lettre_email::PartBuilder;
|
use lettre_email::PartBuilder;
|
||||||
use mailparse::ParsedContentType;
|
use mailparse::ParsedContentType;
|
||||||
|
|
||||||
|
use crate::context::Context;
|
||||||
use crate::headerdef::{HeaderDef, HeaderDefMap};
|
use crate::headerdef::{HeaderDef, HeaderDefMap};
|
||||||
use crate::message::{Message, MsgId};
|
use crate::message::{self, Message, MsgId};
|
||||||
use crate::mimeparser::parse_message_id;
|
use crate::mimeparser::parse_message_id;
|
||||||
use crate::param::Param::SendHtml;
|
use crate::param::Param::SendHtml;
|
||||||
use crate::plaintext::PlainText;
|
use crate::plaintext::PlainText;
|
||||||
use crate::{context::Context, message};
|
|
||||||
|
|
||||||
impl Message {
|
impl Message {
|
||||||
/// Check if the message can be retrieved as HTML.
|
/// Check if the message can be retrieved as HTML.
|
||||||
|
|||||||
@@ -18,8 +18,7 @@ use tokio::runtime::Handle;
|
|||||||
use crate::config::Config;
|
use crate::config::Config;
|
||||||
use crate::constants::KeyGenType;
|
use crate::constants::KeyGenType;
|
||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
// Re-export key types
|
use crate::pgp::KeyPair;
|
||||||
pub use crate::pgp::KeyPair;
|
|
||||||
use crate::tools::{time, EmailAddress};
|
use crate::tools::{time, EmailAddress};
|
||||||
|
|
||||||
/// Convenience trait for working with keys.
|
/// Convenience trait for working with keys.
|
||||||
|
|||||||
@@ -5,9 +5,10 @@ use std::fmt;
|
|||||||
use anyhow::{ensure, Result};
|
use anyhow::{ensure, Result};
|
||||||
|
|
||||||
use crate::constants::{DC_LP_AUTH_FLAGS, DC_LP_AUTH_NORMAL, DC_LP_AUTH_OAUTH2};
|
use crate::constants::{DC_LP_AUTH_FLAGS, DC_LP_AUTH_NORMAL, DC_LP_AUTH_OAUTH2};
|
||||||
|
use crate::context::Context;
|
||||||
|
use crate::provider::Socket;
|
||||||
use crate::provider::{get_provider_by_id, Provider};
|
use crate::provider::{get_provider_by_id, Provider};
|
||||||
use crate::socks::Socks5Config;
|
use crate::socks::Socks5Config;
|
||||||
use crate::{context::Context, provider::Socket};
|
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, Display, FromPrimitive, ToPrimitive, PartialEq, Eq)]
|
#[derive(Copy, Clone, Debug, Display, FromPrimitive, ToPrimitive, PartialEq, Eq)]
|
||||||
#[repr(u32)]
|
#[repr(u32)]
|
||||||
|
|||||||
@@ -17,11 +17,12 @@ use crate::contact::{
|
|||||||
addr_normalize, may_be_valid_addr, Contact, ContactAddress, ContactId, Origin,
|
addr_normalize, may_be_valid_addr, Contact, ContactAddress, ContactId, Origin,
|
||||||
};
|
};
|
||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
|
use crate::events::EventType;
|
||||||
use crate::key::Fingerprint;
|
use crate::key::Fingerprint;
|
||||||
use crate::message::Message;
|
use crate::message::Message;
|
||||||
use crate::peerstate::Peerstate;
|
use crate::peerstate::Peerstate;
|
||||||
use crate::socks::Socks5Config;
|
use crate::socks::Socks5Config;
|
||||||
use crate::{token, EventType};
|
use crate::token;
|
||||||
|
|
||||||
const OPENPGP4FPR_SCHEME: &str = "OPENPGP4FPR:"; // yes: uppercase
|
const OPENPGP4FPR_SCHEME: &str = "OPENPGP4FPR:"; // yes: uppercase
|
||||||
const DCACCOUNT_SCHEME: &str = "DCACCOUNT:";
|
const DCACCOUNT_SCHEME: &str = "DCACCOUNT:";
|
||||||
|
|||||||
@@ -4,17 +4,15 @@ use anyhow::Result;
|
|||||||
use base64::Engine as _;
|
use base64::Engine as _;
|
||||||
use qrcodegen::{QrCode, QrCodeEcc};
|
use qrcodegen::{QrCode, QrCodeEcc};
|
||||||
|
|
||||||
use crate::{
|
use crate::blob::BlobObject;
|
||||||
blob::BlobObject,
|
use crate::chat::{Chat, ChatId};
|
||||||
chat::{Chat, ChatId},
|
use crate::color::color_int_to_hex_string;
|
||||||
color::color_int_to_hex_string,
|
use crate::config::Config;
|
||||||
config::Config,
|
use crate::contact::{Contact, ContactId};
|
||||||
contact::{Contact, ContactId},
|
use crate::context::Context;
|
||||||
context::Context,
|
use crate::qr::{self, Qr};
|
||||||
qr::{self, Qr},
|
use crate::securejoin;
|
||||||
securejoin,
|
use crate::stock_str::{self, backup_transfer_qr};
|
||||||
stock_str::{self, backup_transfer_qr},
|
|
||||||
};
|
|
||||||
|
|
||||||
/// Returns SVG of the QR code to join the group or verify contact.
|
/// Returns SVG of the QR code to join the group or verify contact.
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ use tokio::task;
|
|||||||
|
|
||||||
use crate::config::Config;
|
use crate::config::Config;
|
||||||
use crate::contact::{Contact, ContactId};
|
use crate::contact::{Contact, ContactId};
|
||||||
|
use crate::context::Context;
|
||||||
use crate::events::EventType;
|
use crate::events::EventType;
|
||||||
use crate::login_param::{CertificateChecks, LoginParam, ServerLoginParam};
|
use crate::login_param::{CertificateChecks, LoginParam, ServerLoginParam};
|
||||||
use crate::message::Message;
|
use crate::message::Message;
|
||||||
@@ -22,9 +23,9 @@ use crate::net::session::SessionBufStream;
|
|||||||
use crate::net::tls::wrap_tls;
|
use crate::net::tls::wrap_tls;
|
||||||
use crate::oauth2::get_oauth2_access_token;
|
use crate::oauth2::get_oauth2_access_token;
|
||||||
use crate::provider::Socket;
|
use crate::provider::Socket;
|
||||||
|
use crate::scheduler::connectivity::ConnectivityStore;
|
||||||
use crate::socks::Socks5Config;
|
use crate::socks::Socks5Config;
|
||||||
use crate::sql;
|
use crate::sql;
|
||||||
use crate::{context::Context, scheduler::connectivity::ConnectivityStore};
|
|
||||||
|
|
||||||
/// SMTP write and read timeout.
|
/// SMTP write and read timeout.
|
||||||
const SMTP_TIMEOUT: Duration = Duration::from_secs(30);
|
const SMTP_TIMEOUT: Duration = Duration::from_secs(30);
|
||||||
|
|||||||
@@ -33,10 +33,11 @@ use crate::contact::{Contact, ContactAddress, ContactId, Modifier, Origin};
|
|||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
use crate::e2ee::EncryptHelper;
|
use crate::e2ee::EncryptHelper;
|
||||||
use crate::events::{Event, EventType, Events};
|
use crate::events::{Event, EventType, Events};
|
||||||
use crate::key::{self, DcKey, KeyPair, KeyPairUse};
|
use crate::key::{self, DcKey, KeyPairUse};
|
||||||
use crate::message::{update_msg_state, Message, MessageState, MsgId, Viewtype};
|
use crate::message::{update_msg_state, Message, MessageState, MsgId, Viewtype};
|
||||||
use crate::mimeparser::{MimeMessage, SystemMessage};
|
use crate::mimeparser::{MimeMessage, SystemMessage};
|
||||||
use crate::peerstate::Peerstate;
|
use crate::peerstate::Peerstate;
|
||||||
|
use crate::pgp::KeyPair;
|
||||||
use crate::receive_imf::receive_imf;
|
use crate::receive_imf::receive_imf;
|
||||||
use crate::securejoin::{get_securejoin_qr, join_securejoin};
|
use crate::securejoin::{get_securejoin_qr, join_securejoin};
|
||||||
use crate::stock_str::StockStrings;
|
use crate::stock_str::StockStrings;
|
||||||
@@ -910,7 +911,7 @@ pub fn alice_keypair() -> KeyPair {
|
|||||||
let secret = key::SignedSecretKey::from_asc(include_str!("../test-data/key/alice-secret.asc"))
|
let secret = key::SignedSecretKey::from_asc(include_str!("../test-data/key/alice-secret.asc"))
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.0;
|
.0;
|
||||||
key::KeyPair {
|
KeyPair {
|
||||||
addr,
|
addr,
|
||||||
public,
|
public,
|
||||||
secret,
|
secret,
|
||||||
@@ -928,7 +929,7 @@ pub fn bob_keypair() -> KeyPair {
|
|||||||
let secret = key::SignedSecretKey::from_asc(include_str!("../test-data/key/bob-secret.asc"))
|
let secret = key::SignedSecretKey::from_asc(include_str!("../test-data/key/bob-secret.asc"))
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.0;
|
.0;
|
||||||
key::KeyPair {
|
KeyPair {
|
||||||
addr,
|
addr,
|
||||||
public,
|
public,
|
||||||
secret,
|
secret,
|
||||||
@@ -938,7 +939,7 @@ pub fn bob_keypair() -> KeyPair {
|
|||||||
/// Load a pre-generated keypair for fiona@example.net from disk.
|
/// Load a pre-generated keypair for fiona@example.net from disk.
|
||||||
///
|
///
|
||||||
/// Like [alice_keypair] but a different key and identity.
|
/// Like [alice_keypair] but a different key and identity.
|
||||||
pub fn fiona_keypair() -> key::KeyPair {
|
pub fn fiona_keypair() -> KeyPair {
|
||||||
let addr = EmailAddress::new("fiona@example.net").unwrap();
|
let addr = EmailAddress::new("fiona@example.net").unwrap();
|
||||||
let public = key::SignedPublicKey::from_asc(include_str!("../test-data/key/fiona-public.asc"))
|
let public = key::SignedPublicKey::from_asc(include_str!("../test-data/key/fiona-public.asc"))
|
||||||
.unwrap()
|
.unwrap()
|
||||||
@@ -946,7 +947,7 @@ pub fn fiona_keypair() -> key::KeyPair {
|
|||||||
let secret = key::SignedSecretKey::from_asc(include_str!("../test-data/key/fiona-secret.asc"))
|
let secret = key::SignedSecretKey::from_asc(include_str!("../test-data/key/fiona-secret.asc"))
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.0;
|
.0;
|
||||||
key::KeyPair {
|
KeyPair {
|
||||||
addr,
|
addr,
|
||||||
public,
|
public,
|
||||||
secret,
|
secret,
|
||||||
|
|||||||
@@ -12,11 +12,12 @@ use serde::{Deserialize, Serialize};
|
|||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
use tokio::io::AsyncReadExt;
|
use tokio::io::AsyncReadExt;
|
||||||
|
|
||||||
use crate::chat::Chat;
|
use crate::chat::{self, Chat};
|
||||||
use crate::constants::Chattype;
|
use crate::constants::Chattype;
|
||||||
use crate::contact::ContactId;
|
use crate::contact::ContactId;
|
||||||
use crate::context::Context;
|
use crate::context::Context;
|
||||||
use crate::download::DownloadState;
|
use crate::download::DownloadState;
|
||||||
|
use crate::events::EventType;
|
||||||
use crate::message::{Message, MessageState, MsgId, Viewtype};
|
use crate::message::{Message, MessageState, MsgId, Viewtype};
|
||||||
use crate::mimeparser::SystemMessage;
|
use crate::mimeparser::SystemMessage;
|
||||||
use crate::param::Param;
|
use crate::param::Param;
|
||||||
@@ -24,7 +25,6 @@ use crate::param::Params;
|
|||||||
use crate::scheduler::InterruptInfo;
|
use crate::scheduler::InterruptInfo;
|
||||||
use crate::tools::strip_rtlo_characters;
|
use crate::tools::strip_rtlo_characters;
|
||||||
use crate::tools::{create_smeared_timestamp, get_abs_path};
|
use crate::tools::{create_smeared_timestamp, get_abs_path};
|
||||||
use crate::{chat, EventType};
|
|
||||||
|
|
||||||
/// The current API version.
|
/// The current API version.
|
||||||
/// If `min_api` in manifest.toml is set to a larger value,
|
/// If `min_api` in manifest.toml is set to a larger value,
|
||||||
|
|||||||
Reference in New Issue
Block a user