use prost::Message;
use crate::{
ds::{OutboundPacket, WELCOME_SUBTOPIC},
mls_crypto::KeyPackageBytes,
protos::de_mls::messages::v1::{InvitationToJoin, UserKeyPackage, WelcomeMessage},
};
pub fn build_key_package_message(
conversation_name: &str,
key_package: KeyPackageBytes,
app_id: &[u8],
) -> OutboundPacket {
let welcome_msg: WelcomeMessage = UserKeyPackage {
key_package_bytes: key_package.as_bytes().to_vec(),
}
.into();
OutboundPacket::new(
welcome_msg.encode_to_vec(),
WELCOME_SUBTOPIC,
conversation_name,
app_id,
)
}
pub(crate) fn build_invitation_packet(
welcome_bytes: Vec<u8>,
conversation_name: &str,
app_id: &[u8],
) -> OutboundPacket {
let welcome_msg: WelcomeMessage = InvitationToJoin {
mls_message_out_bytes: welcome_bytes,
}
.into();
OutboundPacket::new(
welcome_msg.encode_to_vec(),
WELCOME_SUBTOPIC,
conversation_name,
app_id,
)
}