use crate::{
app::{SessionEntry, User, UserError},
core::{ConsensusPlugin, ConversationPluginsFactory},
};
impl<P: ConsensusPlugin, CP: ConversationPluginsFactory> User<P, CP> {
pub fn lookup_entry(
&self,
conversation_name: &str,
) -> Result<Option<SessionEntry<P, CP>>, UserError> {
Ok(self
.conversations
.read()
.map_err(|_| UserError::LockPoisoned("conversation registry"))?
.get(conversation_name)
.cloned())
}
pub fn list_conversations(&self) -> Result<Vec<String>, UserError> {
Ok(self
.conversations
.read()
.map_err(|_| UserError::LockPoisoned("conversation registry"))?
.keys()
.cloned()
.collect())
}
}