diff options
author | metamuffin <metamuffin@disroot.org> | 2024-01-20 00:50:20 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-01-20 00:50:20 +0100 |
commit | 46c251655db7bb3d9aa814b1a5dde85336b0b9b1 (patch) | |
tree | ab0696f2c92e8854ce6aa0737877cc15184bd8b6 /server/src/routes/ui/account/session/guard.rs | |
parent | 1c37d32a0985ff7390313833345b9299f9f0b196 (diff) | |
download | jellything-46c251655db7bb3d9aa814b1a5dde85336b0b9b1.tar jellything-46c251655db7bb3d9aa814b1a5dde85336b0b9b1.tar.bz2 jellything-46c251655db7bb3d9aa814b1a5dde85336b0b9b1.tar.zst |
replace sled with redb
Diffstat (limited to 'server/src/routes/ui/account/session/guard.rs')
-rw-r--r-- | server/src/routes/ui/account/session/guard.rs | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/server/src/routes/ui/account/session/guard.rs b/server/src/routes/ui/account/session/guard.rs index ae1ebd3..b2fd408 100644 --- a/server/src/routes/ui/account/session/guard.rs +++ b/server/src/routes/ui/account/session/guard.rs @@ -4,8 +4,9 @@ Copyright (C) 2023 metamuffin <metamuffin.org> */ use super::{AdminSession, Session}; -use crate::{database::Database, routes::ui::error::MyError}; +use crate::{database::DataAcid, routes::ui::error::MyError}; use anyhow::anyhow; +use jellybase::database::{ReadableTable, T_USER}; use log::warn; use rocket::{ async_trait, @@ -35,8 +36,19 @@ impl Session { username = "admin".to_string(); } - let db = req.guard::<&State<Database>>().await.unwrap(); - let user = db.user.get(&username)?.ok_or(anyhow!("user not found"))?; + let db = req.guard::<&State<DataAcid>>().await.unwrap(); + + let user = { + let txn = db.inner.begin_read()?; + let table = txn.open_table(T_USER)?; + let user = table + .get(&*username)? + .ok_or(anyhow!("user not found"))? + .value() + .0; + drop(table); + user + }; Ok(Session { user }) } |