mirror of
https://github.com/rustmailer/bichon.git
synced 2026-08-30 01:44:23 +00:00
refactor: rename cache module to archive
This commit is contained in:
@@ -11,7 +11,7 @@ use bichon_core::{
|
||||
since::{DateSince, RelativeDate},
|
||||
},
|
||||
autoconfig::entity::MailServerConfig,
|
||||
cache::imap::mailbox::Attribute,
|
||||
archive::imap::mailbox::Attribute,
|
||||
database::batch_insert_impl,
|
||||
error::{code::ErrorCode, BichonError, BichonResult},
|
||||
raise_error,
|
||||
@@ -653,7 +653,7 @@ pub struct MailBox {
|
||||
pub uid_validity: Option<u32>,
|
||||
}
|
||||
|
||||
impl From<MailBox> for bichon_core::cache::imap::mailbox::MailBox {
|
||||
impl From<MailBox> for bichon_core::archive::imap::mailbox::MailBox {
|
||||
fn from(value: MailBox) -> Self {
|
||||
Self {
|
||||
id: value.id,
|
||||
@@ -898,7 +898,7 @@ pub fn migrate_metadata(root_path: &PathBuf) -> Result<(), Box<dyn std::error::E
|
||||
migrate_collection!(
|
||||
"Mailboxes",
|
||||
MailBox,
|
||||
bichon_core::cache::imap::mailbox::MailBox,
|
||||
bichon_core::archive::imap::mailbox::MailBox,
|
||||
&envelope_db
|
||||
);
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ use crate::{
|
||||
since::{DateSince, RelativeDate},
|
||||
state::DownloadState,
|
||||
},
|
||||
cache::imap::{mailbox::MailBox, task::SYNC_TASKS},
|
||||
archive::imap::{mailbox::MailBox, task::SYNC_TASKS},
|
||||
common::paginated::DataPage,
|
||||
context::controller::DOWNLOAD_CONTROLLER,
|
||||
database::{
|
||||
|
||||
@@ -22,8 +22,8 @@ use crate::{
|
||||
decode_mailbox_name, raise_error,
|
||||
{
|
||||
account::migration::{AccountModel, AccountType},
|
||||
cache::imap::mailbox::{AttributeEnum, MailBox},
|
||||
cache::imap::mailbox_cache,
|
||||
archive::imap::mailbox::{AttributeEnum, MailBox},
|
||||
archive::imap::mailbox_cache,
|
||||
error::{code::ErrorCode, BichonResult},
|
||||
imap::{executor::ImapExecutor, session::SessionStream},
|
||||
mailbox::list::convert_names_to_mailboxes,
|
||||
@@ -23,7 +23,7 @@ use crate::{
|
||||
migration::AccountModel,
|
||||
state::{DownloadState, DownloadStatus, FolderStatus},
|
||||
},
|
||||
cache::{
|
||||
archive::{
|
||||
imap::{
|
||||
download::rebuild::{rebuild_mailbox_cache, rebuild_mailbox_cache_by_date},
|
||||
find_intersecting_mailboxes, find_missing_mailboxes,
|
||||
@@ -27,7 +27,7 @@ use crate::{
|
||||
migration::AccountModel,
|
||||
state::{DownloadState, GapFillFolderStats, GapFillState},
|
||||
},
|
||||
cache::imap::mailbox::MailBox,
|
||||
archive::imap::mailbox::MailBox,
|
||||
error::BichonResult,
|
||||
imap::executor::{compress_uid_list, ImapExecutor, DEFAULT_BATCH_SIZE},
|
||||
store::tantivy::envelope::EnvelopeSnapshot,
|
||||
@@ -378,7 +378,7 @@ pub async fn gap_fill_mailbox(
|
||||
if let Some(max_uid) = missing_uids.last().copied() {
|
||||
let mut updated = remote_mailbox.clone();
|
||||
updated.highest_uid = Some(max_uid.max(local_mailbox.highest_uid.unwrap_or(0)));
|
||||
crate::cache::imap::mailbox::MailBox::batch_upsert(&[updated])?;
|
||||
crate::archive::imap::mailbox::MailBox::batch_upsert(&[updated])?;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ use crate::{
|
||||
TriggerType,
|
||||
},
|
||||
},
|
||||
cache::imap::{download::flow::FetchDirection, mailbox::MailBox},
|
||||
archive::imap::{download::flow::FetchDirection, mailbox::MailBox},
|
||||
error::BichonResult,
|
||||
imap::executor::ImapExecutor,
|
||||
};
|
||||
@@ -21,7 +21,7 @@ use crate::{
|
||||
migration::AccountModel,
|
||||
state::{DownloadState, DownloadStatus, FolderStatus},
|
||||
},
|
||||
cache::{
|
||||
archive::{
|
||||
imap::{
|
||||
download::flow::{fetch_and_save_by_date, fetch_and_save_full_mailbox, FetchDirection},
|
||||
mailbox::MailBox,
|
||||
@@ -16,7 +16,7 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use crate::cache::imap::mailbox::MailBox;
|
||||
use crate::archive::imap::mailbox::MailBox;
|
||||
use crate::utc_now;
|
||||
use lru::LruCache;
|
||||
use std::collections::HashMap;
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
use crate::account::entity::AuthType;
|
||||
use crate::account::state::{DownloadState, TriggerType};
|
||||
use crate::cache::imap::download::process_imap_download;
|
||||
use crate::archive::imap::download::process_imap_download;
|
||||
use crate::common::periodic::{PeriodicTask, TaskHandle};
|
||||
use crate::error::code::ErrorCode;
|
||||
use crate::oauth2::token::OAuth2AccessToken;
|
||||
@@ -16,7 +16,7 @@
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use crate::{cache::imap::task::SYNC_TASKS, error::BichonResult};
|
||||
use crate::{archive::imap::task::SYNC_TASKS, error::BichonResult};
|
||||
use std::{sync::LazyLock, time::Duration};
|
||||
use tokio::sync::mpsc;
|
||||
use tracing::{error, info};
|
||||
|
||||
@@ -24,7 +24,7 @@ use uuid::Uuid;
|
||||
|
||||
use crate::{
|
||||
account::migration::AccountModel,
|
||||
cache::imap::mailbox::MailBox,
|
||||
archive::imap::mailbox::MailBox,
|
||||
common::AddrVec,
|
||||
envelope::{meta::parse_bichon_metadata, utils::normalize_subject},
|
||||
error::{code::ErrorCode, BichonResult},
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
use crate::account::migration::AccountModel;
|
||||
use crate::account::state::{DownloadState, DownloadStatus, FolderStatus};
|
||||
use crate::cache::imap::mailbox::MailBox;
|
||||
use crate::archive::imap::mailbox::MailBox;
|
||||
use crate::envelope::extractor::extract_envelope_and_store_it;
|
||||
use crate::error::code::ErrorCode;
|
||||
use crate::imap::session::SessionStream;
|
||||
@@ -947,7 +947,7 @@ impl ImapExecutor {
|
||||
progress: Option<
|
||||
&(dyn Fn(u64, Option<f64>) -> BichonResult<()> + Send + Sync),
|
||||
>,
|
||||
) -> BichonResult<Vec<crate::cache::imap::download::gap_fill::RemoteHeader>> {
|
||||
) -> BichonResult<Vec<crate::archive::imap::download::gap_fill::RemoteHeader>> {
|
||||
let mut stream = session
|
||||
.uid_fetch(uid_set, "(UID RFC822.SIZE INTERNALDATE BODY.PEEK[HEADER.FIELDS (MESSAGE-ID)])")
|
||||
.await
|
||||
@@ -1008,7 +1008,7 @@ impl ImapExecutor {
|
||||
None => &[],
|
||||
};
|
||||
let message_id = parse_message_id_header(header_bytes);
|
||||
result.push(crate::cache::imap::download::gap_fill::RemoteHeader {
|
||||
result.push(crate::archive::imap::download::gap_fill::RemoteHeader {
|
||||
uid,
|
||||
message_id,
|
||||
size,
|
||||
|
||||
@@ -27,7 +27,7 @@ use serde::{Deserialize, Serialize};
|
||||
use crate::{
|
||||
account::migration::{AccountModel, AccountType},
|
||||
base64_decode_url_safe,
|
||||
cache::imap::mailbox::{Attribute, AttributeEnum, MailBox},
|
||||
archive::imap::mailbox::{Attribute, AttributeEnum, MailBox},
|
||||
envelope::extractor::{extract_envelope_from_eml, ExtractOutcome},
|
||||
error::{code::ErrorCode, BichonResult},
|
||||
raise_error,
|
||||
|
||||
@@ -2,7 +2,7 @@ pub mod account;
|
||||
pub mod ext;
|
||||
pub mod admin;
|
||||
pub mod autoconfig;
|
||||
pub mod cache;
|
||||
pub mod archive;
|
||||
pub mod common;
|
||||
pub mod context;
|
||||
pub mod dashboard;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use crate::{
|
||||
cache::imap::mailbox::MailBox,
|
||||
archive::imap::mailbox::MailBox,
|
||||
error::BichonResult,
|
||||
store::tantivy::{attachment::ATTACHMENT_MANAGER, envelope::ENVELOPE_MANAGER},
|
||||
};
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use crate::account::migration::{AccountModel, AccountType};
|
||||
use crate::cache::imap::mailbox::{Attribute, AttributeEnum, MailBox};
|
||||
use crate::cache::imap::mailbox_cache::{self, FetchStatus};
|
||||
use crate::archive::imap::mailbox::{Attribute, AttributeEnum, MailBox};
|
||||
use crate::archive::imap::mailbox_cache::{self, FetchStatus};
|
||||
use crate::error::code::ErrorCode;
|
||||
use crate::error::BichonResult;
|
||||
use crate::imap::executor::ImapExecutor;
|
||||
|
||||
@@ -28,7 +28,7 @@ use crate::{
|
||||
raise_error,
|
||||
{
|
||||
account::migration::AccountModel,
|
||||
cache::imap::mailbox::MailBox,
|
||||
archive::imap::mailbox::MailBox,
|
||||
error::{code::ErrorCode, BichonResult},
|
||||
message::content::AttachmentInfo,
|
||||
store::{
|
||||
|
||||
@@ -25,7 +25,7 @@ use std::sync::LazyLock;
|
||||
|
||||
use bichon_core::{
|
||||
bichon_version,
|
||||
cache::imap::task::SYNC_TASKS,
|
||||
archive::imap::task::SYNC_TASKS,
|
||||
common::{rustls::BichonTls, signal::SignalManager},
|
||||
context::{executors::BichonContext, Initialize},
|
||||
database::manager::DB_MANAGER,
|
||||
|
||||
@@ -27,7 +27,7 @@ use bichon_core::account::payload::{
|
||||
use bichon_core::account::state::{DownloadState, GapFillState};
|
||||
use bichon_core::account::stats::AccountStats;
|
||||
use bichon_core::account::view::AccountResp;
|
||||
use bichon_core::cache::imap::task::SYNC_TASKS;
|
||||
use bichon_core::archive::imap::task::SYNC_TASKS;
|
||||
use bichon_core::common::paginated::{paginate_vec, DataPage};
|
||||
use bichon_core::error::code::ErrorCode;
|
||||
use bichon_core::ext::event_bus::{emit, Event};
|
||||
|
||||
@@ -20,7 +20,7 @@ use std::{io, net::SocketAddr, time::Duration};
|
||||
use base64::{prelude::BASE64_STANDARD, Engine as _};
|
||||
use bichon_core::{
|
||||
account::migration::{AccountModel, AccountType},
|
||||
cache::imap::mailbox::{Attribute, AttributeEnum, MailBox},
|
||||
archive::imap::mailbox::{Attribute, AttributeEnum, MailBox},
|
||||
common::{auth::ClientContext, signal::SIGNAL_MANAGER},
|
||||
envelope::extractor::extract_envelope_from_smtp,
|
||||
error::BichonResult,
|
||||
|
||||
Reference in New Issue
Block a user