feat(backend): auto-download YouTube tracks saved to playlists

This commit is contained in:
2026-07-16 01:06:04 +02:00
parent 2bd5ef729e
commit 24595a17d6
18 changed files with 672 additions and 1 deletions
@@ -0,0 +1,26 @@
using MassTransit;
using Musify.Application.Events;
using Musify.Infrastructure.MassTransit.RoutingSlip.Builders;
namespace Musify.Infrastructure.MassTransit.Consumers
{
public class DownloadYouTubeTrackConsumer(
IBus bus,
YouTubeTrackRoutingSlipBuilder routingSlipBuilder)
: IConsumer<DownloadYouTubeTrackEvent>
{
public async Task Consume(ConsumeContext<DownloadYouTubeTrackEvent> consumeContext)
{
var audioRoutingSlip = routingSlipBuilder
.BuildAudioWorkflow(consumeContext.Message, consumeContext.CorrelationId)
.Build();
var pictureRoutingSlip = routingSlipBuilder
.BuildPictureWorkflow(consumeContext.Message, consumeContext.CorrelationId)
.Build();
await bus.Execute(audioRoutingSlip);
await bus.Execute(pictureRoutingSlip);
}
}
}