Feature: BotNotificator #18
@ -212,6 +212,10 @@ impl CallDB for DB {
|
|||||||
async fn get_database(&mut self) -> Database {
|
async fn get_database(&mut self) -> Database {
|
||||||
self.client.database(&self.name)
|
self.client.database(&self.name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async fn get_database_immut(&self) -> Database {
|
||||||
|
self.client.database(&self.name)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<T: CallDB> GetCollection for T {
|
impl<T: CallDB> GetCollection for T {
|
||||||
@ -233,9 +237,10 @@ pub type DbResult<T> = Result<T, DbError>;
|
|||||||
pub trait CallDB {
|
pub trait CallDB {
|
||||||
//type C;
|
//type C;
|
||||||
async fn get_database(&mut self) -> Database;
|
async fn get_database(&mut self) -> Database;
|
||||||
|
async fn get_database_immut(&self) -> Database;
|
||||||
//async fn get_pool(&mut self) -> PooledConnection<'_, AsyncDieselConnectionManager<C>>;
|
//async fn get_pool(&mut self) -> PooledConnection<'_, AsyncDieselConnectionManager<C>>;
|
||||||
async fn get_users(&mut self) -> DbResult<Vec<User>> {
|
async fn get_users(&self) -> DbResult<Vec<User>> {
|
||||||
let db = self.get_database().await;
|
let db = self.get_database_immut().await;
|
||||||
let users = db.collection::<User>("users");
|
let users = db.collection::<User>("users");
|
||||||
|
|
||||||
Ok(users.find(doc! {}).await?.try_collect().await?)
|
Ok(users.find(doc! {}).await?.try_collect().await?)
|
||||||
@ -350,8 +355,8 @@ pub trait CallDB {
|
|||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_literal(&mut self, literal: &str) -> DbResult<Option<Literal>> {
|
async fn get_literal(&self, literal: &str) -> DbResult<Option<Literal>> {
|
||||||
let db = self.get_database().await;
|
let db = self.get_database_immut().await;
|
||||||
let messages = db.collection::<Literal>("literals");
|
let messages = db.collection::<Literal>("literals");
|
||||||
|
|
||||||
let literal = messages.find_one(doc! { "token": literal }).await?;
|
let literal = messages.find_one(doc! { "token": literal }).await?;
|
||||||
@ -359,7 +364,7 @@ pub trait CallDB {
|
|||||||
Ok(literal)
|
Ok(literal)
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_literal_value(&mut self, literal: &str) -> DbResult<Option<String>> {
|
async fn get_literal_value(&self, literal: &str) -> DbResult<Option<String>> {
|
||||||
let literal = self.get_literal(literal).await?;
|
let literal = self.get_literal(literal).await?;
|
||||||
|
|
||||||
Ok(literal.map(|l| l.value))
|
Ok(literal.map(|l| l.value))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user