revert idea with Arc<DbPool> because sqlx is already Arc internally
This commit is contained in:
parent
24bdf0593e
commit
89a12defee
4 changed files with 7 additions and 7 deletions
|
|
@ -8,7 +8,7 @@ use crate::db::DbPool;
|
||||||
|
|
||||||
pub async fn cmd_op(bot: Bot, msg: Message, db: DbPool) -> HandlerResult {
|
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")
|
let admins: i64 = sqlx::query("SELECT COUNT(*) FROM user WHERE is_admin = 1")
|
||||||
.fetch_one(db.as_ref())
|
.fetch_one(&db)
|
||||||
.await?
|
.await?
|
||||||
.get(0);
|
.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?;
|
let target = find_or_create_user(&db, target).await?;
|
||||||
sqlx::query("UPDATE user SET can_download = 1, is_admin = 1 WHERE id = $1;")
|
sqlx::query("UPDATE user SET can_download = 1, is_admin = 1 WHERE id = $1;")
|
||||||
.bind(target.id)
|
.bind(target.id)
|
||||||
.execute(db.as_ref())
|
.execute(&db)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
event!(
|
event!(
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ use std::sync::Arc;
|
||||||
|
|
||||||
use super::util::make_database_url;
|
use super::util::make_database_url;
|
||||||
|
|
||||||
pub type DbPool = Arc<SqlitePool>;
|
pub type DbPool = SqlitePool;
|
||||||
|
|
||||||
#[derive(sqlx::FromRow)]
|
#[derive(sqlx::FromRow)]
|
||||||
pub struct User {
|
pub struct User {
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,12 @@ pub async fn create_user(
|
||||||
.bind(&user.last_name)
|
.bind(&user.last_name)
|
||||||
.bind(can_download as i64)
|
.bind(can_download as i64)
|
||||||
.bind(is_admin as i64)
|
.bind(is_admin as i64)
|
||||||
.execute(db.as_ref())
|
.execute(db)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
let user: User = sqlx::query_as("SELECT * FROM user WHERE tg_id = $1 LIMIT 1;")
|
let user: User = sqlx::query_as("SELECT * FROM user WHERE tg_id = $1 LIMIT 1;")
|
||||||
.bind(user.id.0 as i64)
|
.bind(user.id.0 as i64)
|
||||||
.fetch_one(db.as_ref())
|
.fetch_one(db)
|
||||||
.await?;
|
.await?;
|
||||||
Ok(user)
|
Ok(user)
|
||||||
}
|
}
|
||||||
|
|
@ -33,7 +33,7 @@ pub async fn find_or_create_user(db: &DbPool, user: &types::User) -> Result<User
|
||||||
let res: Result<User, sqlx::Error> =
|
let res: Result<User, sqlx::Error> =
|
||||||
sqlx::query_as("SELECT * FROM user WHERE tg_id = $1 LIMIT 1;")
|
sqlx::query_as("SELECT * FROM user WHERE tg_id = $1 LIMIT 1;")
|
||||||
.bind(user.id.0 as i64)
|
.bind(user.id.0 as i64)
|
||||||
.fetch_one(db.as_ref())
|
.fetch_one(db)
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
match res {
|
match res {
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,6 @@ async fn main() -> anyhow::Result<()> {
|
||||||
log_init();
|
log_init();
|
||||||
let db = db_init().await;
|
let db = db_init().await;
|
||||||
|
|
||||||
bot_main(Arc::from(db)).await?;
|
bot_main(db).await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue