diff options
author | metamuffin <metamuffin@disroot.org> | 2025-05-26 18:24:16 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-05-26 18:24:16 +0200 |
commit | 3b15caade07e8fbe351fed9aceb3f435bf58368e (patch) | |
tree | cce91c229b78061ad36f29d76a76d67c3c737c59 /server/src/api.rs | |
parent | 1eeff5c03e8985d16d4f2b6283741dd82b369bd3 (diff) | |
download | jellything-3b15caade07e8fbe351fed9aceb3f435bf58368e.tar jellything-3b15caade07e8fbe351fed9aceb3f435bf58368e.tar.bz2 jellything-3b15caade07e8fbe351fed9aceb3f435bf58368e.tar.zst |
move all direct database access to logic crate
Diffstat (limited to 'server/src/api.rs')
-rw-r--r-- | server/src/api.rs | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/server/src/api.rs b/server/src/api.rs index 38bab08..d983548 100644 --- a/server/src/api.rs +++ b/server/src/api.rs @@ -5,15 +5,15 @@ */ use super::ui::error::MyResult; use crate::helper::{accept::AcceptJson, language::AcceptLanguage, A}; -use jellycommon::{user::CreateSessionParams, NodeID, Visibility}; +use jellycommon::{user::CreateSessionParams, NodeID}; use jellyimport::asset_token::AssetInner; use jellylogic::{ login::login_logic, + node::get_nodes_modified_since, session::{AdminSession, Session}, - Database, }; use jellyui::locale::get_translation_table; -use rocket::{get, post, response::Redirect, serde::json::Json, Either, State}; +use rocket::{get, post, response::Redirect, serde::json::Json, Either}; use serde_json::{json, Value}; use std::collections::HashMap; @@ -49,12 +49,8 @@ pub fn r_translations( } #[post("/api/create_session", data = "<data>")] -pub fn r_api_account_login( - database: &State<Database>, - data: Json<CreateSessionParams>, -) -> MyResult<Value> { +pub fn r_api_account_login(data: Json<CreateSessionParams>) -> MyResult<Value> { let token = login_logic( - database, &data.username, &data.password, data.expire, @@ -69,17 +65,7 @@ pub fn r_api_asset_token_raw(_admin: A<AdminSession>, token: &str) -> MyResult<J } #[get("/nodes_modified?<since>")] -pub fn r_nodes_modified_since( - _session: A<Session>, - database: &State<Database>, - since: u64, -) -> MyResult<Json<Vec<NodeID>>> { - let mut nodes = database.get_nodes_modified_since(since)?; - nodes.retain(|id| { - database.get_node(*id).is_ok_and(|n| { - n.as_ref() - .is_some_and(|n| n.visibility >= Visibility::Reduced) - }) - }); +pub fn r_nodes_modified_since(session: A<Session>, since: u64) -> MyResult<Json<Vec<NodeID>>> { + let nodes = get_nodes_modified_since(&session.0, since)?; Ok(Json(nodes)) } |