diff options
author | metamuffin <metamuffin@disroot.org> | 2024-01-20 00:50:20 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-01-20 00:50:20 +0100 |
commit | 46c251655db7bb3d9aa814b1a5dde85336b0b9b1 (patch) | |
tree | ab0696f2c92e8854ce6aa0737877cc15184bd8b6 /server/src/routes/ui/assets.rs | |
parent | 1c37d32a0985ff7390313833345b9299f9f0b196 (diff) | |
download | jellything-46c251655db7bb3d9aa814b1a5dde85336b0b9b1.tar jellything-46c251655db7bb3d9aa814b1a5dde85336b0b9b1.tar.bz2 jellything-46c251655db7bb3d9aa814b1a5dde85336b0b9b1.tar.zst |
replace sled with redb
Diffstat (limited to 'server/src/routes/ui/assets.rs')
-rw-r--r-- | server/src/routes/ui/assets.rs | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/server/src/routes/ui/assets.rs b/server/src/routes/ui/assets.rs index ddbc2ee..b1a13da 100644 --- a/server/src/routes/ui/assets.rs +++ b/server/src/routes/ui/assets.rs @@ -4,12 +4,15 @@ Copyright (C) 2023 metamuffin <metamuffin.org> */ use crate::{ - database::Database, + database::DataAcid, routes::ui::{account::session::Session, error::MyResult, CacheControlFile}, }; use anyhow::{anyhow, Context}; use jellybase::{ - cache::async_cache_file, federation::Federation, permission::NodePermissionExt, + cache::async_cache_file, + database::{TableExt, T_NODE}, + federation::Federation, + permission::NodePermissionExt, AssetLocationExt, }; pub use jellycommon::AssetRole; @@ -22,14 +25,13 @@ use tokio::fs::File; #[get("/n/<id>/asset?<role>&<width>")] pub async fn r_item_assets( session: Session, - db: &State<Database>, + db: &State<DataAcid>, id: &str, role: AssetRole, width: Option<usize>, ) -> MyResult<(ContentType, CacheControlFile)> { - let node = db - .node - .get(&id.to_string())? + let node = T_NODE + .get(&db, id)? .only_if_permitted(&session.user.permissions) .ok_or(anyhow!("node does not exist"))?; let mut asset = match role { @@ -38,7 +40,9 @@ pub async fn r_item_assets( }; if let None = asset { if let Some(parent) = &node.public.path.last() { - let parent = db.node.get(parent)?.ok_or(anyhow!("node does not exist"))?; + let parent = T_NODE + .get(&db, parent.as_str())? + .ok_or(anyhow!("node does not exist"))?; asset = match role { AssetRole::Backdrop => parent.private.backdrop, AssetRole::Poster => parent.private.poster, @@ -55,15 +59,14 @@ pub async fn r_item_assets( #[get("/n/<id>/thumbnail?<t>&<width>")] pub async fn r_node_thumbnail( session: Session, - db: &State<Database>, + db: &State<DataAcid>, fed: &State<Federation>, id: &str, t: f64, width: Option<usize>, ) -> MyResult<(ContentType, CacheControlFile)> { - let node = db - .node - .get(&id.to_string())? + let node = T_NODE + .get(&db, id)? .only_if_permitted(&session.user.permissions) .ok_or(anyhow!("node does not exist"))?; |