Moves the six backend projects on disk into Core/ and Hosts/ subfolders, matching the solution folders already defined in Musify.slnx, so the file explorer reflects the same layout as the solution: backend/Core/Musify.Domain backend/Core/Musify.Application backend/Core/Musify.Infrastructure backend/Hosts/Musify.Api backend/Hosts/Musify.Worker backend/Hosts/Musify.StreamingGateway Updates every reference to the old paths: ProjectReference entries in Musify.Api.csproj and Musify.Worker.csproj, the three Dockerfiles, deploy/scripts/migrate.ps1|sh, deploy/zitadel/provision.ps1, deploy/up.ps1, deploy/README.md and docs/development.md. Also fixes a stale Dockerfile comment pointing at a compose file that no longer exists. Verified with `dotnet build Musify.slnx` against the new layout.
48 lines
1.7 KiB
C#
48 lines
1.7 KiB
C#
using MassTransit;
|
|
using MassTransit.Courier.Contracts;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace Musify.Infrastructure.MassTransit.Consumers
|
|
{
|
|
public class RoutingSlipCleanUpConsumer(
|
|
ILogger<RoutingSlipCleanUpConsumer> logger) :
|
|
IConsumer<RoutingSlipCompleted>,
|
|
IConsumer<RoutingSlipFaulted>
|
|
{
|
|
public const string QueueName = "routing-slip-clean-up";
|
|
|
|
public Task Consume(ConsumeContext<RoutingSlipCompleted> consumeContext)
|
|
=> DeleteFolder(consumeContext.Message.Variables);
|
|
|
|
public Task Consume(ConsumeContext<RoutingSlipFaulted> consumeContext)
|
|
=> DeleteFolder(consumeContext.Message.Variables);
|
|
|
|
Task DeleteFolder(IDictionary<string, object> variables)
|
|
{
|
|
if (!variables.TryGetValue(RoutingSlipVariableNames.Workflow.TemporalDirectory, out var pathObject))
|
|
return Task.CompletedTask;
|
|
|
|
var pathString = pathObject.ToString();
|
|
|
|
if (string.IsNullOrEmpty(pathString))
|
|
return Task.CompletedTask;
|
|
|
|
try
|
|
{
|
|
Directory.Delete(pathString, recursive: true);
|
|
logger.LogInformation("Deleted temporal directory at path {Path}", pathString);
|
|
}
|
|
catch (DirectoryNotFoundException directoryNotFoundException)
|
|
{
|
|
logger.LogWarning(directoryNotFoundException, "Temporal directory at path {Path} was not found for deletion", pathString);
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
logger.LogError(exception, "Failed to delete temporal directory at path {Path}", pathString);
|
|
throw;
|
|
}
|
|
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|
|
} |