Download once

This commit is contained in:
2026-03-23 09:48:15 +01:00
parent 54d2f946c8
commit 1c62339879
3 changed files with 26 additions and 29 deletions
@@ -2,8 +2,8 @@
{ {
public record UpdatePlayListPictureEvent( public record UpdatePlayListPictureEvent(
Guid PlayListId, Guid PlayListId,
string BucketName, string SourceBucketName,
string OriginalPictureKeyName, string SourceKeyName,
string SmallPictureKeyName, string SmallPictureKeyName,
int SmallPictureWidth, int SmallPictureWidth,
int SmallPictureHeight, int SmallPictureHeight,
@@ -19,14 +19,22 @@ namespace Musify.Infrastructure.Messaging.Consumers
var folderName = Guid.NewGuid().ToString(); var folderName = Guid.NewGuid().ToString();
var workingDirectory = Path.Combine(audioTranscoderConfiguration.Routes.WorkingDirectory, folderName); var workingDirectory = Path.Combine(audioTranscoderConfiguration.Routes.WorkingDirectory, folderName);
routingSlipBuilder.AddActivity(
"DownloadFile",
MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments(
consumeContext.Message.SourceBucketName,
consumeContext.Message.SourceKeyName,
workingDirectory));
AddResizeActivity( AddResizeActivity(
routingSlipBuilder, routingSlipBuilder,
"ResizeSmall", "ResizeSmall",
consumeContext.Message.SmallPictureKeyName, consumeContext.Message.SmallPictureKeyName,
consumeContext.Message.SmallPictureWidth, consumeContext.Message.SmallPictureWidth,
consumeContext.Message.SmallPictureHeight, consumeContext.Message.SmallPictureHeight,
consumeContext.Message.OriginalPictureKeyName, consumeContext.Message.SourceKeyName,
consumeContext.Message.BucketName, consumeContext.Message.SourceBucketName,
workingDirectory); workingDirectory);
AddResizeActivity( AddResizeActivity(
@@ -35,8 +43,8 @@ namespace Musify.Infrastructure.Messaging.Consumers
consumeContext.Message.MediumPictureKeyName, consumeContext.Message.MediumPictureKeyName,
consumeContext.Message.MediumPictureWidth, consumeContext.Message.MediumPictureWidth,
consumeContext.Message.MediumPictureHeight, consumeContext.Message.MediumPictureHeight,
consumeContext.Message.OriginalPictureKeyName, consumeContext.Message.SourceKeyName,
consumeContext.Message.BucketName, consumeContext.Message.SourceBucketName,
workingDirectory); workingDirectory);
AddResizeActivity( AddResizeActivity(
@@ -45,23 +53,23 @@ namespace Musify.Infrastructure.Messaging.Consumers
consumeContext.Message.LargePictureKeyName, consumeContext.Message.LargePictureKeyName,
consumeContext.Message.LargePictureWidth, consumeContext.Message.LargePictureWidth,
consumeContext.Message.LargePictureHeight, consumeContext.Message.LargePictureHeight,
consumeContext.Message.OriginalPictureKeyName, consumeContext.Message.SourceKeyName,
consumeContext.Message.BucketName, consumeContext.Message.SourceBucketName,
workingDirectory); workingDirectory);
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
"DeleteOriginal", "DeleteOriginal",
MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName),
new RemoveFileFromBucketArguments( new RemoveFileFromBucketArguments(
consumeContext.Message.BucketName, consumeContext.Message.SourceBucketName,
consumeContext.Message.OriginalPictureKeyName)); consumeContext.Message.SourceKeyName));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
"UploadFiles", "UploadFiles",
MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName),
new TransferFilesToBucketArguments( new TransferFilesToBucketArguments(
workingDirectory, workingDirectory,
consumeContext.Message.BucketName, consumeContext.Message.SourceBucketName,
folderName)); folderName));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
@@ -92,14 +100,6 @@ namespace Musify.Infrastructure.Messaging.Consumers
var destinationFileName = Path.GetFileNameWithoutExtension(destinationKeyName) + Path.GetExtension(fileName); var destinationFileName = Path.GetFileNameWithoutExtension(destinationKeyName) + Path.GetExtension(fileName);
var destinationFilePath = Path.Combine(workingDirectory, destinationFileName); var destinationFilePath = Path.Combine(workingDirectory, destinationFileName);
routingSlipBuilder.AddActivity(
$"{activityName}_Download",
MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments(
bucketName,
originalPictureKeyName,
workingDirectory));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
activityName, activityName,
MessagingHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName),
@@ -57,6 +57,13 @@ namespace Musify.Infrastructure.Messaging.Consumers
consumeContext.Message.SourceBucketName, consumeContext.Message.SourceBucketName,
workingDirectory); workingDirectory);
routingSlipBuilder.AddActivity(
"DeleteOriginal",
MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName),
new RemoveFileFromBucketArguments(
consumeContext.Message.SourceBucketName,
consumeContext.Message.SourceKeyName));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
"UploadFiles", "UploadFiles",
MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName),
@@ -93,16 +100,6 @@ namespace Musify.Infrastructure.Messaging.Consumers
var destinationFileName = Path.GetFileNameWithoutExtension(destinationKeyName) + Path.GetExtension(fileName); var destinationFileName = Path.GetFileNameWithoutExtension(destinationKeyName) + Path.GetExtension(fileName);
var destinationFilePath = Path.Combine(workingDirectory, destinationFileName); var destinationFilePath = Path.Combine(workingDirectory, destinationFileName);
// First: Download original file
routingSlipBuilder.AddActivity(
$"{activityName}_Download",
MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments(
bucketName,
originalPictureKeyName,
workingDirectory));
// Second: Resize picture
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
activityName, activityName,
MessagingHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName),