diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-30 14:39:20 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-30 14:39:20 +0100 |
commit | 02bbb2741f2c463aadf9d07493ebaeac1d73c11a (patch) | |
tree | 07cfa4b5ba03bb992b745ff9339c69dc03fca9e9 /server/src/routes/ui/admin | |
parent | 570f24c99af8c9cd1b9050564c32adb85e2c9c0f (diff) | |
download | jellything-02bbb2741f2c463aadf9d07493ebaeac1d73c11a.tar jellything-02bbb2741f2c463aadf9d07493ebaeac1d73c11a.tar.bz2 jellything-02bbb2741f2c463aadf9d07493ebaeac1d73c11a.tar.zst |
import channel and children
Diffstat (limited to 'server/src/routes/ui/admin')
-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, |