This commit is contained in:
2026-03-24 14:45:20 +01:00
parent 4f5230ddf6
commit 22a65b7efa
66 changed files with 1830 additions and 922 deletions
@@ -0,0 +1,50 @@
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.RoutingSlip.Builders
{
public class AudioWorkflowRoutingSlipBuilder(WorkerConfiguration workerConfiguration)
{
public RoutingSlipBuilder Build(TranscodeAudioFromTrackEvent message, Guid? correlationId)
{
var routingSlipBuilder = new RoutingSlipBuilder(NewId.NextGuid());
routingSlipBuilder.AddVariable(RoutingSlipVariableNames.Workflow.CorrelationId, correlationId ?? Guid.Empty);
routingSlipBuilder.AddActivity(
ActivityNames.GenerateAudioWorkflowPaths,
Consumers.MessagingHelper.BuildExecuteActivityUri(GenerateAudioWorkflowPathsActivity.ExecuteEndpointName),
new GenerateAudioWorkflowPathsArguments(
workerConfiguration.Routes.TemporaryFilesDirectory,
message.SourceKeyName));
routingSlipBuilder.AddActivity(
ActivityNames.DownloadFile,
Consumers.MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments(
message.SourceBucketName,
message.SourceKeyName,
RoutingSlipVariableNames.Audio.SourceFilePath));
routingSlipBuilder.AddActivity(
ActivityNames.TranscodeAudio,
Consumers.MessagingHelper.BuildExecuteActivityUri(TranscodeDashAudioActivity.ExecuteEndpointName),
new TranscodeDashAudioArguments(
RoutingSlipVariableNames.Audio.SourceFilePath,
RoutingSlipVariableNames.Workflow.TempDirectory));
routingSlipBuilder.AddActivity(
ActivityNames.UploadFiles,
Consumers.MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName),
new TransferFilesToBucketArguments(
message.DestinationBucketName,
RoutingSlipVariableNames.Audio.TranscodedDirectory,
message.DestinationKeyName));
return routingSlipBuilder;
}
}
}