using LiteCqrs; using Microsoft.EntityFrameworkCore; using TeleWave.Application.Common.Interfaces; using TeleWave.Application.Common.Models; namespace TeleWave.Application.Broadcast.BumperMusic; public sealed class ClearBumperMusicCommandHandler( IAppDbContext dbContext, IBumperTemplateStorage storage ) : ICommandHandler { public async Task Handle( ClearBumperMusicCommand command, CancellationToken cancellationToken ) { var channel = await dbContext.Channels.FirstOrDefaultAsync( c => c.Id == command.ChannelId, cancellationToken ); if (channel is null) return Result.Failure(ChannelErrors.NotFound); channel.ClearBumperMusic(); storage.DeleteMusic(channel.Id); return Result.Success(); } }