jmap/rfc8620: move submodules to jmap/

Part of simplifying jmap module hierarchy.

Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
pull/405/head
Manos Pitsidianakis 1 month ago
parent 50ecade74a
commit a78f3f261d
No known key found for this signature in database
GPG Key ID: 7729C7707F7E09D0

@ -45,18 +45,18 @@ macro_rules! _impl_jmap_capability {
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)]
pub struct $ident;
impl $crate::jmap::rfc8620::capabilities::Capability for $ident {
impl $crate::jmap::capabilities::Capability for $ident {
const URI: &'static str = $key;
const NAME: &'static str = $name;
}
impl $ident {
pub const fn uri() -> &'static str {
<Self as $crate::jmap::rfc8620::capabilities::Capability>::URI
<Self as $crate::jmap::capabilities::Capability>::URI
}
pub const fn name() -> &'static str {
<Self as $crate::jmap::rfc8620::capabilities::Capability>::NAME
<Self as $crate::jmap::capabilities::Capability>::NAME
}
}
@ -65,7 +65,7 @@ macro_rules! _impl_jmap_capability {
where
S: ::serde::ser::Serializer,
{
serializer.serialize_str(<Self as $crate::jmap::rfc8620::capabilities::Capability>::URI)
serializer.serialize_str(<Self as $crate::jmap::capabilities::Capability>::URI)
}
}
@ -74,7 +74,7 @@ macro_rules! _impl_jmap_capability {
where
D: ::serde::de::Deserializer<'de>,
{
if <&'_ str>::deserialize(deserializer)? == <Self as $crate::jmap::rfc8620::capabilities::Capability>::URI {
if <&'_ str>::deserialize(deserializer)? == <Self as $crate::jmap::capabilities::Capability>::URI {
return Ok(Self);
}

@ -32,18 +32,20 @@ use url::Url;
use crate::{
error::{Error, NetworkErrorKind, Result},
jmap::{
argument::Argument,
capabilities::*,
deserialize_from_str,
email::{
EmailChanges, EmailFilterCondition, EmailGet, EmailObject, EmailQueryChanges,
EmailQueryChangesResponse,
},
filters::Filter,
identity::{IdentityGet, IdentityObject, IdentitySet},
mailbox::MailboxObject,
protocol::{self, JmapMailCapability, Request},
rfc8620::{
argument::Argument, capabilities::*, filters::Filter, AddedItem, Changes,
ChangesResponse, Get, GetResponse, Id, MethodResponse, QueryChanges,
QueryChangesResponse, ResultField, Set, State,
AddedItem, Changes, ChangesResponse, Get, GetResponse, Id, MethodResponse,
QueryChanges, QueryChangesResponse, ResultField, Set, State,
},
session::Session,
JmapServerConf, Store,

@ -30,12 +30,11 @@ use crate::{
email::address::{Address, MailboxAddress},
jmap::{
deserialize_from_str,
filters::{Filter, FilterCondition, FilterTrait},
mailbox::MailboxObject,
protocol::Method,
rfc8620::{
bool_false,
filters::{Filter, FilterCondition, FilterTrait},
u64_zero, BlobObject, Changes, Get, Id, Object, Query, QueryChanges,
bool_false, u64_zero, BlobObject, Changes, Get, Id, Object, Query, QueryChanges,
QueryChangesResponse, ResultField, Set,
},
thread::ThreadObject,

@ -90,20 +90,27 @@ use session::*;
pub mod rfc8620;
use rfc8620::{
argument::Argument, capabilities::JmapCoreCapability, download_request_format, filters::Filter,
upload_request_format, BlobObject, Get, GetResponse, Id, MethodResponse, Object, Query,
QueryResponse, Set, SetResponse, State, UploadResponse,
download_request_format, upload_request_format, BlobObject, Get, GetResponse, Id,
MethodResponse, Object, Query, QueryResponse, Set, SetResponse, State, UploadResponse,
};
pub mod backend_mailbox;
use backend_mailbox::JmapMailbox;
pub mod argument;
pub mod capabilities;
pub mod comparator;
pub mod email;
pub mod filters;
pub mod identity;
pub mod mailbox;
pub mod submission;
pub mod thread;
use argument::Argument;
use capabilities::JmapCoreCapability;
use filters::Filter;
#[cfg(test)]
mod tests;

@ -35,14 +35,14 @@ use crate::{
email::Envelope,
error::Result,
jmap::{
argument::Argument,
backend_mailbox::JmapMailbox,
capabilities::*,
deserialize_from_str,
email::{EmailFilterCondition, EmailGet, EmailObject, EmailQuery},
filters::Filter,
mailbox::{MailboxGet, MailboxObject},
rfc8620::{
argument::Argument, capabilities::*, filters::Filter, Get, GetResponse, Id,
MethodResponse, Object, Query, QueryResponse, State,
},
rfc8620::{Get, GetResponse, Id, MethodResponse, Object, Query, QueryResponse, State},
JmapConnection, Store,
},
Flag, LazyCountSet, MailboxHash,

@ -36,18 +36,12 @@ use url::Url;
use crate::{
email::parser::BytesExt,
error::{Error, ErrorKind, Result},
jmap::{deserialize_from_str, protocol::Method, session::Session},
jmap::{
argument::Argument, comparator::Comparator, deserialize_from_str, filters,
protocol::Method, session::Session,
},
};
pub mod argument;
pub mod comparator;
pub mod filters;
use argument::Argument;
use comparator::Comparator;
pub mod capabilities;
pub type PatchObject = Value;
impl Object for PatchObject {

@ -24,10 +24,11 @@ use serde::ser::{Serialize, SerializeStruct, Serializer};
use serde_json::Value;
use crate::jmap::{
argument::Argument,
email::EmailObject,
identity::IdentityObject,
protocol::Method,
rfc8620::{argument::Argument, Account, BlobObject, Id, Object, PatchObject, Set},
rfc8620::{Account, BlobObject, Id, Object, PatchObject, Set},
thread::ThreadObject,
};

@ -28,8 +28,9 @@ fn test_jmap_query() {
use crate::jmap::{
email::{EmailFilterCondition, EmailObject, EmailQuery},
filters::Filter,
protocol::Request,
rfc8620::{filters::Filter, Query},
rfc8620::Query,
};
let q: crate::search::Query = crate::search::Query::try_from(
"subject:wah or (from:Manos and (subject:foo or subject:bar))",
@ -139,9 +140,10 @@ fn test_jmap_email_submission_object() {
use serde_json::json;
use crate::jmap::{
argument::Argument,
email::{EmailImport, EmailObject},
identity::IdentityObject,
rfc8620::{argument::Argument, Account, Id, ResultField},
rfc8620::{Account, Id, ResultField},
submission::{EmailSubmissionObject, UndoStatus},
};
let account_id: Id<Account> = "blahblah".into();
@ -279,10 +281,11 @@ fn test_jmap_argument_serde() {
use serde_json::json;
use crate::jmap::{
argument::Argument,
email::{EmailImport, EmailImportObject, EmailObject},
mailbox::MailboxObject,
protocol::Request,
rfc8620::{argument::Argument, BlobObject, Id, ResultField, Set},
rfc8620::{BlobObject, Id, ResultField, Set},
submission::{EmailSubmissionObject, EmailSubmissionSet},
};

Loading…
Cancel
Save