Struct jmap_client::mailbox::Mailbox
source · pub struct Mailbox<State = Get> { /* private fields */ }Implementations§
source§impl Mailbox<Get>
impl Mailbox<Get>
pub fn id(&self) -> Option<&str>
sourcepub fn take_id(&mut self) -> String
pub fn take_id(&mut self) -> String
Examples found in repository?
examples/mailboxes.rs (line 36)
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
async fn mailboxes() {
// Connect to the JMAP server using Basic authentication
let client = Client::new()
.credentials(("john@example.org", "secret"))
.connect("https://jmap.example.org")
.await
.unwrap();
// Create a mailbox
let mailbox_id = client
.mailbox_create("My Mailbox", None::<String>, Role::None)
.await
.unwrap()
.take_id();
// Rename a mailbox
client
.mailbox_rename(&mailbox_id, "My Renamed Mailbox")
.await
.unwrap();
// Query mailboxes to obtain Inbox's id
let inbox_id = client
.mailbox_query(Filter::role(Role::Inbox).into(), None::<Vec<_>>)
.await
.unwrap()
.take_ids()
.pop()
.unwrap();
// Print Inbox's details
println!(
"{:?}",
client.mailbox_get(&inbox_id, None::<Vec<_>>).await.unwrap()
);
// Move the newly created mailbox under Inbox
client
.mailbox_move(&mailbox_id, inbox_id.into())
.await
.unwrap();
// Delete the mailbox including any messages
client.mailbox_destroy(&mailbox_id, true).await.unwrap();
}pub fn name(&self) -> Option<&str>
pub fn parent_id(&self) -> Option<&str>
pub fn role(&self) -> Role
pub fn sort_order(&self) -> u32
pub fn total_emails(&self) -> usize
pub fn unread_emails(&self) -> usize
pub fn total_threads(&self) -> usize
pub fn unread_threads(&self) -> usize
pub fn is_subscribed(&self) -> bool
pub fn my_rights(&self) -> Option<&MailboxRights>
pub fn acl(&self) -> Option<&AHashMap<String, Vec<ACL>>>
pub fn take_acl(&mut self) -> Option<AHashMap<String, Vec<ACL>>>
source§impl Mailbox<Set>
impl Mailbox<Set>
pub fn name(&mut self, name: impl Into<String>) -> &mut Self
pub fn parent_id(&mut self, parent_id: Option<impl Into<String>>) -> &mut Self
pub fn parent_id_ref(&mut self, parent_id_ref: &str) -> &mut Self
pub fn role(&mut self, role: Role) -> &mut Self
pub fn sort_order(&mut self, sort_order: u32) -> &mut Self
pub fn is_subscribed(&mut self, is_subscribed: bool) -> &mut Self
pub fn acls<T, U, V>(&mut self, acls: T) -> &mut Selfwhere T: IntoIterator<Item = (U, V)>, U: Into<String>, V: IntoIterator<Item = ACL>,
pub fn acl(&mut self, id: &str, acl: impl IntoIterator<Item = ACL>) -> &mut Self
pub fn acl_set(&mut self, id: &str, acl: ACL, set: bool) -> &mut Self
Trait Implementations§
source§impl ChangesObject for Mailbox<Get>
impl ChangesObject for Mailbox<Get>
type ChangesResponse = ChangesResponse
source§impl ChangesObject for Mailbox<Set>
impl ChangesObject for Mailbox<Set>
type ChangesResponse = ChangesResponse
source§impl<'de, State> Deserialize<'de> for Mailbox<State>
impl<'de, State> Deserialize<'de> for Mailbox<State>
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl QueryObject for Mailbox<Set>
impl QueryObject for Mailbox<Set>
Auto Trait Implementations§
impl<State> RefUnwindSafe for Mailbox<State>where State: RefUnwindSafe,
impl<State> Send for Mailbox<State>where State: Send,
impl<State> Sync for Mailbox<State>where State: Sync,
impl<State> Unpin for Mailbox<State>where State: Unpin,
impl<State> UnwindSafe for Mailbox<State>where State: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more