From d9097f85cf6a7041d116708c0de44f33c6a46700 Mon Sep 17 00:00:00 2001 From: rustmailer Date: Wed, 19 Aug 2026 17:02:55 +0800 Subject: [PATCH] refactor: rename cache module to archive --- crates/admin/src/meta.rs | 6 +++--- crates/core/src/account/migration.rs | 2 +- .../{cache => archive}/imap/download/download_folders.rs | 4 ++-- .../src/{cache => archive}/imap/download/download_type.rs | 0 crates/core/src/{cache => archive}/imap/download/flow.rs | 2 +- .../core/src/{cache => archive}/imap/download/gap_fill.rs | 4 ++-- crates/core/src/{cache => archive}/imap/download/mod.rs | 2 +- crates/core/src/{cache => archive}/imap/download/rebuild.rs | 2 +- crates/core/src/{cache => archive}/imap/mailbox.rs | 0 crates/core/src/{cache => archive}/imap/mailbox_cache.rs | 2 +- crates/core/src/{cache => archive}/imap/mod.rs | 0 crates/core/src/{cache => archive}/imap/task.rs | 2 +- crates/core/src/{cache => archive}/mod.rs | 0 crates/core/src/context/controller.rs | 2 +- crates/core/src/envelope/extractor.rs | 2 +- crates/core/src/imap/executor.rs | 6 +++--- crates/core/src/import/mod.rs | 2 +- crates/core/src/lib.rs | 2 +- crates/core/src/mailbox/delete.rs | 2 +- crates/core/src/mailbox/list.rs | 4 ++-- crates/core/src/store/tantivy/model.rs | 2 +- crates/server/src/lib.rs | 2 +- crates/server/src/rest/api/account.rs | 2 +- crates/smtp/src/server.rs | 2 +- 24 files changed, 27 insertions(+), 27 deletions(-) rename crates/core/src/{cache => archive}/imap/download/download_folders.rs (98%) rename crates/core/src/{cache => archive}/imap/download/download_type.rs (100%) rename crates/core/src/{cache => archive}/imap/download/flow.rs (99%) rename crates/core/src/{cache => archive}/imap/download/gap_fill.rs (99%) rename crates/core/src/{cache => archive}/imap/download/mod.rs (99%) rename crates/core/src/{cache => archive}/imap/download/rebuild.rs (99%) rename crates/core/src/{cache => archive}/imap/mailbox.rs (100%) rename crates/core/src/{cache => archive}/imap/mailbox_cache.rs (98%) rename crates/core/src/{cache => archive}/imap/mod.rs (100%) rename crates/core/src/{cache => archive}/imap/task.rs (99%) rename crates/core/src/{cache => archive}/mod.rs (100%) diff --git a/crates/admin/src/meta.rs b/crates/admin/src/meta.rs index dfd9118..0d33512 100644 --- a/crates/admin/src/meta.rs +++ b/crates/admin/src/meta.rs @@ -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, } -impl From for bichon_core::cache::imap::mailbox::MailBox { +impl From 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. -use crate::cache::imap::mailbox::MailBox; +use crate::archive::imap::mailbox::MailBox; use crate::utc_now; use lru::LruCache; use std::collections::HashMap; diff --git a/crates/core/src/cache/imap/mod.rs b/crates/core/src/archive/imap/mod.rs similarity index 100% rename from crates/core/src/cache/imap/mod.rs rename to crates/core/src/archive/imap/mod.rs diff --git a/crates/core/src/cache/imap/task.rs b/crates/core/src/archive/imap/task.rs similarity index 99% rename from crates/core/src/cache/imap/task.rs rename to crates/core/src/archive/imap/task.rs index 76ed349..8c9a438 100644 --- a/crates/core/src/cache/imap/task.rs +++ b/crates/core/src/archive/imap/task.rs @@ -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; diff --git a/crates/core/src/cache/mod.rs b/crates/core/src/archive/mod.rs similarity index 100% rename from crates/core/src/cache/mod.rs rename to crates/core/src/archive/mod.rs diff --git a/crates/core/src/context/controller.rs b/crates/core/src/context/controller.rs index eb2a012..7bae84f 100644 --- a/crates/core/src/context/controller.rs +++ b/crates/core/src/context/controller.rs @@ -16,7 +16,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -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}; diff --git a/crates/core/src/envelope/extractor.rs b/crates/core/src/envelope/extractor.rs index 9ee3294..b8ecd4b 100644 --- a/crates/core/src/envelope/extractor.rs +++ b/crates/core/src/envelope/extractor.rs @@ -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}, diff --git a/crates/core/src/imap/executor.rs b/crates/core/src/imap/executor.rs index c574064..f2008cc 100644 --- a/crates/core/src/imap/executor.rs +++ b/crates/core/src/imap/executor.rs @@ -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) -> BichonResult<()> + Send + Sync), >, - ) -> BichonResult> { + ) -> BichonResult> { 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, diff --git a/crates/core/src/import/mod.rs b/crates/core/src/import/mod.rs index 611740b..31ee1e7 100644 --- a/crates/core/src/import/mod.rs +++ b/crates/core/src/import/mod.rs @@ -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, diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index 2440585..9ec21c9 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -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; diff --git a/crates/core/src/mailbox/delete.rs b/crates/core/src/mailbox/delete.rs index 574323c..a88b351 100644 --- a/crates/core/src/mailbox/delete.rs +++ b/crates/core/src/mailbox/delete.rs @@ -17,7 +17,7 @@ // along with this program. If not, see . use crate::{ - cache::imap::mailbox::MailBox, + archive::imap::mailbox::MailBox, error::BichonResult, store::tantivy::{attachment::ATTACHMENT_MANAGER, envelope::ENVELOPE_MANAGER}, }; diff --git a/crates/core/src/mailbox/list.rs b/crates/core/src/mailbox/list.rs index 5fb1068..77ae90e 100644 --- a/crates/core/src/mailbox/list.rs +++ b/crates/core/src/mailbox/list.rs @@ -17,8 +17,8 @@ // along with this program. If not, see . 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; diff --git a/crates/core/src/store/tantivy/model.rs b/crates/core/src/store/tantivy/model.rs index 61364c3..5bcb3b6 100644 --- a/crates/core/src/store/tantivy/model.rs +++ b/crates/core/src/store/tantivy/model.rs @@ -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::{ diff --git a/crates/server/src/lib.rs b/crates/server/src/lib.rs index 4ba7e98..c8e08ff 100644 --- a/crates/server/src/lib.rs +++ b/crates/server/src/lib.rs @@ -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, diff --git a/crates/server/src/rest/api/account.rs b/crates/server/src/rest/api/account.rs index bb46d17..6825c00 100644 --- a/crates/server/src/rest/api/account.rs +++ b/crates/server/src/rest/api/account.rs @@ -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}; diff --git a/crates/smtp/src/server.rs b/crates/smtp/src/server.rs index ec058b0..9c53c88 100644 --- a/crates/smtp/src/server.rs +++ b/crates/smtp/src/server.rs @@ -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,