diff options
| -rw-r--r-- | src/database.rs | 8 | ||||
| -rw-r--r-- | src/list.rs | 14 |
2 files changed, 11 insertions, 11 deletions
diff --git a/src/database.rs b/src/database.rs index 10a5843..16ed137 100644 --- a/src/database.rs +++ b/src/database.rs @@ -63,18 +63,18 @@ impl Database { pub fn execute<Ex>(&mut self, q: Ex) -> Result<QueryResult<Ex::T>> where - Ex: DBExecutable, + Ex: Query, { let tx = self.conn.transaction()?; - let ris = q.execute(&tx)?; + let ris = q.callback(&tx)?; tx.commit()?; Ok(ris) } } -pub trait DBExecutable { +pub trait Query { type T; - fn execute(&self, tx: &Transaction) -> Result<QueryResult<Self::T>>; + fn callback(&self, tx: &Transaction) -> Result<QueryResult<Self::T>>; } #[derive(Debug)] diff --git a/src/list.rs b/src/list.rs index 8624650..43a9819 100644 --- a/src/list.rs +++ b/src/list.rs @@ -1,7 +1,7 @@ use anyhow::Result; use rusqlite::fallible_iterator::FallibleIterator; -use crate::database::{DBExecutable, QueryResult}; +use crate::database::{Query, QueryResult}; #[derive(PartialEq, Debug)] struct User { @@ -54,9 +54,9 @@ enum UserQuery<'a> { QueryAll, } -impl DBExecutable for UserQuery<'_> { +impl Query for UserQuery<'_> { type T = User; - fn execute(&self, tx: &rusqlite::Transaction) -> Result<QueryResult<Self::T>> { + fn callback(&self, tx: &rusqlite::Transaction) -> Result<QueryResult<Self::T>> { match self { UserQuery::Insert(name, email) => self.db_insert(tx, name, email), UserQuery::Delete(email) => self.db_delete(tx, email), @@ -163,10 +163,10 @@ enum ListQuery<'a> { QueryAll, } -impl DBExecutable for ListQuery<'_> { +impl Query for ListQuery<'_> { type T = List; - fn execute(&self, tx: &rusqlite::Transaction) -> Result<QueryResult<Self::T>> { + fn callback(&self, tx: &rusqlite::Transaction) -> Result<QueryResult<Self::T>> { match self { ListQuery::Insert(name, desc) => self.db_insert(tx, name, desc), ListQuery::Delete(name) => self.db_delete(tx, name), @@ -249,10 +249,10 @@ enum SubscriptionQuery<'a> { Subscribers(&'a str), } -impl DBExecutable for SubscriptionQuery<'_> { +impl Query for SubscriptionQuery<'_> { type T = SubscriptionResult; - fn execute(&self, tx: &rusqlite::Transaction) -> Result<QueryResult<Self::T>> { + fn callback(&self, tx: &rusqlite::Transaction) -> Result<QueryResult<Self::T>> { match self { SubscriptionQuery::Insert(email, list_name) => self.db_insert(tx, email, list_name), SubscriptionQuery::Count => self.db_query_all(tx), |
