@@ -1,13 +1,13 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use domain::ports::{
|
||||
AuthService, DiaryExporter, DiaryRepository, DocumentParser, EventPublisher, ObjectStorage,
|
||||
AuthService, DiaryExporter, DiaryRepository, DocumentParser, EventPublisher,
|
||||
ImportProfileRepository, ImportSessionRepository, MetadataClient, MovieProfileRepository,
|
||||
MovieRepository, PasswordHasher, PersonCommand, PersonQuery, PosterFetcherClient,
|
||||
RemoteWatchlistRepository, ReviewRepository, SearchCommand, SearchPort, SocialQueryPort,
|
||||
StatsRepository, UserProfileFieldsRepository, UserRepository, WatchEventRepository,
|
||||
WatchlistRepository, WebhookTokenRepository, WrapUpRepository, WrapUpStatsQuery,
|
||||
WrapUpVideoRenderer,
|
||||
MovieRepository, ObjectStorage, PasswordHasher, PersonCommand, PersonQuery,
|
||||
PosterFetcherClient, RemoteWatchlistRepository, ReviewRepository, SearchCommand, SearchPort,
|
||||
SocialQueryPort, StatsRepository, UserProfileFieldsRepository, UserRepository,
|
||||
WatchEventRepository, WatchlistRepository, WebhookTokenRepository, WrapUpRepository,
|
||||
WrapUpStatsQuery, WrapUpVideoRenderer,
|
||||
};
|
||||
|
||||
use crate::config::AppConfig;
|
||||
|
||||
@@ -6,12 +6,12 @@ use domain::testing::{
|
||||
};
|
||||
use domain::{
|
||||
ports::{
|
||||
AuthService, DiaryExporter, DiaryRepository, DocumentParser, EventPublisher, ObjectStorage,
|
||||
AuthService, DiaryExporter, DiaryRepository, DocumentParser, EventPublisher,
|
||||
ImportProfileRepository, ImportSessionRepository, MetadataClient, MovieProfileRepository,
|
||||
MovieRepository, PasswordHasher, PersonCommand, PersonQuery, PosterFetcherClient,
|
||||
ReviewRepository, SearchCommand, SearchPort, StatsRepository, UserProfileFieldsRepository,
|
||||
UserRepository, WatchEventRepository, WatchlistRepository, WebhookTokenRepository,
|
||||
WrapUpRepository, WrapUpStatsQuery,
|
||||
MovieRepository, ObjectStorage, PasswordHasher, PersonCommand, PersonQuery,
|
||||
PosterFetcherClient, ReviewRepository, SearchCommand, SearchPort, StatsRepository,
|
||||
UserProfileFieldsRepository, UserRepository, WatchEventRepository, WatchlistRepository,
|
||||
WebhookTokenRepository, WrapUpRepository, WrapUpStatsQuery,
|
||||
},
|
||||
testing::{
|
||||
FakeAuthService, FakeMetadataClient, FakePasswordHasher, InMemoryMovieRepository,
|
||||
|
||||
@@ -47,7 +47,9 @@ pub async fn execute(
|
||||
|
||||
if let Some(ref renderer) = ctx.services.video_renderer {
|
||||
let asset_storage = WrapUpStorage::new(ctx.services.object_storage.clone());
|
||||
let poster_images = asset_storage.resolve_poster_images(&report.poster_paths).await;
|
||||
let poster_images = asset_storage
|
||||
.resolve_poster_images(&report.poster_paths)
|
||||
.await;
|
||||
let cast_images = asset_storage
|
||||
.resolve_cast_images(&report.top_cast_profile_paths)
|
||||
.await;
|
||||
|
||||
@@ -27,10 +27,7 @@ impl WrapUpStorage {
|
||||
format!("cast{profile_path}")
|
||||
}
|
||||
|
||||
pub async fn resolve_cast_images(
|
||||
&self,
|
||||
profile_paths: &[String],
|
||||
) -> Vec<(String, Vec<u8>)> {
|
||||
pub async fn resolve_cast_images(&self, profile_paths: &[String]) -> Vec<(String, Vec<u8>)> {
|
||||
let mut images = Vec::new();
|
||||
for path in profile_paths.iter().take(20) {
|
||||
let key = Self::cast_image_key(path);
|
||||
@@ -39,14 +36,15 @@ impl WrapUpStorage {
|
||||
Err(e) => tracing::debug!("cast fetch skipped for {key}: {e}"),
|
||||
}
|
||||
}
|
||||
tracing::info!("resolved {}/{} cast images", images.len(), profile_paths.len());
|
||||
tracing::info!(
|
||||
"resolved {}/{} cast images",
|
||||
images.len(),
|
||||
profile_paths.len()
|
||||
);
|
||||
images
|
||||
}
|
||||
|
||||
pub async fn resolve_poster_images(
|
||||
&self,
|
||||
paths: &[String],
|
||||
) -> Vec<(String, Vec<u8>)> {
|
||||
pub async fn resolve_poster_images(&self, paths: &[String]) -> Vec<(String, Vec<u8>)> {
|
||||
let mut images = Vec::new();
|
||||
for path in paths.iter().take(20) {
|
||||
match self.inner.get(path).await {
|
||||
|
||||
Reference in New Issue
Block a user