aboutsummaryrefslogtreecommitdiff
path: root/server/src/routes/ui/account/session/guard.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-01-20 00:50:20 +0100
committermetamuffin <metamuffin@disroot.org>2024-01-20 00:50:20 +0100
commit46c251655db7bb3d9aa814b1a5dde85336b0b9b1 (patch)
treeab0696f2c92e8854ce6aa0737877cc15184bd8b6 /server/src/routes/ui/account/session/guard.rs
parent1c37d32a0985ff7390313833345b9299f9f0b196 (diff)
downloadjellything-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.rs18
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 })
}