diff options
author | Mauro D <mauro@stalw.art> | 2023-06-02 18:02:35 +0000 |
---|---|---|
committer | Mauro D <mauro@stalw.art> | 2023-06-02 18:02:35 +0000 |
commit | c6e45a21e36f7b287afb62b39dd2163040441aed (patch) | |
tree | 88a5d97c38865f1aa11f16bfff49264cf906726a /crates/jmap/src/sieve | |
parent | 5c8784bc86d7e5847d3af9b327cfe064cc232490 (diff) |
Directory implementation - all tests passing
Diffstat (limited to 'crates/jmap/src/sieve')
-rw-r--r-- | crates/jmap/src/sieve/ingest.rs | 8 | ||||
-rw-r--r-- | crates/jmap/src/sieve/set.rs | 10 | ||||
-rw-r--r-- | crates/jmap/src/sieve/validate.rs | 6 |
3 files changed, 13 insertions, 11 deletions
diff --git a/crates/jmap/src/sieve/ingest.rs b/crates/jmap/src/sieve/ingest.rs index f5c8de2b..3a569ab3 100644 --- a/crates/jmap/src/sieve/ingest.rs +++ b/crates/jmap/src/sieve/ingest.rs @@ -78,8 +78,10 @@ impl JMAP { // Obtain mail from address let mail_from = if let Some(email) = self - .get_addresses_by_uid(account_id) + .directory + .emails_by_id(account_id) .await + .unwrap_or_default() .into_iter() .next() { @@ -92,8 +94,8 @@ impl JMAP { instance.set_user_address(&mail_from); // Set account name - if let Some(name) = self.get_account_name(account_id).await { - instance.set_user_full_name(&name); + if let Ok(Some(p)) = self.directory.principal_by_id(account_id).await { + instance.set_user_full_name(p.description().unwrap_or_else(|| p.name())); } // Set envelope diff --git a/crates/jmap/src/sieve/set.rs b/crates/jmap/src/sieve/set.rs index a72d8956..80a5c55d 100644 --- a/crates/jmap/src/sieve/set.rs +++ b/crates/jmap/src/sieve/set.rs @@ -50,11 +50,11 @@ use store::{ BlobKind, }; -use crate::{auth::AclToken, JMAP}; +use crate::{auth::AccessToken, JMAP}; struct SetContext<'x> { account_id: u32, - acl_token: &'x AclToken, + access_token: &'x AccessToken, response: SetResponse, } @@ -73,7 +73,7 @@ impl JMAP { pub async fn sieve_script_set( &self, mut request: SetRequest<SetArguments>, - acl_token: &AclToken, + access_token: &AccessToken, ) -> Result<SetResponse, MethodError> { let account_id = request.account_id.document_id(); let mut sieve_ids = self @@ -82,7 +82,7 @@ impl JMAP { .unwrap_or_default(); let mut ctx = SetContext { account_id, - acl_token, + access_token, response: self .prepare_set_response(&request, Collection::SieveScript) .await?, @@ -450,7 +450,7 @@ impl JMAP { .is_document(ctx.account_id, Collection::SieveScript, *document_id) }) { // Check access - if let Some(mut bytes) = self.blob_download(&blob_id, ctx.acl_token).await? { + if let Some(mut bytes) = self.blob_download(&blob_id, ctx.access_token).await? { // Compile script match self.sieve_compiler.compile(&bytes) { Ok(script) => { diff --git a/crates/jmap/src/sieve/validate.rs b/crates/jmap/src/sieve/validate.rs index a75c36a3..e28f24bd 100644 --- a/crates/jmap/src/sieve/validate.rs +++ b/crates/jmap/src/sieve/validate.rs @@ -29,18 +29,18 @@ use jmap_proto::{ method::validate::{ValidateSieveScriptRequest, ValidateSieveScriptResponse}, }; -use crate::{auth::AclToken, JMAP}; +use crate::{auth::AccessToken, JMAP}; impl JMAP { pub async fn sieve_script_validate( &self, request: ValidateSieveScriptRequest, - acl_token: &AclToken, + access_token: &AccessToken, ) -> Result<ValidateSieveScriptResponse, MethodError> { Ok(ValidateSieveScriptResponse { account_id: request.account_id, error: match self - .blob_download(&request.blob_id, acl_token) + .blob_download(&request.blob_id, access_token) .await? .map(|bytes| self.sieve_compiler.compile(&bytes)) { |