From 6c850b019739a10ef1cddbda084e2aefa59e6a98 Mon Sep 17 00:00:00 2001 From: silverpill Date: Sat, 7 Jan 2023 12:07:53 +0000 Subject: [PATCH] Move fetch_actor_images to actors::helpers module --- src/activitypub/actors/helpers.rs | 34 ++++++++++++++++++++++++++++- src/activitypub/fetcher/fetchers.rs | 32 --------------------------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/activitypub/actors/helpers.rs b/src/activitypub/actors/helpers.rs index 9f9637b..2790858 100644 --- a/src/activitypub/actors/helpers.rs +++ b/src/activitypub/actors/helpers.rs @@ -4,7 +4,7 @@ use tokio_postgres::GenericClient; use crate::activitypub::{ actors::types::Actor, - fetcher::fetchers::fetch_actor_images, + fetcher::fetchers::fetch_file, receiver::HandlerError, }; use crate::config::Instance; @@ -13,6 +13,38 @@ use crate::models::profiles::{ types::{DbActorProfile, ProfileCreateData, ProfileUpdateData}, }; +async fn fetch_actor_images( + instance: &Instance, + actor: &Actor, + media_dir: &Path, + default_avatar: Option, + default_banner: Option, +) -> (Option, Option) { + let maybe_avatar = if let Some(icon) = &actor.icon { + match fetch_file(instance, &icon.url, media_dir).await { + Ok((file_name, _)) => Some(file_name), + Err(error) => { + log::warn!("failed to fetch avatar ({})", error); + default_avatar + }, + } + } else { + None + }; + let maybe_banner = if let Some(image) = &actor.image { + match fetch_file(instance, &image.url, media_dir).await { + Ok((file_name, _)) => Some(file_name), + Err(error) => { + log::warn!("failed to fetch banner ({})", error); + default_banner + }, + } + } else { + None + }; + (maybe_avatar, maybe_banner) +} + pub async fn create_remote_profile( db_client: &impl GenericClient, instance: &Instance, diff --git a/src/activitypub/fetcher/fetchers.rs b/src/activitypub/fetcher/fetchers.rs index e1c52db..5263a55 100644 --- a/src/activitypub/fetcher/fetchers.rs +++ b/src/activitypub/fetcher/fetchers.rs @@ -166,38 +166,6 @@ pub async fn fetch_actor( Ok(actor) } -pub async fn fetch_actor_images( - instance: &Instance, - actor: &Actor, - media_dir: &Path, - default_avatar: Option, - default_banner: Option, -) -> (Option, Option) { - let maybe_avatar = if let Some(icon) = &actor.icon { - match fetch_file(instance, &icon.url, media_dir).await { - Ok((file_name, _)) => Some(file_name), - Err(error) => { - log::warn!("failed to fetch avatar ({})", error); - default_avatar - }, - } - } else { - None - }; - let maybe_banner = if let Some(image) = &actor.image { - match fetch_file(instance, &image.url, media_dir).await { - Ok((file_name, _)) => Some(file_name), - Err(error) => { - log::warn!("failed to fetch banner ({})", error); - default_banner - }, - } - } else { - None - }; - (maybe_avatar, maybe_banner) -} - pub async fn fetch_object( instance: &Instance, object_url: &str,