#![forbid(unsafe_code)]
pub mod methods;
pub mod session;
pub mod sse;
pub mod types;
pub mod utils;
pub mod ws;
pub use jmap_base_client::ClientError;
pub use methods::blob::{BlobConvertResponse, BlobLookupEntry, BlobLookupResponse, BlobObject};
pub use methods::quota::Quota;
pub use methods::{
AddMemberInput, AddedItem, ChangesResponse, ChatContactPatch, ChatContactQueryInput,
ChatCreateInput, ChatPatch, ChatQueryInput, ContactSortProperty, CustomEmojiCreateInput,
CustomEmojiQueryInput, GetResponse, MessageCreateInput, MessagePatch, MessageQueryInput, Patch,
PresenceStatusPatch, PushSubscriptionCreateInput, PushSubscriptionCreateResponse,
PushSubscriptionPatch, QueryChangesResponse, QueryResponse, ReactionChange, SessionClient,
SetError, SetResponse, SpaceAddCategoryInput, SpaceAddChannelInput, SpaceAddMemberInput,
SpaceAddRoleInput, SpaceBanCreateInput, SpaceCreateInput, SpaceInviteCreateInput,
SpaceJoinInput, SpaceJoinResponse, SpacePatch, SpaceQueryInput, SpaceUpdateCategoryInput,
SpaceUpdateChannelInput, SpaceUpdateMemberInput, SpaceUpdateRoleInput, TypingResponse,
UpdateMemberRoleInput,
};
pub use session::{ChatCapability, ChatPushCapability, ChatSessionExt};
pub use sse::{parse_chat_sse_block, ChatSseEvent, ChatSseFrame};
pub use ws::{ChatWsExt, ChatWsFrame};
pub trait JmapChatExt {
fn with_chat_session(&self, session: jmap_base_client::Session) -> methods::SessionClient;
}
impl JmapChatExt for jmap_base_client::JmapClient {
fn with_chat_session(&self, session: jmap_base_client::Session) -> methods::SessionClient {
methods::SessionClient {
client: self.clone(),
session,
}
}
}