db: some functions do not require mut db
This commit is contained in:
parent
0ca057c064
commit
b2df5bf4f3
@ -212,6 +212,10 @@ impl CallDB for DB {
|
||||
async fn get_database(&mut self) -> Database {
|
||||
self.client.database(&self.name)
|
||||
}
|
||||
|
||||
async fn get_database_immut(&self) -> Database {
|
||||
self.client.database(&self.name)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: CallDB> GetCollection for T {
|
||||
@ -233,9 +237,10 @@ pub type DbResult<T> = Result<T, DbError>;
|
||||
pub trait CallDB {
|
||||
//type C;
|
||||
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_users(&mut self) -> DbResult<Vec<User>> {
|
||||
let db = self.get_database().await;
|
||||
async fn get_users(&self) -> DbResult<Vec<User>> {
|
||||
let db = self.get_database_immut().await;
|
||||
let users = db.collection::<User>("users");
|
||||
|
||||
Ok(users.find(doc! {}).await?.try_collect().await?)
|
||||
@ -350,8 +355,8 @@ pub trait CallDB {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn get_literal(&mut self, literal: &str) -> DbResult<Option<Literal>> {
|
||||
let db = self.get_database().await;
|
||||
async fn get_literal(&self, literal: &str) -> DbResult<Option<Literal>> {
|
||||
let db = self.get_database_immut().await;
|
||||
let messages = db.collection::<Literal>("literals");
|
||||
|
||||
let literal = messages.find_one(doc! { "token": literal }).await?;
|
||||
@ -359,7 +364,7 @@ pub trait CallDB {
|
||||
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?;
|
||||
|
||||
Ok(literal.map(|l| l.value))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user