From a98969ec3a73ba3bcbc7e353b118daab6451803e Mon Sep 17 00:00:00 2001 From: XShine555 Date: Sat, 21 Mar 2026 20:38:13 +0100 Subject: [PATCH] Refactor --- .../Handler/CreateTrackCommandHandler.cs | 72 +++++++++++-------- 1 file changed, 42 insertions(+), 30 deletions(-) diff --git a/Application/Tracks/Handler/CreateTrackCommandHandler.cs b/Application/Tracks/Handler/CreateTrackCommandHandler.cs index 9ab3158..a161797 100644 --- a/Application/Tracks/Handler/CreateTrackCommandHandler.cs +++ b/Application/Tracks/Handler/CreateTrackCommandHandler.cs @@ -2,6 +2,7 @@ using DispatchR.Abstractions.Send; using Microsoft.Extensions.Logging; using Musify.Application.Configuration; +using Musify.Application.Contracts.Application; using Musify.Application.Contracts.Infrastructure; using Musify.Application.Events; using Musify.Application.Tracks.Commands; @@ -34,44 +35,16 @@ namespace Musify.Application.Tracks.Handler LargePictureKeyName = trackConfiguration.Routes.PresetLargePicture, }; - var pictureUploadResult = await storageHandler.UploadFileAsync( - request.Picture.FileStream, - request.Picture.ContentType, - storageConfiguration.BucketName, - originalPictureKeyName, - cancellationToken); - + var pictureUploadResult = await UploadFile(request.Picture, originalPictureKeyName, cancellationToken); if (!pictureUploadResult.IsSuccess) { logger.LogError("Failed to upload picture for track {TrackTitle}", request.Title); return Result.Error($"Failed to upload picture for track {request.Title}"); } - var smallPictureKeyName = Path.Combine( - trackConfiguration.Routes.SmallPictures, - $"{track.Id}.{pictureHandler.FileExtension}"); - var mediumPictureKeyName = Path.Combine( - trackConfiguration.Routes.MediumPictures, - $"{track.Id}.{pictureHandler.FileExtension}"); - var largePictureKeyName = Path.Combine( - trackConfiguration.Routes.LargePictures, - $"{track.Id}.{pictureHandler.FileExtension}"); - try { - await eventBus.PublishAsync(new UpdatePlayListPictureEvent( - track.Id, - storageConfiguration.BucketName, - originalPictureKeyName, - smallPictureKeyName, - trackConfiguration.PicturesSizes.SmallPictureWidth, - trackConfiguration.PicturesSizes.SmallPictureHeight, - mediumPictureKeyName, - trackConfiguration.PicturesSizes.MediumPictureWidth, - trackConfiguration.PicturesSizes.MediumPictureHeight, - largePictureKeyName, - trackConfiguration.PicturesSizes.LargePictureWidth, - trackConfiguration.PicturesSizes.LargePictureHeight), cancellationToken); + await PublishUpdateEvent(originalPictureKeyName, track, cancellationToken); } catch (Exception exception) { @@ -84,5 +57,44 @@ namespace Musify.Application.Tracks.Handler return Result.Success(); } + + async Task> UploadFile(IFileData fileData, string originalPictureKeyName, CancellationToken cancellationToken) + { + var uploadFile = await storageHandler.UploadFileAsync( + fileData.FileStream, + fileData.ContentType, + storageConfiguration.BucketName, + originalPictureKeyName, + cancellationToken); + + return uploadFile; + } + + async Task PublishUpdateEvent(string originalPictureKeyName, Track track, CancellationToken cancellationToken) + { + var smallPictureKeyName = Path.Combine( + trackConfiguration.Routes.SmallPictures, + $"{track.Id}.{pictureHandler.FileExtension}"); + var mediumPictureKeyName = Path.Combine( + trackConfiguration.Routes.MediumPictures, + $"{track.Id}.{pictureHandler.FileExtension}"); + var largePictureKeyName = Path.Combine( + trackConfiguration.Routes.LargePictures, + $"{track.Id}.{pictureHandler.FileExtension}"); + + await eventBus.PublishAsync(new UpdatePlayListPictureEvent( + track.Id, + storageConfiguration.BucketName, + originalPictureKeyName, + smallPictureKeyName, + trackConfiguration.PicturesSizes.SmallPictureWidth, + trackConfiguration.PicturesSizes.SmallPictureHeight, + mediumPictureKeyName, + trackConfiguration.PicturesSizes.MediumPictureWidth, + trackConfiguration.PicturesSizes.MediumPictureHeight, + largePictureKeyName, + trackConfiguration.PicturesSizes.LargePictureWidth, + trackConfiguration.PicturesSizes.LargePictureHeight), cancellationToken); + } } }