This commit is contained in:
2026-03-24 19:32:43 +01:00
parent 22a65b7efa
commit 01093abced
8 changed files with 19 additions and 40 deletions
@@ -49,7 +49,7 @@ namespace Musify.Infrastructure.Messaging.Activities
[RoutingSlipVariableNames.Audio.WorkingDirectory] = workingDirectory, [RoutingSlipVariableNames.Audio.WorkingDirectory] = workingDirectory,
[RoutingSlipVariableNames.Audio.SourceFilePath] = sourceFilePath, [RoutingSlipVariableNames.Audio.SourceFilePath] = sourceFilePath,
[RoutingSlipVariableNames.Audio.TranscodedDirectory] = workingDirectory [RoutingSlipVariableNames.Audio.TranscodedDirectory] = workingDirectory
}); } );
} }
catch (Exception exception) catch (Exception exception)
{ {
@@ -35,9 +35,7 @@ namespace Musify.Infrastructure.Messaging.Activities
var workingDirectory = executeContext.GetVariable<string>(executeContext.Arguments.WorkingDirectoryVariableName); var workingDirectory = executeContext.GetVariable<string>(executeContext.Arguments.WorkingDirectoryVariableName);
if (string.IsNullOrWhiteSpace(sourceFilePath) || string.IsNullOrWhiteSpace(workingDirectory)) if (string.IsNullOrWhiteSpace(sourceFilePath) || string.IsNullOrWhiteSpace(workingDirectory))
{
throw new InvalidOperationException("Transcode activity requires source file path and working directory variables."); throw new InvalidOperationException("Transcode activity requires source file path and working directory variables.");
}
try try
{ {
@@ -72,11 +70,7 @@ namespace Musify.Infrastructure.Messaging.Activities
{ {
try try
{ {
if (Directory.Exists(compensateContext.Log.WorkingDirectory)) Directory.Delete(compensateContext.Log.WorkingDirectory, recursive: true);
{
Directory.Delete(compensateContext.Log.WorkingDirectory, true);
}
return Task.FromResult(compensateContext.Compensated()); return Task.FromResult(compensateContext.Compensated());
} }
catch (Exception exception) catch (Exception exception)
@@ -57,9 +57,7 @@ namespace Musify.Infrastructure.Messaging.Activities
var destinationDirectory = Path.GetDirectoryName(destinationPath); var destinationDirectory = Path.GetDirectoryName(destinationPath);
if (!string.IsNullOrWhiteSpace(destinationDirectory)) if (!string.IsNullOrWhiteSpace(destinationDirectory))
{
Directory.CreateDirectory(destinationDirectory); Directory.CreateDirectory(destinationDirectory);
}
using var fileStream = getFile.Value; using var fileStream = getFile.Value;
if (fileStream.CanSeek) if (fileStream.CanSeek)
@@ -83,11 +81,7 @@ namespace Musify.Infrastructure.Messaging.Activities
{ {
try try
{ {
if (File.Exists(compensateContext.Log.DestinationFilePath)) File.Delete(compensateContext.Log.DestinationFilePath);
{
File.Delete(compensateContext.Log.DestinationFilePath);
}
return Task.FromResult(compensateContext.Compensated()); return Task.FromResult(compensateContext.Compensated());
} }
catch (Exception exception) catch (Exception exception)
@@ -33,21 +33,15 @@ namespace Musify.Infrastructure.Messaging.Activities
var folderPath = executeContext.GetVariable<string>(executeContext.Arguments.SourceDirectoryVariableName); var folderPath = executeContext.GetVariable<string>(executeContext.Arguments.SourceDirectoryVariableName);
if (string.IsNullOrWhiteSpace(folderPath)) if (string.IsNullOrWhiteSpace(folderPath))
{
throw new InvalidOperationException( throw new InvalidOperationException(
$"Transfer activity requires variable '{executeContext.Arguments.SourceDirectoryVariableName}' with source directory path."); $"Transfer activity requires variable '{executeContext.Arguments.SourceDirectoryVariableName}' with source directory path.");
}
var destinationKeyName = executeContext.Arguments.DestinationKeyName; var destinationKeyName = executeContext.Arguments.DestinationKeyName;
if (string.IsNullOrWhiteSpace(destinationKeyName) && !string.IsNullOrWhiteSpace(executeContext.Arguments.DestinationKeyNameVariableName)) if (string.IsNullOrWhiteSpace(destinationKeyName) && !string.IsNullOrWhiteSpace(executeContext.Arguments.DestinationKeyNameVariableName))
{
destinationKeyName = executeContext.GetVariable<string>(executeContext.Arguments.DestinationKeyNameVariableName); destinationKeyName = executeContext.GetVariable<string>(executeContext.Arguments.DestinationKeyNameVariableName);
}
if (string.IsNullOrWhiteSpace(destinationKeyName)) if (string.IsNullOrWhiteSpace(destinationKeyName))
{
throw new InvalidOperationException("Transfer activity requires a destination key name from arguments or variables."); throw new InvalidOperationException("Transfer activity requires a destination key name from arguments or variables.");
}
try try
{ {
@@ -35,9 +35,7 @@ namespace Musify.Infrastructure.Messaging.Activities
var destinationFilePath = executeContext.GetVariable<string>(executeContext.Arguments.DestinationFilePathVariableName); var destinationFilePath = executeContext.GetVariable<string>(executeContext.Arguments.DestinationFilePathVariableName);
if (string.IsNullOrWhiteSpace(sourceFilePath) || string.IsNullOrWhiteSpace(destinationFilePath)) if (string.IsNullOrWhiteSpace(sourceFilePath) || string.IsNullOrWhiteSpace(destinationFilePath))
{
throw new InvalidOperationException("Resize activity requires source and destination file path variables."); throw new InvalidOperationException("Resize activity requires source and destination file path variables.");
}
try try
{ {
@@ -96,11 +94,7 @@ namespace Musify.Infrastructure.Messaging.Activities
{ {
try try
{ {
if (File.Exists(compensateContext.Log.DestinationFilePath)) File.Delete(compensateContext.Log.DestinationFilePath);
{
File.Delete(compensateContext.Log.DestinationFilePath);
}
return Task.FromResult(compensateContext.Compensated()); return Task.FromResult(compensateContext.Compensated());
} }
catch (Exception exception) catch (Exception exception)
@@ -3,6 +3,7 @@ using Musify.Application.Events;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using Musify.Infrastructure.Messaging.Activities; using Musify.Infrastructure.Messaging.Activities;
using Musify.Infrastructure.Messaging.Activities.Arguments; using Musify.Infrastructure.Messaging.Activities.Arguments;
using Musify.Infrastructure.Messaging.Consumers;
namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
{ {
@@ -16,14 +17,14 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.GenerateAudioWorkflowPaths, ActivityNames.GenerateAudioWorkflowPaths,
Consumers.MessagingHelper.BuildExecuteActivityUri(GenerateAudioWorkflowPathsActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(GenerateAudioWorkflowPathsActivity.ExecuteEndpointName),
new GenerateAudioWorkflowPathsArguments( new GenerateAudioWorkflowPathsArguments(
workerConfiguration.Routes.TemporaryFilesDirectory, workerConfiguration.Routes.TemporaryFilesDirectory,
message.SourceKeyName)); message.SourceKeyName));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.DownloadFile, ActivityNames.DownloadFile,
Consumers.MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments( new DownloadFileFromBucketArguments(
message.SourceBucketName, message.SourceBucketName,
message.SourceKeyName, message.SourceKeyName,
@@ -31,14 +32,14 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.TranscodeAudio, ActivityNames.TranscodeAudio,
Consumers.MessagingHelper.BuildExecuteActivityUri(TranscodeDashAudioActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(TranscodeDashAudioActivity.ExecuteEndpointName),
new TranscodeDashAudioArguments( new TranscodeDashAudioArguments(
RoutingSlipVariableNames.Audio.SourceFilePath, RoutingSlipVariableNames.Audio.SourceFilePath,
RoutingSlipVariableNames.Workflow.TempDirectory)); RoutingSlipVariableNames.Workflow.TempDirectory));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UploadFiles, ActivityNames.UploadFiles,
Consumers.MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName),
new TransferFilesToBucketArguments( new TransferFilesToBucketArguments(
message.DestinationBucketName, message.DestinationBucketName,
RoutingSlipVariableNames.Audio.TranscodedDirectory, RoutingSlipVariableNames.Audio.TranscodedDirectory,
@@ -3,6 +3,7 @@ using Musify.Application.Events;
using Musify.Infrastructure.Configuration; using Musify.Infrastructure.Configuration;
using Musify.Infrastructure.Messaging.Activities; using Musify.Infrastructure.Messaging.Activities;
using Musify.Infrastructure.Messaging.Activities.Arguments; using Musify.Infrastructure.Messaging.Activities.Arguments;
using Musify.Infrastructure.Messaging.Consumers;
namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
{ {
@@ -26,7 +27,7 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UpdateTrackPicture, ActivityNames.UpdateTrackPicture,
Consumers.MessagingHelper.BuildExecuteActivityUri(UpdateTrackPictureActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(UpdateTrackPictureActivity.ExecuteEndpointName),
new UpdateTrackPictureArguments( new UpdateTrackPictureArguments(
message.TrackId, message.TrackId,
message.SourceKeyName, message.SourceKeyName,
@@ -55,7 +56,7 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UpdatePlayListPicture, ActivityNames.UpdatePlayListPicture,
Consumers.MessagingHelper.BuildExecuteActivityUri(UpdatePlayListPictureActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(UpdatePlayListPictureActivity.ExecuteEndpointName),
new UpdatePlayListPictureArguments( new UpdatePlayListPictureArguments(
message.PlayListId, message.PlayListId,
message.SourceKeyName, message.SourceKeyName,
@@ -86,7 +87,7 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.GeneratePictureWorkflowPaths, ActivityNames.GeneratePictureWorkflowPaths,
Consumers.MessagingHelper.BuildExecuteActivityUri(GeneratePictureWorkflowPathsActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(GeneratePictureWorkflowPathsActivity.ExecuteEndpointName),
new GeneratePictureWorkflowPathsArguments( new GeneratePictureWorkflowPathsArguments(
workerConfiguration.Routes.TemporaryFilesDirectory, workerConfiguration.Routes.TemporaryFilesDirectory,
sourceKeyName, sourceKeyName,
@@ -96,7 +97,7 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.DownloadFile, ActivityNames.DownloadFile,
Consumers.MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(DownloadFileFromBucketActivity.ExecuteEndpointName),
new DownloadFileFromBucketArguments( new DownloadFileFromBucketArguments(
sourceBucketName, sourceBucketName,
sourceKeyName, sourceKeyName,
@@ -125,12 +126,12 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.DeleteOriginal, ActivityNames.DeleteOriginal,
Consumers.MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName),
new RemoveFileFromBucketArguments(sourceBucketName, sourceKeyName)); new RemoveFileFromBucketArguments(sourceBucketName, sourceKeyName));
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.UploadFiles, ActivityNames.UploadFiles,
Consumers.MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(TransferFilesToBucket.ExecuteEndpointName),
new TransferFilesToBucketArguments( new TransferFilesToBucketArguments(
sourceBucketName, sourceBucketName,
RoutingSlipVariableNames.Workflow.TempDirectory, RoutingSlipVariableNames.Workflow.TempDirectory,
@@ -148,7 +149,7 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
{ {
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
activityName, activityName,
Consumers.MessagingHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(ResizePictureActivity.ExecuteEndpointName),
new ResizePictureLocalArguments( new ResizePictureLocalArguments(
RoutingSlipVariableNames.Picture.OriginalFilePath, RoutingSlipVariableNames.Picture.OriginalFilePath,
destinationFilePathVariableName, destinationFilePathVariableName,
@@ -1,6 +1,7 @@
using MassTransit; using MassTransit;
using Musify.Application.Events; using Musify.Application.Events;
using Musify.Infrastructure.Messaging.Activities; using Musify.Infrastructure.Messaging.Activities;
using Musify.Infrastructure.Messaging.Consumers;
namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
{ {
@@ -14,7 +15,7 @@ namespace Musify.Infrastructure.Messaging.RoutingSlip.Builders
routingSlipBuilder.AddActivity( routingSlipBuilder.AddActivity(
ActivityNames.RemoveFile, ActivityNames.RemoveFile,
Consumers.MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName), MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName),
new Activities.Arguments.RemoveFileFromBucketArguments( new Activities.Arguments.RemoveFileFromBucketArguments(
message.BucketName, message.BucketName,
message.KeyName)); message.KeyName));