diff --git a/conversations/src/context.rs b/conversations/src/context.rs index 3aceeb9..313f6b7 100644 --- a/conversations/src/context.rs +++ b/conversations/src/context.rs @@ -1,8 +1,7 @@ use std::{collections::HashMap, rc::Rc, sync::Arc}; use crate::{ - // conversation::{ConversationStore, Convo, Id}, - conversation::common::{HasConversationId, OutboundSession, SessionRegistry}, + dm::common::{HasConversationId, OutboundSession, SessionRegistry}, errors::ChatError, identity::Identity, inbox::Inbox, @@ -122,7 +121,7 @@ impl Context { #[cfg(test)] mod tests { - use crate::conversation::privatev1::PrivateV1Convo; + use crate::dm::privatev1::PrivateV1Convo; use super::*; diff --git a/conversations/src/crypto.rs b/conversations/src/crypto.rs deleted file mode 100644 index ff9531f..0000000 --- a/conversations/src/crypto.rs +++ /dev/null @@ -1,12 +0,0 @@ -use prost::bytes::Bytes; -pub use x25519_dalek::{PublicKey, StaticSecret}; - -pub trait CopyBytes { - fn copy_to_bytes(&self) -> Bytes; -} - -impl CopyBytes for PublicKey { - fn copy_to_bytes(&self) -> Bytes { - Bytes::copy_from_slice(self.as_bytes()) - } -} diff --git a/conversations/src/conversation/common.rs b/conversations/src/dm/common.rs similarity index 100% rename from conversations/src/conversation/common.rs rename to conversations/src/dm/common.rs diff --git a/conversations/src/conversation/mod.rs b/conversations/src/dm/mod.rs similarity index 100% rename from conversations/src/conversation/mod.rs rename to conversations/src/dm/mod.rs diff --git a/conversations/src/conversation/privatev1.rs b/conversations/src/dm/privatev1.rs similarity index 95% rename from conversations/src/conversation/privatev1.rs rename to conversations/src/dm/privatev1.rs index 2950629..87ad551 100644 --- a/conversations/src/conversation/privatev1.rs +++ b/conversations/src/dm/privatev1.rs @@ -6,7 +6,7 @@ use crypto::SecretKey; use prost::{Message, bytes::Bytes}; use crate::{ - conversation::common::{HasConversationId, OutboundSession, SessionId}, + dm::common::{HasConversationId, OutboundSession, SessionId}, errors::ChatError, types::AddressedEncryptedPayload, utils::timestamp_millis, diff --git a/conversations/src/group/mod.rs b/conversations/src/group/mod.rs new file mode 100644 index 0000000..dc53af3 --- /dev/null +++ b/conversations/src/group/mod.rs @@ -0,0 +1 @@ +// Group chat module diff --git a/conversations/src/identity.rs b/conversations/src/identity.rs index c5646a7..42316f7 100644 --- a/conversations/src/identity.rs +++ b/conversations/src/identity.rs @@ -1,7 +1,6 @@ use blake2::{Blake2b512, Digest}; use std::fmt; - -use crate::crypto::{PublicKey, StaticSecret}; +pub use x25519_dalek::{PublicKey, StaticSecret}; pub struct Identity { secret: StaticSecret, diff --git a/conversations/src/inbox/handshake.rs b/conversations/src/inbox/handshake.rs index bbcb088..7216afa 100644 --- a/conversations/src/inbox/handshake.rs +++ b/conversations/src/inbox/handshake.rs @@ -5,7 +5,7 @@ use blake2::{ use crypto::{DomainSeparator, PrekeyBundle, SecretKey, X3Handshake}; use rand_core::{CryptoRng, RngCore}; -use crate::crypto::{PublicKey, StaticSecret}; +use crate::identity::{PublicKey, StaticSecret}; type Blake2bMac256 = Blake2bMac; diff --git a/conversations/src/inbox/inbox.rs b/conversations/src/inbox/inbox.rs index 690878a..041e651 100644 --- a/conversations/src/inbox/inbox.rs +++ b/conversations/src/inbox/inbox.rs @@ -8,15 +8,13 @@ use std::rc::Rc; use crypto::{PrekeyBundle, SecretKey}; use crate::context::Introduction; -use crate::conversation::common::{ - HasConversationId, InboundSessionHandler, OutboundSession, SessionId, -}; -use crate::conversation::privatev1::PrivateV1Convo; -use crate::crypto::{CopyBytes, PublicKey, StaticSecret}; +use crate::dm::common::{HasConversationId, InboundSessionHandler, OutboundSession, SessionId}; +use crate::dm::privatev1::PrivateV1Convo; use crate::errors::ChatError; use crate::identity::Identity; +use crate::identity::{PublicKey, StaticSecret}; use crate::inbox::handshake::InboxHandshake; -use crate::proto; +use crate::proto::{self, CopyBytes}; use crate::types::{AddressedEncryptedPayload, ContentData}; /// Compute the deterministic Delivery_address for an installation diff --git a/conversations/src/inbox.rs b/conversations/src/inbox/mod.rs similarity index 100% rename from conversations/src/inbox.rs rename to conversations/src/inbox/mod.rs diff --git a/conversations/src/lib.rs b/conversations/src/lib.rs index 43ecfb6..f220b21 100644 --- a/conversations/src/lib.rs +++ b/conversations/src/lib.rs @@ -1,8 +1,8 @@ mod api; mod context; -pub mod conversation; -mod crypto; +pub mod dm; mod errors; +mod group; mod identity; pub mod inbox; mod proto; @@ -10,8 +10,6 @@ mod types; mod utils; pub use api::*; -pub use conversation::common::{HasConversationId, InboundSessionHandler, OutboundSession}; -pub use inbox::Inbox; #[cfg(test)] mod tests { diff --git a/conversations/src/proto.rs b/conversations/src/proto.rs index 1697de5..cd43973 100644 --- a/conversations/src/proto.rs +++ b/conversations/src/proto.rs @@ -7,3 +7,14 @@ pub use chat_proto::logoschat::invite::InvitePrivateV1; pub use prost::Message; pub use prost::bytes::Bytes; +use x25519_dalek::PublicKey; + +pub trait CopyBytes { + fn copy_to_bytes(&self) -> Bytes; +} + +impl CopyBytes for PublicKey { + fn copy_to_bytes(&self) -> Bytes { + Bytes::copy_from_slice(self.as_bytes()) + } +}