using MassTransit; using Musify.Application.Events; using Musify.Infrastructure.Messaging.Activities; using Musify.Infrastructure.Messaging.Activities.Arguments; namespace Musify.Infrastructure.Messaging.Consumers { public class RemoveFileConsumer(IBus bus) : IConsumer { public const string QueueName = "Remove-File"; public async Task Consume(ConsumeContext consumeContext) { var routingSlipBuilder = new RoutingSlipBuilder(NewId.NextGuid()); routingSlipBuilder.AddActivity( "RemoveFile", MessagingHelper.BuildExecuteActivityUri(RemoveFileFromBucketActivity.ExecuteEndpointName), new RemoveFileFromBucketArguments( consumeContext.Message.BucketName, consumeContext.Message.KeyName)); var routingSlip = routingSlipBuilder.Build(); await bus.Execute(routingSlip); } } }