diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-02-05 21:20:21 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-02-05 21:20:21 +0100 |
| commit | 17be68281eae0be371be63db4c59d4ecaf2f1ba4 (patch) | |
| tree | 22590a81a3d352e604096c0a8c9ea712e221f950 /server | |
| parent | 8ec94477fb5efae62dcfee31cede87eb400bf02d (diff) | |
| download | jellything-17be68281eae0be371be63db4c59d4ecaf2f1ba4.tar jellything-17be68281eae0be371be63db4c59d4ecaf2f1ba4.tar.bz2 jellything-17be68281eae0be371be63db4c59d4ecaf2f1ba4.tar.zst | |
migrate server to new db trait
Diffstat (limited to 'server')
| -rw-r--r-- | server/src/auth.rs | 23 | ||||
| -rw-r--r-- | server/src/main.rs | 11 |
2 files changed, 12 insertions, 22 deletions
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<ObjectBuffer> { 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<i64>) 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<dyn Store>, + pub database: Arc<dyn Database>, pub session_key: SessionKey, - - pub nodes: Table, - pub users: Table, } #[derive(Debug, Deserialize)] @@ -82,8 +77,6 @@ pub fn create_state() -> Result<Arc<State>> { 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, })) } |