diff --git a/src/db.rs b/src/db.rs index 9e80e72..fd844d8 100644 --- a/src/db.rs +++ b/src/db.rs @@ -46,7 +46,7 @@ pub async fn get_db_pool() -> SqlitePool { let conn_opts = SqliteConnectOptions::new() .foreign_keys(true) //.auto_vacuum(sqlx::sqlite::SqliteAutoVacuum::Incremental) - .journal_mode(SqliteJournalMode::Memory) + .journal_mode(SqliteJournalMode::Wal) .synchronous(sqlx::sqlite::SqliteSynchronous::Off) .filename(&db_filename) .busy_timeout(Duration::from_secs(TIMEOUT)) @@ -61,9 +61,9 @@ pub async fn get_db_pool() -> SqlitePool { .await .expect("can't connect to database"); - let mut conn = pool.acquire().await.unwrap(); - conn.execute("PRAGMA cache_size = 1000000;").await.unwrap(); - conn.execute("PRAGMA temp_store = MEMORY;").await.unwrap(); + // let mut conn = pool.acquire().await.unwrap(); + // conn.execute("PRAGMA cache_size = 1000000;").await.unwrap(); + // conn.execute("PRAGMA temp_store = MEMORY;").await.unwrap(); // let the filesystem settle before trying anything // possibly not effective? diff --git a/src/db_id.rs b/src/db_id.rs index 0a18f0c..24ba42d 100644 --- a/src/db_id.rs +++ b/src/db_id.rs @@ -130,6 +130,22 @@ impl<'de> Visitor<'de> for DbIdVisitor { } } + fn visit_string(self, v: String) -> Result + where + E: serde::de::Error, + { + DbId::from_string(&v) + .map_err(|_| serde::de::Error::invalid_value(serde::de::Unexpected::Str(&v), &self)) + } + + fn visit_str(self, v: &str) -> Result + where + E: serde::de::Error, + { + DbId::from_string(v) + .map_err(|_| serde::de::Error::invalid_value(serde::de::Unexpected::Str(v), &self)) + } + fn visit_byte_buf(self, v: Vec) -> Result where E: serde::de::Error, diff --git a/src/login.rs b/src/login.rs index 2a4453d..3c9ef8d 100644 --- a/src/login.rs +++ b/src/login.rs @@ -70,9 +70,12 @@ pub async fn post_login( let pw = &login.password; let pw = pw.trim(); - let user = User::try_get(username, &pool) - .await - .map_err(|_| LoginErrorKind::Unknown)?; + let user = User::try_get(username, &pool).await.map_err(|e| { + tracing::debug!("{e}"); + LoginErrorKind::Unknown + })?; + + dbg!(&user); let verifier = Argon2::default(); let hash = PasswordHash::new(&user.pwhash).map_err(|_| LoginErrorKind::Internal)?; diff --git a/src/main.rs b/src/main.rs index 9ee5d62..d9c1062 100644 --- a/src/main.rs +++ b/src/main.rs @@ -25,7 +25,7 @@ async fn main() { let app = witch_watch::app(pool, &secret).await; - let addr: SocketAddr = ([127, 0, 0, 1], 3000).into(); + let addr: SocketAddr = ([0, 0, 0, 0], 3000).into(); tracing::debug!("binding to {addr:?}"); axum::Server::bind(&addr)