diff --git a/lib/grammers-client/src/client/chats.rs b/lib/grammers-client/src/client/chats.rs index e669f189..5a609b9e 100644 --- a/lib/grammers-client/src/client/chats.rs +++ b/lib/grammers-client/src/client/chats.rs @@ -384,7 +384,7 @@ impl Client { channel_id: chat_id, }) => chats .into_iter() - .map(Chat::from_chat) + .map(Chat::from_raw) .find(|chat| chat.id() == chat_id), }) } @@ -651,7 +651,7 @@ impl Client { if res.len() != 1 { panic!("fetching only one chat should exactly return one chat"); } - Chat::from_chat(res.pop().unwrap()) + Chat::from_raw(res.pop().unwrap()) } PackedType::Megagroup | PackedType::Broadcast | PackedType::Gigagroup => { let mut res = match self @@ -669,7 +669,7 @@ impl Client { if res.len() != 1 { panic!("fetching only one chat should exactly return one chat"); } - Chat::from_chat(res.pop().unwrap()) + Chat::from_raw(res.pop().unwrap()) } }) } @@ -846,7 +846,7 @@ impl Client { }; match update_chat { - Some(chats) if !chats.is_empty() => Ok(Some(Chat::from_chat(chats[0].clone()))), + Some(chats) if !chats.is_empty() => Ok(Some(Chat::from_raw(chats[0].clone()))), Some(chats) if chats.is_empty() => Ok(None), None => Ok(None), Some(_) => Ok(None), diff --git a/lib/grammers-client/src/types/chat/mod.rs b/lib/grammers-client/src/types/chat/mod.rs index 07729c80..4c9909ed 100644 --- a/lib/grammers-client/src/types/chat/mod.rs +++ b/lib/grammers-client/src/types/chat/mod.rs @@ -41,7 +41,7 @@ impl Chat { Self::User(User::from_raw(user)) } - pub(crate) fn from_chat(chat: tl::enums::Chat) -> Self { + fn _from_raw(chat: tl::enums::Chat) -> Self { use tl::enums::Chat as C; match chat { @@ -205,6 +205,16 @@ impl Chat { }), } } + + #[cfg(feature = "unstable_raw")] + pub fn from_raw(chat: tl::enums::Chat) -> Self { + Self::_from_raw(chat) + } + + #[cfg(not(feature = "unstable_raw"))] + pub(crate) fn from_raw(chat: tl::enums::Chat) -> Self { + Self::_from_raw(chat) + } } impl From<Chat> for PackedChat { diff --git a/lib/grammers-client/src/types/chat_map.rs b/lib/grammers-client/src/types/chat_map.rs index a053d748..900ac97b 100644 --- a/lib/grammers-client/src/types/chat_map.rs +++ b/lib/grammers-client/src/types/chat_map.rs @@ -46,7 +46,7 @@ impl ChatMap { map: users .into_iter() .map(Chat::from_user) - .chain(chats.into_iter().map(Chat::from_chat)) + .chain(chats.into_iter().map(Chat::from_raw)) .map(|chat| ((&chat.pack().to_peer()).into(), chat)) .collect(), })