Minor enhancements and Eventsource timeout fix.

main
Mauro D 2022-07-23 15:22:00 +00:00
parent 9461f63842
commit 7db07e742a
8 changed files with 21 additions and 21 deletions

View File

@ -25,7 +25,7 @@ use crate::{
const DEFAULT_TIMEOUT_MS: u64 = 10 * 1000;
static USER_AGENT: &str = concat!("jmap-client/", env!("CARGO_PKG_VERSION"));
#[derive(Debug)]
#[derive(Debug, PartialEq, Eq)]
pub enum Credentials {
Basic(String),
Bearer(String),

View File

@ -58,10 +58,7 @@ impl Client {
V: IntoIterator<Item = W>,
W: Into<String>,
{
let blob_id = self
.upload(account_id.into(), raw_message, None)
.await?
.take_blob_id();
let blob_id = self.upload(None, raw_message, None).await?.take_blob_id();
let mut request = self.build();
let import_request = request
.import_email()

View File

@ -108,6 +108,10 @@ pub enum Filter {
#[serde(rename = "sentAfter")]
value: DateTime<Utc>,
},
InThread {
#[serde(rename = "inThread")]
value: String,
},
}
#[derive(Serialize, Debug, Clone)]
@ -281,6 +285,12 @@ impl Filter {
value: from_timestamp(value),
}
}
pub fn in_thread(value: impl Into<String>) -> Self {
Filter::InThread {
value: value.into(),
}
}
}
impl Comparator {

View File

@ -62,7 +62,7 @@ impl Client {
let mut stream = Client::handle_error(
reqwest::Client::builder()
.timeout(Duration::from_millis(self.timeout()))
.connect_timeout(Duration::from_millis(self.timeout()))
.default_headers(headers)
.build()?
.get(event_source_url)

View File

@ -105,14 +105,14 @@ impl MailboxRights {
(self.may_read_items, ACL::ReadItems),
(self.may_add_items, ACL::AddItems),
(self.may_remove_items, ACL::RemoveItems),
(self.may_set_seen, ACL::SetSeen),
(self.may_set_keywords, ACL::SetKeywords),
(self.may_set_seen, ACL::ModifyItems),
(self.may_set_keywords, ACL::ModifyItems),
(self.may_create_child, ACL::CreateChild),
(self.may_rename, ACL::Modify),
(self.may_delete, ACL::Delete),
(self.may_submit, ACL::Submit),
] {
if is_set {
if is_set && !acl_list.contains(&acl) {
acl_list.push(acl);
}
}

View File

@ -103,7 +103,7 @@ pub(crate) enum ACLPatch {
Set(bool),
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
#[serde(rename_all = "lowercase")]
pub enum Role {
#[serde(rename = "archive", alias = "ARCHIVE")]

View File

@ -62,10 +62,9 @@ impl Mailbox<Set> {
}
pub fn acl_set(&mut self, id: &str, acl: ACL, set: bool) -> &mut Self {
self.acl_patch.get_or_insert_with(HashMap::new).insert(
format!("acl/{}/{}", id, acl.to_string()),
ACLPatch::Set(set),
);
self.acl_patch
.get_or_insert_with(HashMap::new)
.insert(format!("acl/{}/{}", id, acl), ACLPatch::Set(set));
self
}
}

View File

@ -104,12 +104,8 @@ pub enum ACL {
CreateChild = 7,
#[serde(rename = "administer")]
Administer = 8,
#[serde(rename = "setSeen")]
SetSeen = 9,
#[serde(rename = "setKeywords")]
SetKeywords = 10,
#[serde(rename = "submit")]
Submit = 11,
Submit = 10,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
@ -171,8 +167,6 @@ impl Display for ACL {
ACL::RemoveItems => write!(f, "removeItems"),
ACL::CreateChild => write!(f, "createChild"),
ACL::Administer => write!(f, "administer"),
ACL::SetSeen => write!(f, "setSeen"),
ACL::SetKeywords => write!(f, "setKeywords"),
ACL::Submit => write!(f, "submit"),
}
}