diff options
author | metamuffin <metamuffin@disroot.org> | 2025-04-30 10:47:54 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-04-30 10:47:54 +0200 |
commit | a2ef3f6ec4c830611fde1a2e935588ccbbc61c03 (patch) | |
tree | ddcc1cb501e6c7237edd491aa7136d02150d03d3 /server/src/ui/assets.rs | |
parent | 212a0f23bc894faf88e159560c113f504349cc05 (diff) | |
download | jellything-a2ef3f6ec4c830611fde1a2e935588ccbbc61c03.tar jellything-a2ef3f6ec4c830611fde1a2e935588ccbbc61c03.tar.bz2 jellything-a2ef3f6ec4c830611fde1a2e935588ccbbc61c03.tar.zst |
config works
Diffstat (limited to 'server/src/ui/assets.rs')
-rw-r--r-- | server/src/ui/assets.rs | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/server/src/ui/assets.rs b/server/src/ui/assets.rs index 3b9319e..596661a 100644 --- a/server/src/ui/assets.rs +++ b/server/src/ui/assets.rs @@ -4,11 +4,9 @@ Copyright (C) 2025 metamuffin <metamuffin.org> */ use super::error::MyResult; -use crate::helper::{cache::CacheControlFile, A}; +use crate::{helper::{cache::CacheControlFile, A}, CONF}; use anyhow::{anyhow, bail, Context}; -use base64::Engine; -use jellybase::{assetfed::AssetInner, database::Database, federation::Federation, CONF}; -use jellycache::async_cache_file; +use jellybase::{assetfed::AssetInner, database::Database}; use jellycommon::{LocalTrack, NodeID, PeopleGroup, SourceTrackKind, TrackSource}; use jellylogic::session::Session; use log::info; @@ -21,22 +19,23 @@ pub const AVIF_SPEED: u8 = 5; #[get("/asset/<token>?<width>")] pub async fn r_asset( _session: A<Session>, - fed: &State<Federation>, token: &str, width: Option<usize>, ) -> MyResult<(ContentType, CacheControlFile)> { let width = width.unwrap_or(2048); let asset = AssetInner::deser(token)?; - let path = if let AssetInner::Federated { host, asset } = asset { - let session = fed.get_session(&host).await?; + let path = + // if let AssetInner::Federated { host, asset } = asset { + // let session = fed.get_session(&host).await?; - let asset = base64::engine::general_purpose::URL_SAFE.encode(asset); - async_cache_file("fed-asset", &asset, |out| async { - session.asset(out, &asset, width).await - }) - .await? - } else { + // let asset = base64::engine::general_purpose::URL_SAFE.encode(asset); + // async_cache_file("fed-asset", &asset, |out| async { + // session.asset(out, &asset, width).await + // }) + // .await? + // } else + { let source = resolve_asset(asset).await.context("resolving asset")?; // fit the resolution into a finite set so the maximum cache is finite too. @@ -56,7 +55,7 @@ pub async fn resolve_asset(asset: AssetInner) -> anyhow::Result<PathBuf> { match asset { AssetInner::Cache(c) => Ok(c.abs()), AssetInner::Assets(c) => Ok(CONF.asset_path.join(c)), - AssetInner::Media(c) => Ok(CONF.media_path.join(c)), + AssetInner::Media(c) => Ok(c), _ => bail!("wrong asset type"), } } @@ -138,7 +137,6 @@ pub async fn r_person_asset( pub async fn r_node_thumbnail( _session: A<Session>, db: &State<Database>, - fed: &State<Federation>, id: A<NodeID>, t: f64, width: Option<usize>, @@ -146,7 +144,7 @@ pub async fn r_node_thumbnail( let node = db.get_node(id.0)?.ok_or(anyhow!("node does not exist"))?; let media = node.media.as_ref().ok_or(anyhow!("no media"))?; - let (thumb_track_index, thumb_track) = media + let (thumb_track_index, _thumb_track) = media .tracks .iter() .enumerate() @@ -171,23 +169,24 @@ pub async fn r_node_thumbnail( return Err(anyhow!("track set to wrong asset type").into()); }; // the track selected might be different from thumb_track - jellytranscoder::thumbnail::create_thumbnail(&CONF.media_path.join(path), t).await? + jellytranscoder::thumbnail::create_thumbnail(&path, t).await? } TrackSource::Remote(_) => { - // TODO in the new system this is preferrably a property of node ext for regular fed - let session = fed - .get_session( - thumb_track - .federated - .last() - .ok_or(anyhow!("federation broken"))?, - ) - .await?; + // // TODO in the new system this is preferrably a property of node ext for regular fed + // let session = fed + // .get_session( + // thumb_track + // .federated + // .last() + // .ok_or(anyhow!("federation broken"))?, + // ) + // .await?; - async_cache_file("fed-thumb", (id.0, t as i64), |out| { - session.node_thumbnail(out, id.0.into(), 2048, t) - }) - .await? + // async_cache_file("fed-thumb", (id.0, t as i64), |out| { + // session.node_thumbnail(out, id.0.into(), 2048, t) + // }) + // .await? + todo!() } }; |