diff --git a/src/bot/op.rs b/src/bot/op.rs index e4ba59f..506db29 100644 --- a/src/bot/op.rs +++ b/src/bot/op.rs @@ -8,7 +8,7 @@ use crate::db::DbPool; pub async fn cmd_op(bot: Bot, msg: Message, db: DbPool) -> HandlerResult { let admins: i64 = sqlx::query("SELECT COUNT(*) FROM user WHERE is_admin = 1") - .fetch_one(db.as_ref()) + .fetch_one(&db) .await? .get(0); @@ -30,7 +30,7 @@ pub async fn cmd_op(bot: Bot, msg: Message, db: DbPool) -> HandlerResult { let target = find_or_create_user(&db, target).await?; sqlx::query("UPDATE user SET can_download = 1, is_admin = 1 WHERE id = $1;") .bind(target.id) - .execute(db.as_ref()) + .execute(&db) .await?; event!( diff --git a/src/db.rs b/src/db.rs index 5e9bc0c..0b8d0ac 100644 --- a/src/db.rs +++ b/src/db.rs @@ -4,7 +4,7 @@ use std::sync::Arc; use super::util::make_database_url; -pub type DbPool = Arc; +pub type DbPool = SqlitePool; #[derive(sqlx::FromRow)] pub struct User { diff --git a/src/db/user.rs b/src/db/user.rs index 5a8bc33..e58f7ae 100644 --- a/src/db/user.rs +++ b/src/db/user.rs @@ -19,12 +19,12 @@ pub async fn create_user( .bind(&user.last_name) .bind(can_download as i64) .bind(is_admin as i64) - .execute(db.as_ref()) + .execute(db) .await?; let user: User = sqlx::query_as("SELECT * FROM user WHERE tg_id = $1 LIMIT 1;") .bind(user.id.0 as i64) - .fetch_one(db.as_ref()) + .fetch_one(db) .await?; Ok(user) } @@ -33,7 +33,7 @@ pub async fn find_or_create_user(db: &DbPool, user: &types::User) -> Result = sqlx::query_as("SELECT * FROM user WHERE tg_id = $1 LIMIT 1;") .bind(user.id.0 as i64) - .fetch_one(db.as_ref()) + .fetch_one(db) .await; match res { diff --git a/src/main.rs b/src/main.rs index 18e411d..e196eee 100644 --- a/src/main.rs +++ b/src/main.rs @@ -22,6 +22,6 @@ async fn main() -> anyhow::Result<()> { log_init(); let db = db_init().await; - bot_main(Arc::from(db)).await?; + bot_main(db).await?; Ok(()) }