From 17be68281eae0be371be63db4c59d4ecaf2f1ba4 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Thu, 5 Feb 2026 21:20:21 +0100 Subject: migrate server to new db trait --- server/src/auth.rs | 23 ++++++++++------------- server/src/main.rs | 11 ++--------- 2 files changed, 12 insertions(+), 22 deletions(-) (limited to 'server') diff --git a/server/src/auth.rs b/server/src/auth.rs index ed9a469..68f7542 100644 --- a/server/src/auth.rs +++ b/server/src/auth.rs @@ -11,14 +11,14 @@ use jellycommon::{ USER_LOGIN, USER_PASSWORD, jellyobject::{ObjectBuffer, Path}, }; -use jellydb::query::{Filter, Query, Sort}; +use jellydb::{Filter, Query, Sort}; pub fn token_to_user(state: &State, token: &str) -> Result { let user_row = token::validate(&state.session_key, token)?; let mut user = None; - state.database.read_transaction(&mut |txn| { - user = state.users.get(txn, user_row)?; + state.database.transaction(&mut |txn| { + user = txn.get(user_row)?; Ok(()) })?; @@ -30,16 +30,13 @@ pub fn login(state: &State, username: &str, password: &str, expire: Option) let mut user_row = None; let mut user = None; - state.database.read_transaction(&mut |txn| { - user_row = state.users.query_single( - txn, - Query { - filter: Filter::Match(Path(vec![USER_LOGIN.0]), username.as_bytes().to_vec()), - sort: Sort::None, - }, - )?; + state.database.transaction(&mut |txn| { + user_row = txn.query_single(Query { + filter: Filter::Match(Path(vec![USER_LOGIN.0]), username.as_bytes().to_vec()), + sort: Sort::None, + })?; if let Some(ur) = user_row { - user = state.users.get(txn, ur)?; + user = txn.get(ur)?; } Ok(()) })?; @@ -85,7 +82,7 @@ pub mod token { engine::general_purpose::{STANDARD, URL_SAFE}, }; use chrono::Utc; - use jellydb::table::RowNum; + use jellydb::RowNum; pub struct SessionKey(Aes256GcmSiv); diff --git a/server/src/main.rs b/server/src/main.rs index f3b68c7..37d71f2 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -10,8 +10,7 @@ use crate::{auth::token::SessionKey, logger::setup_logger}; use anyhow::Result; use jellycache::Cache; -use jellydb::table::Table; -use jellykv::Store; +use jellydb::Database; use log::{error, info}; use routes::build_rocket; use serde::Deserialize; @@ -50,13 +49,9 @@ async fn main() { pub struct State { pub config: Config, - pub cache: Cache, - pub database: Arc, + pub database: Arc, pub session_key: SessionKey, - - pub nodes: Table, - pub users: Table, } #[derive(Debug, Deserialize)] @@ -82,8 +77,6 @@ pub fn create_state() -> Result> { cache: Cache::new(Box::new(cache_storage), config.max_memory_cache_size), database: Arc::new(db_storage), session_key: SessionKey::parse(&config.session_key)?, - nodes: Table::new(0), - users: Table::new(1), config, })) } -- cgit v1.3