diff options
| author | Jokler <jokler.contact@gmail.com> | 2019-12-07 18:51:08 +0100 |
|---|---|---|
| committer | Jokler <jokler.contact@gmail.com> | 2019-12-07 18:51:08 +0100 |
| commit | 0a57d0ee613eb989ce5790d645c06c7817dd0ecc (patch) | |
| tree | 00cc4e6fc160f3a6be36d7fcaf677408b5f537bc /src/plugins/tell/database.rs | |
| parent | 52d092a7ab6ef20fd142acec8adf1d4b4668bebb (diff) | |
| download | frippy-0a57d0ee613eb989ce5790d645c06c7817dd0ecc.tar.gz frippy-0a57d0ee613eb989ce5790d645c06c7817dd0ecc.zip | |
Tell: List the receivers on successful send
Diffstat (limited to 'src/plugins/tell/database.rs')
| -rw-r--r-- | src/plugins/tell/database.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/plugins/tell/database.rs b/src/plugins/tell/database.rs index cbcb93d..cdce6c6 100644 --- a/src/plugins/tell/database.rs +++ b/src/plugins/tell/database.rs @@ -56,7 +56,8 @@ impl<S: ::std::hash::BuildHasher + Send + Sync> Database for HashMap<String, Vec }; let receiver = tell.receiver.clone(); - let tell_messages = self.entry(receiver) + let tell_messages = self + .entry(receiver) .or_insert_with(|| Vec::with_capacity(3)); (*tell_messages).push(tell); @@ -68,7 +69,8 @@ impl<S: ::std::hash::BuildHasher + Send + Sync> Database for HashMap<String, Vec } fn get_receivers(&self) -> Result<Vec<String>, TellError> { - Ok(self.iter() + Ok(self + .iter() .map(|(receiver, _)| receiver.to_owned()) .collect::<Vec<_>>()) } @@ -117,21 +119,25 @@ impl Database for Arc<Pool<ConnectionManager<MysqlConnection>>> { use self::tells::columns; let conn = &*self.get().context(ErrorKind::NoConnection)?; - Ok(tells::table + let result = tells::table .filter(columns::receiver.eq(receiver)) .order(columns::time.asc()) .load::<TellMessage>(conn) - .context(ErrorKind::MysqlError)?) + .context(ErrorKind::MysqlError)?; + + Ok(result) } fn get_receivers(&self) -> Result<Vec<String>, TellError> { use self::tells::columns; let conn = &*self.get().context(ErrorKind::NoConnection)?; - Ok(tells::table + let result = tells::table .select(columns::receiver) .load::<String>(conn) - .context(ErrorKind::MysqlError)?) + .context(ErrorKind::MysqlError)?; + + Ok(result) } fn delete_tells(&mut self, receiver: &str) -> Result<(), TellError> { |
