diff options
Diffstat (limited to 'server/src/auth.rs')
| -rw-r--r-- | server/src/auth.rs | 23 |
1 files changed, 10 insertions, 13 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); |