feat: Refactor media service to remove extracted EXIF data handling and update job payload with thumbnail path

This commit is contained in:
2025-11-15 15:06:03 +01:00
parent f7f1547592
commit faed54cb08
5 changed files with 50 additions and 48 deletions

View File

@@ -9,8 +9,8 @@ use libertas_core::{
authz,
config::AppConfig,
error::{CoreError, CoreResult},
media_utils::{ExtractedExif, extract_exif_data_from_bytes, get_storage_path_and_date},
models::{Media, MediaBundle, MediaMetadata},
media_utils::{extract_exif_data_from_bytes, get_storage_path_and_date},
models::{Media, MediaBundle},
repositories::{MediaMetadataRepository, MediaRepository, UserRepository},
schema::{ListMediaOptions, UploadMediaData},
services::{AuthorizationService, MediaService},
@@ -81,7 +81,6 @@ impl MediaService for MediaServiceImpl {
storage_path_str,
hash,
file_size,
extracted_data,
)
.await?;
@@ -161,7 +160,8 @@ impl MediaService for MediaServiceImpl {
.update_storage_used(user.id, -file_size)
.await?;
let job_payload = json!({ "storage_path": media.storage_path });
let job_payload =
json!({ "storage_path": media.storage_path, "thumbnail_path": media.thumbnail_path });
self.nats_client
.publish("media.deleted".to_string(), job_payload.to_string().into())
.await
@@ -242,7 +242,6 @@ impl MediaServiceImpl {
storage_path: String,
hash: String,
file_size: i64,
extracted_data: ExtractedExif,
) -> CoreResult<Media> {
let media_model = Media {
id: Uuid::new_v4(),
@@ -257,21 +256,6 @@ impl MediaServiceImpl {
self.repo.create(&media_model).await?;
let mut metadata_models = Vec::new();
for (source, tag_name, tag_value) in extracted_data.all_tags {
metadata_models.push(MediaMetadata {
id: Uuid::new_v4(),
media_id: media_model.id,
source,
tag_name,
tag_value,
});
}
if !metadata_models.is_empty() {
self.metadata_repo.create_batch(&metadata_models).await?;
}
self.user_repo
.update_storage_used(owner_id, file_size)
.await?;