aboutsummaryrefslogtreecommitdiff
path: root/src/imap
diff options
context:
space:
mode:
Diffstat (limited to 'src/imap')
-rw-r--r--src/imap/command/authenticated.rs4
-rw-r--r--src/imap/command/selected.rs5
-rw-r--r--src/imap/mailbox_view.rs19
3 files changed, 19 insertions, 9 deletions
diff --git a/src/imap/command/authenticated.rs b/src/imap/command/authenticated.rs
index c5f2d00..60872ae 100644
--- a/src/imap/command/authenticated.rs
+++ b/src/imap/command/authenticated.rs
@@ -235,9 +235,7 @@ impl<'a> AuthenticatedContext<'a> {
.to_string()
.try_into()
.map_err(|_| anyhow!("invalid mailbox name"))?;
- let mut items = vec![FlagNameAttribute::from(Atom::unvalidated(
- "Subscribed",
- ))];
+ let mut items = vec![FlagNameAttribute::from(Atom::unvalidated("Subscribed"))];
if !*is_real {
items.push(FlagNameAttribute::Noselect);
} else {
diff --git a/src/imap/command/selected.rs b/src/imap/command/selected.rs
index 154e28c..73f8aec 100644
--- a/src/imap/command/selected.rs
+++ b/src/imap/command/selected.rs
@@ -226,7 +226,10 @@ impl<'a> SelectedContext<'a> {
))
}
- async fn expunge(self, uid_sequence_set: &Option<SequenceSet>) -> Result<(Response<'static>, flow::Transition)> {
+ async fn expunge(
+ self,
+ uid_sequence_set: &Option<SequenceSet>,
+ ) -> Result<(Response<'static>, flow::Transition)> {
if let Some(failed) = self.fail_read_only() {
return Ok((failed, flow::Transition::None));
}
diff --git a/src/imap/mailbox_view.rs b/src/imap/mailbox_view.rs
index f632df1..d57e9a3 100644
--- a/src/imap/mailbox_view.rs
+++ b/src/imap/mailbox_view.rs
@@ -237,20 +237,29 @@ impl MailboxView {
self.update(UpdateParameters::default()).await
}
- pub async fn expunge(&mut self, maybe_seq_set: &Option<SequenceSet>) -> Result<Vec<Body<'static>>> {
+ pub async fn expunge(
+ &mut self,
+ maybe_seq_set: &Option<SequenceSet>,
+ ) -> Result<Vec<Body<'static>>> {
// Get a recent view to apply our change
self.internal.sync().await?;
let state = self.internal.peek().await;
let idx = Index::new(&state)?;
-
+
// Build a default sequence set for the default case
- use imap_codec::imap_types::sequence::{Sequence, SeqOrUid};
+ use imap_codec::imap_types::sequence::{SeqOrUid, Sequence};
let seq = match maybe_seq_set {
Some(s) => s.clone(),
- None => SequenceSet(vec![Sequence::Range(SeqOrUid::Value(NonZeroU32::MIN), SeqOrUid::Asterisk)].try_into().unwrap()),
+ None => SequenceSet(
+ vec![Sequence::Range(
+ SeqOrUid::Value(NonZeroU32::MIN),
+ SeqOrUid::Asterisk,
+ )]
+ .try_into()
+ .unwrap(),
+ ),
};
-
let deleted_flag = Flag::Deleted.to_string();
let msgs = idx
.fetch_on_uid(&seq)