aboutsummaryrefslogtreecommitdiff
path: root/server/src/api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/api.rs')
-rw-r--r--server/src/api.rs26
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))
}