add thumbnail dimension structure

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2024-08-27 01:15:31 +00:00
parent 7b0e830f4c
commit 4d42a29c51
7 changed files with 155 additions and 114 deletions

View file

@ -14,7 +14,7 @@ use ruma::{
},
Mxc,
};
use service::media::{FileMeta, MXC_LENGTH};
use service::media::{Dim, FileMeta, MXC_LENGTH};
use crate::{Ruma, RumaResponse};
@ -326,22 +326,12 @@ pub(crate) async fn get_content_thumbnail_route(
media_id: &body.media_id,
};
let dim = Dim::from_ruma(body.width, body.height, body.method.clone())?;
if let Some(FileMeta {
content,
content_type,
content_disposition,
}) = services
.media
.get_thumbnail(
&mxc,
body.width
.try_into()
.map_err(|e| err!(Request(InvalidParam("Width is invalid: {e:?}"))))?,
body.height
.try_into()
.map_err(|e| err!(Request(InvalidParam("Height is invalid: {e:?}"))))?,
)
.await?
}) = services.media.get_thumbnail(&mxc, &dim).await?
{
let content_disposition = make_content_disposition(content_disposition.as_ref(), content_type.as_deref(), None);