feat: Refactor media service to remove extracted EXIF data handling and update job payload with thumbnail path
This commit is contained in:
@@ -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?;
|
||||
|
||||
Reference in New Issue
Block a user