Move fetch_actor_images to actors::helpers module

This commit is contained in:
silverpill 2023-01-07 12:07:53 +00:00
parent f35e8d806f
commit 6c850b0197
2 changed files with 33 additions and 33 deletions

View file

@ -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<String>,
default_banner: Option<String>,
) -> (Option<String>, Option<String>) {
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,

View file

@ -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<String>,
default_banner: Option<String>,
) -> (Option<String>, Option<String>) {
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,