diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-01-11 16:55:37 +0100 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-01-11 16:55:37 +0100 |
commit | 60a166185a034019d9e55136ee4417386ff57703 (patch) | |
tree | af515bc47372e7979562b4a3f41f8d87b15ca049 /src/imap/command/selected.rs | |
parent | a9d33c67080fd08b057501c36a07fade351bd83d (diff) | |
download | aerogramme-60a166185a034019d9e55136ee4417386ff57703.tar.gz aerogramme-60a166185a034019d9e55136ee4417386ff57703.zip |
Fetch and store modifiers are parsed
Diffstat (limited to 'src/imap/command/selected.rs')
-rw-r--r-- | src/imap/command/selected.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/imap/command/selected.rs b/src/imap/command/selected.rs index de59ed3..862d4aa 100644 --- a/src/imap/command/selected.rs +++ b/src/imap/command/selected.rs @@ -1,8 +1,8 @@ use std::sync::Arc; use anyhow::Result; -use imap_codec::imap_types::command::{Command, CommandBody, StoreModifier}; -use imap_codec::imap_types::core::{Charset, Atom}; +use imap_codec::imap_types::command::{Command, CommandBody, FetchModifier, StoreModifier}; +use imap_codec::imap_types::core::Charset; use imap_codec::imap_types::fetch::MacroOrMessageDataItemNames; use imap_codec::imap_types::flag::{Flag, StoreResponse, StoreType}; use imap_codec::imap_types::mailbox::Mailbox as MailboxCodec; @@ -43,8 +43,9 @@ pub async fn dispatch<'a>( CommandBody::Fetch { sequence_set, macro_or_item_names, + modifiers, uid, - } => ctx.fetch(sequence_set, macro_or_item_names, uid).await, + } => ctx.fetch(sequence_set, macro_or_item_names, modifiers, uid).await, CommandBody::Search { charset, criteria, @@ -114,6 +115,7 @@ impl<'a> SelectedContext<'a> { self, sequence_set: &SequenceSet, attributes: &'a MacroOrMessageDataItemNames<'static>, + modifiers: &[FetchModifier], uid: &bool, ) -> Result<(Response<'static>, flow::Transition)> { match self.mailbox.fetch(sequence_set, attributes, uid).await { @@ -194,7 +196,7 @@ impl<'a> SelectedContext<'a> { kind: &StoreType, response: &StoreResponse, flags: &[Flag<'a>], - modifiers: &[(Atom<'a>, StoreModifier<'a>)], + modifiers: &[StoreModifier], uid: &bool, ) -> Result<(Response<'static>, flow::Transition)> { tracing::info!(modifiers=?modifiers); |