refactor: rename ImageStorage → ObjectStorage
Some checks failed
CI / Check / Test (push) Failing after 46s

This commit is contained in:
2026-06-03 01:33:08 +02:00
parent d94ccbe057
commit f262417971
23 changed files with 79 additions and 79 deletions

View File

@@ -1,7 +1,7 @@
use std::sync::Arc;
use domain::ports::{
AuthService, DiaryExporter, DiaryRepository, DocumentParser, EventPublisher, ImageStorage,
AuthService, DiaryExporter, DiaryRepository, DocumentParser, EventPublisher, ObjectStorage,
ImportProfileRepository, ImportSessionRepository, MetadataClient, MovieProfileRepository,
MovieRepository, PasswordHasher, PersonCommand, PersonQuery, PosterFetcherClient,
RemoteWatchlistRepository, ReviewRepository, SearchCommand, SearchPort, SocialQueryPort,
@@ -42,7 +42,7 @@ pub struct Services {
pub password_hasher: Arc<dyn PasswordHasher>,
pub metadata: Arc<dyn MetadataClient>,
pub poster_fetcher: Arc<dyn PosterFetcherClient>,
pub image_storage: Arc<dyn ImageStorage>,
pub object_storage: Arc<dyn ObjectStorage>,
pub event_publisher: Arc<dyn EventPublisher>,
pub diary_exporter: Arc<dyn DiaryExporter>,
pub document_parser: Arc<dyn DocumentParser>,

View File

@@ -52,7 +52,7 @@ pub async fn execute(ctx: &AppContext, cmd: SyncPosterCommand) -> Result<(), Dom
let stored_path = ctx
.services
.image_storage
.object_storage
.store(&movie_id.value().to_string(), &image_bytes)
.await?;

View File

@@ -6,7 +6,7 @@ use domain::testing::{
};
use domain::{
ports::{
AuthService, DiaryExporter, DiaryRepository, DocumentParser, EventPublisher, ImageStorage,
AuthService, DiaryExporter, DiaryRepository, DocumentParser, EventPublisher, ObjectStorage,
ImportProfileRepository, ImportSessionRepository, MetadataClient, MovieProfileRepository,
MovieRepository, PasswordHasher, PersonCommand, PersonQuery, PosterFetcherClient,
ReviewRepository, SearchCommand, SearchPort, StatsRepository, UserProfileFieldsRepository,
@@ -16,7 +16,7 @@ use domain::{
testing::{
FakeAuthService, FakeMetadataClient, FakePasswordHasher, InMemoryMovieRepository,
InMemoryReviewRepository, InMemoryUserRepository, InMemoryWatchlistRepository,
NoopEventPublisher, NoopImageStorage, PanicDiaryExporter, PanicDiaryRepository,
NoopEventPublisher, NoopObjectStorage, PanicDiaryExporter, PanicDiaryRepository,
PanicDocumentParser, PanicImportProfileRepository, PanicImportSessionRepository,
PanicMovieProfileRepository, PanicPersonCommand, PanicPersonQuery, PanicPosterFetcher,
PanicProfileFieldsRepo, PanicSearchCommand, PanicSearchPort, PanicStatsRepository,
@@ -38,7 +38,7 @@ pub struct TestContextBuilder {
pub stats_repo: Arc<dyn StatsRepository>,
pub metadata_client: Arc<dyn MetadataClient>,
pub poster_fetcher: Arc<dyn PosterFetcherClient>,
pub image_storage: Arc<dyn ImageStorage>,
pub object_storage: Arc<dyn ObjectStorage>,
pub event_publisher: Arc<dyn EventPublisher>,
pub auth_service: Arc<dyn AuthService>,
pub password_hasher: Arc<dyn PasswordHasher>,
@@ -70,7 +70,7 @@ impl TestContextBuilder {
stats_repo: Arc::new(PanicStatsRepository),
metadata_client: Arc::new(FakeMetadataClient),
poster_fetcher: Arc::new(PanicPosterFetcher),
image_storage: Arc::new(NoopImageStorage),
object_storage: Arc::new(NoopObjectStorage),
event_publisher: NoopEventPublisher::new(),
auth_service: Arc::new(FakeAuthService),
password_hasher: Arc::new(FakePasswordHasher),
@@ -172,7 +172,7 @@ impl TestContextBuilder {
password_hasher: self.password_hasher,
metadata: self.metadata_client,
poster_fetcher: self.poster_fetcher,
image_storage: self.image_storage,
object_storage: self.object_storage,
event_publisher: self.event_publisher,
diary_exporter: self.diary_exporter,
document_parser: self.document_parser,

View File

@@ -21,10 +21,10 @@ pub async fn execute(ctx: &AppContext, cmd: UpdateProfileCommand) -> Result<(),
));
}
if let Some(old_path) = user.avatar_path() {
let _ = ctx.services.image_storage.delete(old_path).await;
let _ = ctx.services.object_storage.delete(old_path).await;
}
let key = format!("avatars/{}", user_id.value());
let stored = ctx.services.image_storage.store(&key, &bytes).await?;
let stored = ctx.services.object_storage.store(&key, &bytes).await?;
if let Err(e) = ctx
.services
.event_publisher
@@ -49,10 +49,10 @@ pub async fn execute(ctx: &AppContext, cmd: UpdateProfileCommand) -> Result<(),
));
}
if let Some(old_path) = user.banner_path() {
let _ = ctx.services.image_storage.delete(old_path).await;
let _ = ctx.services.object_storage.delete(old_path).await;
}
let key = format!("banners/{}", user_id.value());
let stored = ctx.services.image_storage.store(&key, &bytes).await?;
let stored = ctx.services.object_storage.store(&key, &bytes).await?;
if let Err(e) = ctx
.services
.event_publisher

View File

@@ -11,7 +11,7 @@ pub async fn execute(ctx: &AppContext, id: WrapUpId) -> Result<(), DomainError>
.await?
.ok_or_else(|| DomainError::NotFound("wrap-up not found".into()))?;
let storage = WrapUpStorage::new(ctx.services.image_storage.clone());
let storage = WrapUpStorage::new(ctx.services.object_storage.clone());
let _ = storage.delete_video(&id).await;
ctx.repos.wrapup_repo.delete(&id).await

View File

@@ -46,7 +46,7 @@ pub async fn execute(
.await?;
if let Some(ref renderer) = ctx.services.video_renderer {
let asset_storage = WrapUpStorage::new(ctx.services.image_storage.clone());
let asset_storage = WrapUpStorage::new(ctx.services.object_storage.clone());
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)

View File

@@ -1,14 +1,14 @@
use domain::errors::DomainError;
use domain::ports::ImageStorage;
use domain::ports::ObjectStorage;
use domain::value_objects::WrapUpId;
use std::sync::Arc;
pub struct WrapUpStorage {
inner: Arc<dyn ImageStorage>,
inner: Arc<dyn ObjectStorage>,
}
impl WrapUpStorage {
pub fn new(storage: Arc<dyn ImageStorage>) -> Self {
pub fn new(storage: Arc<dyn ObjectStorage>) -> Self {
Self { inner: storage }
}