From 3b15caade07e8fbe351fed9aceb3f435bf58368e Mon Sep 17 00:00:00 2001 From: metamuffin Date: Mon, 26 May 2025 18:24:16 +0200 Subject: move all direct database access to logic crate --- server/src/logic/stream.rs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'server/src/logic/stream.rs') diff --git a/server/src/logic/stream.rs b/server/src/logic/stream.rs index c21edaa..1e518e2 100644 --- a/server/src/logic/stream.rs +++ b/server/src/logic/stream.rs @@ -5,9 +5,9 @@ */ use crate::{helper::A, ui::error::MyError}; use anyhow::{anyhow, Result}; -use jellycommon::{stream::StreamSpec, TrackSource}; +use jellycommon::{api::NodeFilterSort, stream::StreamSpec, NodeID, TrackSource}; use jellyimport::asset_token::AssetInner; -use jellylogic::{session::Session, Database}; +use jellylogic::{node::get_node, session::Session}; use jellystream::SMediaInfo; use log::{info, warn}; use rocket::{ @@ -15,7 +15,7 @@ use rocket::{ http::{Header, Status}, request::{self, FromRequest}, response::{self, Redirect, Responder}, - Either, Request, Response, State, + Either, Request, Response, }; use std::{ collections::{BTreeMap, BTreeSet}, @@ -42,17 +42,21 @@ pub async fn r_stream_head( #[get("/n//stream?")] pub async fn r_stream( - _session: A, - db: &State, + session: A, id: &str, range: Option, spec: BTreeMap, ) -> Result, MyError> { let spec = StreamSpec::from_query_kv(&spec).map_err(|x| anyhow!("spec invalid: {x}"))?; // TODO perm - let node = db - .get_node_slug(id)? - .ok_or(anyhow!("node does not exist"))?; + let node = get_node( + &session.0, + NodeID::from_slug(id), + false, + false, + NodeFilterSort::default(), + )? + .node; let media = Arc::new( node.media -- cgit v1.2.3-70-g09d2