Feature: BotNotificator #18

Merged
akulij merged 13 commits from dev into main 2025-06-02 11:54:14 +00:00
Showing only changes of commit b2df5bf4f3 - Show all commits

View File

@ -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))