Changes but failing

This commit is contained in:
2026-03-23 03:13:08 +01:00
parent 27ec670e3a
commit 4ec4b50c40
16 changed files with 362 additions and 160 deletions
@@ -1,18 +1,31 @@
using MassTransit;
using Musify.Application.Events;
using Musify.Infrastructure.Configuration;
using Musify.Infrastructure.Messaging.Activities;
using Musify.Infrastructure.Messaging.Activities.Arguments;
namespace Musify.Infrastructure.Messaging.Consumers
{
public class UpdateTrackPictureConsumer(IBus bus)
public class UpdateTrackPictureConsumer(
IBus bus,
AudioTranscoderConfiguration audioTranscoderConfiguration)
: IConsumer<UpdateTrackPictureEvent>
{
public const string QueueName = "update-track-picture";
public const string QueueName = "Update-Track-Picture";
public async Task Consume(ConsumeContext<UpdateTrackPictureEvent> consumeContext)
{
var routingSlipBuilder = new RoutingSlipBuilder(NewId.NextGuid());
var folderName = Guid.NewGuid().ToString();
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(
routingSlipBuilder,
@@ -20,38 +33,41 @@ namespace Musify.Infrastructure.Messaging.Consumers
consumeContext.Message.SmallPictureKeyName,
consumeContext.Message.SmallPictureWidth,
consumeContext.Message.SmallPictureHeight,
consumeContext.Message.OriginalPictureKeyName,
consumeContext.Message.BucketName);
consumeContext.Message.SourceKeyName,
consumeContext.Message.SourceBucketName,
workingDirectory);
AddResizeActivity(
routingSlipBuilder,
"ResizeMedium",
consumeContext.Message.SmallPictureKeyName,
consumeContext.Message.MediumPictureKeyName,
consumeContext.Message.MediumPictureWidth,
consumeContext.Message.MediumPictureHeight,
consumeContext.Message.OriginalPictureKeyName,
consumeContext.Message.BucketName);
consumeContext.Message.SourceKeyName,
consumeContext.Message.SourceBucketName,
workingDirectory);
AddResizeActivity(
routingSlipBuilder,
"ResizeMedium",
consumeContext.Message.SmallPictureKeyName,
"ResizeLarge",
consumeContext.Message.LargePictureKeyName,
consumeContext.Message.LargePictureWidth,
consumeContext.Message.LargePictureHeight,
consumeContext.Message.OriginalPictureKeyName,
consumeContext.Message.BucketName);
consumeContext.Message.SourceKeyName,
consumeContext.Message.SourceBucketName,
workingDirectory);
routingSlipBuilder.AddActivity(
"DeleteOriginal",
BuildExecuteUri(RemoveFileFromBucketActivity.ExecuteEndpointName),
new RemoveFileFromBucketArguments(
consumeContext.Message.BucketName,
consumeContext.Message.OriginalPictureKeyName)
);
"UploadFiles",
MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName),
new TransferFilesToBucketArguments(
workingDirectory,
consumeContext.Message.SourceBucketName,
folderName));
routingSlipBuilder.AddActivity(
"UpdateTrackPictureActivity",
BuildExecuteUri(UpdateTrackPictureActivity.ExecuteEndpointName),
"UpdateTrackPicture",
MessagingHelper.BuildExecuteActivityUri(UpdateTrackPictureActivity.ExecuteEndpointName),
new UpdateTrackPictureArguments(
consumeContext.Message.TrackId,
consumeContext.Message.SmallPictureKeyName,
@@ -69,20 +85,32 @@ namespace Musify.Infrastructure.Messaging.Consumers
int width,
int height,
string originalPictureKeyName,
string bucketName)
string bucketName,
string workingDirectory)
{
var fileName = Path.GetFileName(originalPictureKeyName);
var sourceFilePath = Path.Combine(workingDirectory, fileName);
var destinationFileName = Path.GetFileNameWithoutExtension(destinationKeyName) + Path.GetExtension(fileName);
var destinationFilePath = Path.Combine(workingDirectory, destinationFileName);
// First: Download original file
routingSlipBuilder.AddActivity(
activityName,
BuildExecuteUri(ResizePictureActivity.ExecuteEndpointName),
new ResizePictureArgument(
$"{activityName}_Download",
MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments(
bucketName,
originalPictureKeyName,
bucketName,
destinationKeyName,
workingDirectory));
// Second: Resize picture
routingSlipBuilder.AddActivity(
activityName,
MessagingHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName),
new ResizePictureLocalArguments(
sourceFilePath,
destinationFilePath,
width,
height));
}
static Uri BuildExecuteUri(string endpointName) => new($"queue:{endpointName}_execute");
}
}