aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-02-05 21:20:21 +0100
committermetamuffin <metamuffin@disroot.org>2026-02-05 21:20:21 +0100
commit17be68281eae0be371be63db4c59d4ecaf2f1ba4 (patch)
tree22590a81a3d352e604096c0a8c9ea712e221f950
parent8ec94477fb5efae62dcfee31cede87eb400bf02d (diff)
downloadjellything-17be68281eae0be371be63db4c59d4ecaf2f1ba4.tar
jellything-17be68281eae0be371be63db4c59d4ecaf2f1ba4.tar.bz2
jellything-17be68281eae0be371be63db4c59d4ecaf2f1ba4.tar.zst
migrate server to new db trait
-rw-r--r--import/src/plugins/acoustid.rs2
-rw-r--r--server/src/auth.rs23
-rw-r--r--server/src/main.rs11
3 files changed, 13 insertions, 23 deletions
diff --git a/import/src/plugins/acoustid.rs b/import/src/plugins/acoustid.rs
index 81bf359..f55faad 100644
--- a/import/src/plugins/acoustid.rs
+++ b/import/src/plugins/acoustid.rs
@@ -200,7 +200,7 @@ impl ImportPlugin for AcoustID {
);
txn.update(node, ob)?;
Ok(())
- });
+ })?;
};
Ok(())
}
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,
}))
}