Files
TeleWave/backend/src/TeleWave.Application/Broadcast/BumperMusic/ClearBumperMusicCommandHandler.cs
T

30 lines
863 B
C#

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<ClearBumperMusicCommand, Result>
{
public async Task<Result> 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();
}
}