diff options
Diffstat (limited to 'server/src/routes/ui/admin/mod.rs')
-rw-r--r-- | server/src/routes/ui/admin/mod.rs | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/server/src/routes/ui/admin/mod.rs b/server/src/routes/ui/admin/mod.rs index 5c2c48f..50faa2e 100644 --- a/server/src/routes/ui/admin/mod.rs +++ b/server/src/routes/ui/admin/mod.rs @@ -6,7 +6,10 @@ pub mod log; pub mod user; -use super::account::session::AdminSession; +use super::{ + account::session::AdminSession, + assets::{resolve_asset, AVIF_QUALITY, AVIF_SPEED}, +}; use crate::{ database::Database, routes::ui::{ @@ -17,7 +20,7 @@ use crate::{ uri, }; use anyhow::{anyhow, Context}; -use jellybase::{federation::Federation, CONF}; +use jellybase::{assetfed::AssetInner, federation::Federation, CONF}; use jellyimport::{import_wrap, is_importing, IMPORT_ERRORS}; use markup::DynRender; use rand::Rng; @@ -196,25 +199,22 @@ pub async fn r_admin_transcode_posters( let t = Instant::now(); - // TODO - // { - // let txn = database.begin_read()?; - // let nodes = txn.open_table(T_NODE)?; - // for node in nodes.iter()? { - // let (_, node) = node?; - // if let Some(poster) = &node.value().0.poster { - // let asset = AssetInner::deser(&poster.0)?; - // if asset.is_federated() { - // continue; - // } - // let source = resolve_asset(asset).await.context("resolving asset")?; - // jellytranscoder::image::transcode(source, AVIF_QUALITY, AVIF_SPEED, 1024) - // .await - // .context("transcoding asset")?; - // } - // } - // } - // drop(_permit); + { + let nodes = database.list_nodes_with_udata("")?; + for (node, _) in nodes { + if let Some(poster) = &node.poster { + let asset = AssetInner::deser(&poster.0)?; + if asset.is_federated() { + continue; + } + let source = resolve_asset(asset).await.context("resolving asset")?; + jellytranscoder::image::transcode(source, AVIF_QUALITY, AVIF_SPEED, 1024) + .await + .context("transcoding asset")?; + } + } + } + drop(_permit); admin_dashboard( database, |